You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
634 lines
21 KiB
634 lines
21 KiB
using System; |
|
using System.Collections; |
|
using System.Collections.Generic; |
|
using UnityEngine; |
|
using UnityEngine.UI; |
|
using AX.MessageSystem; |
|
using AX.NetworkSystem; |
|
using UnityEngine.AI; |
|
|
|
public class FireSpreadPanel : BaseAttributeSet { |
|
|
|
private static FireSpreadPanel instance; |
|
|
|
public static FireSpreadPanel Instance |
|
{ |
|
get |
|
{ |
|
if (instance == null) |
|
{ |
|
GameObject obj = Resources.Load<GameObject>("Common/FireSpreadPanel"); |
|
GameObject clone = Instantiate(obj, GameObject.Find("Canvas").transform); |
|
clone.transform.SetAsLastSibling(); |
|
clone.name = "FireSpreadPanel"; |
|
clone.transform.position = Vector3.zero; |
|
instance = clone.GetComponent<FireSpreadPanel>(); |
|
instance.Init(); |
|
} |
|
return instance; |
|
} |
|
} |
|
|
|
InputField combustibleInputField;//燃烧物输入框 |
|
Dropdown combustibleDropdown;//燃烧物选择下拉框 |
|
Toggle combustibleToggle;//燃烧物输入和选择之间的切换 |
|
|
|
Dropdown InitialSizeDropdown;//火源初始大小设置下来框 |
|
|
|
InputField firePostion;//位置 |
|
|
|
Toggle roadSpread;//路径蔓延 |
|
Toggle areSpread;//区域蔓延 |
|
public Toggle aroundSpread;//四周蔓延 |
|
Toggle aotoSpread;//自动蔓延 |
|
|
|
Dropdown spreadSpeedDropdown;//蔓延速度 |
|
|
|
public bool isLoad;//是否是加载而不是换选蔓延方式和重置 |
|
|
|
Button sure; |
|
Button Reset; |
|
|
|
void Init() |
|
{ |
|
combustibleInputField = transform.Find("Comburent/InputField").GetComponent<InputField>(); |
|
combustibleDropdown = transform.Find("Comburent/Dropdown").GetComponent<Dropdown>(); |
|
combustibleToggle = transform.Find("Comburent/Toggle").GetComponent<Toggle>(); |
|
|
|
firePostion = transform.Find("Position/InputField").GetComponent<InputField>(); |
|
|
|
InitialSizeDropdown = transform.Find("InitialSize/Dropdown").GetComponent<Dropdown>(); |
|
InitialSizeDropdown.onValueChanged.AddListener(InitialSizeSet); |
|
|
|
roadSpread = transform.Find("FireSpread/SpreadType/RoadSpread").GetComponent<Toggle>(); |
|
roadSpread.onValueChanged.AddListener(RoadSpreadSelected); |
|
areSpread = transform.Find("FireSpread/SpreadType/AreSpread").GetComponent<Toggle>(); |
|
areSpread.onValueChanged.AddListener(AreSpreadSelected); |
|
aroundSpread = transform.Find("FireSpread/SpreadType/AroundSpread").GetComponent<Toggle>(); |
|
aroundSpread.onValueChanged.AddListener(AroundSpreadSelected); |
|
aotoSpread = transform.Find("FireSpread/SpreadType/AotoSpread").GetComponent<Toggle>(); |
|
aotoSpread.onValueChanged.AddListener(AotoSpreadSelected); |
|
|
|
spreadSpeedDropdown = transform.Find("FireSpread/SpreadSpeed/Dropdown").GetComponent<Dropdown>(); |
|
|
|
sure = transform.Find("Sure").GetComponent<Button>(); |
|
Reset = transform.Find("Reset").GetComponent<Button>(); |
|
} |
|
|
|
public override void OnDisable() |
|
{ |
|
base.OnDisable(); |
|
Close(); |
|
} |
|
|
|
public override void OnDestroy() |
|
{ |
|
base.OnDestroy(); |
|
InitialSizeDropdown.onValueChanged.RemoveListener(InitialSizeSet); |
|
|
|
roadSpread.onValueChanged.RemoveListener(RoadSpreadSelected); |
|
areSpread.onValueChanged.RemoveListener(AreSpreadSelected); |
|
aroundSpread.onValueChanged.RemoveListener(AroundSpreadSelected); |
|
aotoSpread.onValueChanged.RemoveListener(AotoSpreadSelected); |
|
} |
|
|
|
private void LoadUIDisaster() |
|
{ |
|
if (GameSettings.othersSettings.isSelectedDisaster) |
|
{ |
|
if (GameSettings.othersSettings.mode != Mode.DisasterManagement) |
|
{//若是练习或演习模式进入导调组界面,则不可以修改 |
|
combustibleInputField.interactable = false; |
|
combustibleDropdown.interactable = false; |
|
combustibleToggle.interactable = false; |
|
firePostion.interactable = false; |
|
InitialSizeDropdown.interactable = false; |
|
roadSpread.interactable = false; |
|
areSpread.interactable = false; |
|
aroundSpread.interactable = false; |
|
aotoSpread.interactable = false; |
|
spreadSpeedDropdown.interactable = false; |
|
sure.interactable = false; |
|
Reset.interactable = false; |
|
|
|
//控制不能画蔓延范围 |
|
InputManager.skill = false; |
|
InputManager.cloneObjType = CloneObjType.None; |
|
} |
|
else |
|
{ |
|
if (!GameSettings.disasterSetting.isEdit) |
|
{//若是灾情库设置模式的查看,则不可以修改 |
|
combustibleInputField.interactable = false; |
|
combustibleDropdown.interactable = false; |
|
combustibleToggle.interactable = false; |
|
firePostion.interactable = false; |
|
InitialSizeDropdown.interactable = false; |
|
roadSpread.interactable = false; |
|
areSpread.interactable = false; |
|
aroundSpread.interactable = false; |
|
aotoSpread.interactable = false; |
|
spreadSpeedDropdown.interactable = false; |
|
sure.interactable = false; |
|
Reset.interactable = false; |
|
|
|
//控制不能画蔓延范围 |
|
InputManager.skill = false; |
|
InputManager.cloneObjType = CloneObjType.None; |
|
} |
|
else |
|
{ |
|
//若是灾情库设置模式的编辑,则可以修改 |
|
} |
|
} |
|
} |
|
} |
|
|
|
private void InitialSizeSet(int arg0) |
|
{ |
|
int selectedFireScale = int.Parse(InitialSizeDropdown.options[arg0].text.ToString()); |
|
MessageDispatcher.SendMessage(chooseObj.GetComponent<BaseGameObjInfo>().gameObjID, "FIRE_INITIALSIZE_SET", selectedFireScale); |
|
} |
|
|
|
private void RoadSpreadSelected(bool arg0) |
|
{ |
|
if (arg0) |
|
{ |
|
ResetSpreadPath(); |
|
|
|
spreadSpeedDropdown.interactable = true; |
|
|
|
MessageDispatcher.SendMessage("ROAD_SPREAD_SELECTED", arg0); |
|
|
|
CloneFireSpreadLine.instance.spreadedFireGameObjID = chooseObj.GetComponent<BaseGameObjInfo>().gameObjID; |
|
} |
|
else |
|
{ |
|
spreadSpeedDropdown.interactable = false; |
|
|
|
CloneFireSpreadLine.instance.startPoint = Vector3.zero; |
|
|
|
MessageDispatcher.SendMessage("ROAD_SPREAD_SELECTED", arg0); |
|
|
|
CloneFireSpreadLine.instance.spreadedFireGameObjID = -1; |
|
} |
|
} |
|
|
|
private void AreSpreadSelected(bool arg0) |
|
{ |
|
if (arg0) |
|
{ |
|
ResetSpreadPath(); |
|
|
|
spreadSpeedDropdown.interactable = true; |
|
|
|
MessageDispatcher.SendMessage("ARE_SPREAD_SELECTED", arg0); |
|
|
|
CloneFireSpreadLine.instance.spreadedFireGameObjID = chooseObj.GetComponent<BaseGameObjInfo>().gameObjID; |
|
} |
|
else |
|
{ |
|
spreadSpeedDropdown.interactable = false; |
|
|
|
CloneFireSpreadLine.instance.startPoint = Vector3.zero; |
|
|
|
MessageDispatcher.SendMessage("ARE_SPREAD_SELECTED", arg0); |
|
|
|
CloneFireSpreadLine.instance.spreadedFireGameObjID = -1; |
|
} |
|
} |
|
|
|
private void AroundSpreadSelected(bool arg0) |
|
{ |
|
if (arg0) |
|
{ |
|
ResetSpreadPath(); |
|
|
|
spreadSpeedDropdown.interactable = true; |
|
|
|
CloneFireSpreadLine.instance.startPoint = Vector3.zero; |
|
|
|
MessageDispatcher.SendMessage("AROUND_SPREAD_SELECTED", arg0); |
|
|
|
CloneFireSpreadLine.instance.spreadedFireGameObjID = chooseObj.GetComponent<BaseGameObjInfo>().gameObjID; |
|
} |
|
else |
|
{ |
|
spreadSpeedDropdown.interactable = false; |
|
|
|
CloneFireSpreadLine.instance.startPoint = Vector3.zero; |
|
|
|
MessageDispatcher.SendMessage("AROUND_SPREAD_SELECTED", arg0); |
|
|
|
CloneFireSpreadLine.instance.spreadedFireGameObjID = -1; |
|
} |
|
} |
|
|
|
private void AotoSpreadSelected(bool arg0) |
|
{ |
|
if (arg0) |
|
{ |
|
ResetSpreadPath(); |
|
|
|
spreadSpeedDropdown.interactable = true; |
|
|
|
MessageDispatcher.SendMessage("AOTO_SPREAD_SELECTED", arg0); |
|
|
|
CloneFireSpreadLine.instance.spreadedFireGameObjID = chooseObj.GetComponent<BaseGameObjInfo>().gameObjID; |
|
} |
|
else |
|
{ |
|
spreadSpeedDropdown.interactable = false; |
|
|
|
CloneFireSpreadLine.instance.startPoint = Vector3.zero; |
|
|
|
MessageDispatcher.SendMessage("AOTO_SPREAD_SELECTED", arg0); |
|
|
|
CloneFireSpreadLine.instance.spreadedFireGameObjID = -1; |
|
} |
|
} |
|
|
|
public override void OpenPanel() |
|
{ |
|
if (!GameSettings.othersSettings.isStartDrill) |
|
{ |
|
if (chooseObj.GetComponent<FireSpreadCtrl>().isSpreading) |
|
{ |
|
LoadPromptWin.Instance.LoadTextPromptWindow("蔓延过程中不能重新设置!", 1f); |
|
return; |
|
} |
|
} |
|
else |
|
{ |
|
LoadPromptWin.Instance.LoadTextPromptWindow("开始演练后不能设置!", 1f); |
|
return; |
|
} |
|
|
|
base.OpenPanel(); |
|
LoadUIDisaster(); |
|
gameObject.SetActive(true); |
|
} |
|
|
|
/// <summary> |
|
/// 打开火属性设置窗口时,加载数据 |
|
/// </summary> |
|
public override void LoadObjData() |
|
{ |
|
var fireSpreadCtrl = chooseObj.GetComponent<FireSpreadCtrl>(); |
|
|
|
//isLoad = true; |
|
|
|
InputManager.skill = true; |
|
InputManager.cloneObjType = CloneObjType.FireSpreadLine; |
|
CloneFireSpreadLine.instance.spreadedFireGameObjID = chooseObj.GetComponent<BaseGameObjInfo>().gameObjID; |
|
|
|
RefreshFireAttribute(fireSpreadCtrl); |
|
HideAllSpreadPath(); |
|
ShowSelectedFireSpreadPath(); |
|
} |
|
|
|
/// <summary> |
|
/// 刷新面板数据 |
|
/// </summary> |
|
/// <param name="fireSpreadCtrl"></param> |
|
private void RefreshFireAttribute(FireSpreadCtrl fireSpreadCtrl) |
|
{ |
|
combustibleToggle.isOn = fireSpreadCtrl.combustibleInputWay;//设置燃烧物的输入方式 |
|
|
|
var fireAttribute = fireSpreadCtrl.fireAttribute; |
|
|
|
if (!combustibleToggle.isOn) |
|
{ |
|
List<Dropdown.OptionData> options = combustibleDropdown.options; |
|
if (fireAttribute.comburent == "") |
|
{ |
|
combustibleDropdown.value = 0; |
|
} |
|
else |
|
{ |
|
for (int i = 0; i < options.Count; i++) |
|
{ |
|
if (options[i].text == fireAttribute.comburent) |
|
{ |
|
combustibleDropdown.value = i; |
|
break; |
|
} |
|
} |
|
} |
|
|
|
combustibleInputField.text = ""; |
|
} |
|
else |
|
{ |
|
combustibleInputField.text = fireAttribute.comburent; |
|
|
|
combustibleDropdown.value = 0; |
|
} |
|
|
|
firePostion.text = fireAttribute.position; |
|
|
|
List<Dropdown.OptionData> InitialSizeOptions = InitialSizeDropdown.options; |
|
if (fireAttribute.initialSize == 0) |
|
{ |
|
InitialSizeDropdown.value = 2; |
|
} |
|
else |
|
{ |
|
for (int i = 0; i < InitialSizeOptions.Count; i++) |
|
{ |
|
if (InitialSizeOptions[i].text == fireAttribute.initialSize.ToString()) |
|
{ |
|
InitialSizeDropdown.value = i; |
|
break; |
|
} |
|
} |
|
} |
|
|
|
if (!roadSpread.isOn && !areSpread.isOn && !aroundSpread.isOn && !aotoSpread.isOn) |
|
{ |
|
isLoad = true; |
|
} |
|
|
|
switch (fireAttribute.spreadWay) |
|
{ |
|
case SpreadWay.None: |
|
roadSpread.isOn = false; |
|
areSpread.isOn = false; |
|
aroundSpread.isOn = false; |
|
aotoSpread.isOn = false; |
|
break; |
|
case SpreadWay.Road: |
|
roadSpread.isOn = true; |
|
areSpread.isOn = false; |
|
aroundSpread.isOn = false; |
|
aotoSpread.isOn = false; |
|
break; |
|
case SpreadWay.Are: |
|
roadSpread.isOn = false; |
|
areSpread.isOn = true; |
|
aroundSpread.isOn = false; |
|
aotoSpread.isOn = false; |
|
break; |
|
case SpreadWay.Around: |
|
roadSpread.isOn = false; |
|
areSpread.isOn = false; |
|
aroundSpread.isOn = true; |
|
aotoSpread.isOn = false; |
|
break; |
|
case SpreadWay.Aoto: |
|
roadSpread.isOn = false; |
|
areSpread.isOn = false; |
|
aroundSpread.isOn = false; |
|
aotoSpread.isOn = true; |
|
break; |
|
default: |
|
break; |
|
} |
|
|
|
List<Dropdown.OptionData> speedOptions = spreadSpeedDropdown.options; |
|
if (fireAttribute.spreadSpeed == 0) |
|
{ |
|
spreadSpeedDropdown.value = 0; |
|
} |
|
else |
|
{ |
|
for (int i = 0; i < speedOptions.Count; i++) |
|
{ |
|
if (speedOptions[i].text == fireAttribute.spreadSpeed.ToString()) |
|
{ |
|
spreadSpeedDropdown.value = i; |
|
break; |
|
} |
|
} |
|
} |
|
|
|
CloneFireSpreadLine.instance.pathPoints.Clear(); |
|
foreach (Vector3 item in fireAttribute.pathPoints) |
|
{ |
|
CloneFireSpreadLine.instance.pathPoints.Add(item); |
|
} |
|
CloneFireSpreadLine.instance.currentPathPointsCount = CloneFireSpreadLine.instance.pathPoints.Count; |
|
|
|
if (CloneFireSpreadLine.instance.pathPoints.Count > 0) |
|
{ |
|
CloneFireSpreadLine.instance.startPoint = CloneFireSpreadLine.instance.pathPoints[CloneFireSpreadLine.instance.pathPoints.Count - 1]; |
|
} |
|
} |
|
|
|
|
|
public override void ResetData(GameObject dataObj) |
|
{ |
|
Cancel(); |
|
} |
|
|
|
/// <summary> |
|
/// 点击确定按钮 |
|
/// </summary> |
|
public void Confirm() |
|
{ |
|
if (roadSpread.isOn || areSpread.isOn || aroundSpread.isOn || aotoSpread.isOn) |
|
{ |
|
if (spreadSpeedDropdown.value == 0) |
|
{ |
|
string textPromptContent = "请选择蔓延速度!"; |
|
float stayTime = 1f; |
|
LoadPromptWin.Instance.LoadTextPromptWindow(textPromptContent, stayTime); |
|
return; |
|
} |
|
|
|
if (CloneFireSpreadLine.instance.pathPoints.Count == 0 || CloneFireSpreadLine.instance.pathPoints.Count == 1) |
|
{ |
|
string textPromptContent = "请设置蔓延路径或范围!"; |
|
float stayTime = 1f; |
|
LoadPromptWin.Instance.LoadTextPromptWindow(textPromptContent, stayTime); |
|
return; |
|
} |
|
|
|
if (areSpread.isOn || aroundSpread.isOn) |
|
{ |
|
if (CloneFireSpreadLine.instance.pathPoints.Count < 3) |
|
{ |
|
string textPromptContent = "没有形成多边形!"; |
|
float stayTime = 1f; |
|
LoadPromptWin.Instance.LoadTextPromptWindow(textPromptContent, stayTime); |
|
return; |
|
} |
|
} |
|
} |
|
|
|
var fireSpreadCtrl = chooseObj.GetComponent<FireSpreadCtrl>(); |
|
var fireAttribute = fireSpreadCtrl.fireAttribute; |
|
|
|
string comburent = ""; |
|
if (!combustibleToggle.isOn) |
|
{ |
|
comburent = combustibleDropdown.options[combustibleDropdown.value].text.ToString(); |
|
} |
|
else |
|
{ |
|
comburent = combustibleInputField.text; |
|
} |
|
|
|
fireAttribute.comburent = comburent; |
|
fireAttribute.position = firePostion.text; |
|
|
|
int selectedFireScale = int.Parse(InitialSizeDropdown.options[InitialSizeDropdown.value].text.ToString()); |
|
fireAttribute.initialSize = selectedFireScale; |
|
|
|
if (roadSpread.isOn) |
|
{ |
|
fireAttribute.spreadWay = SpreadWay.Road; |
|
} |
|
else if (areSpread.isOn) |
|
{ |
|
fireAttribute.spreadWay = SpreadWay.Are; |
|
} |
|
else if (aroundSpread.isOn) |
|
{ |
|
fireAttribute.spreadWay = SpreadWay.Around; |
|
} |
|
else if (aotoSpread.isOn) |
|
{ |
|
fireAttribute.spreadWay = SpreadWay.Aoto; |
|
} |
|
|
|
if (roadSpread.isOn || areSpread.isOn || aroundSpread.isOn || aotoSpread.isOn) |
|
{ |
|
string spreadSpeed = spreadSpeedDropdown.options[spreadSpeedDropdown.value].text.ToString(); |
|
fireAttribute.spreadSpeed = int.Parse(spreadSpeed); |
|
CloneFireSpreadLine.instance.SetPathPoints(fireAttribute.pathPoints); |
|
|
|
CloneFireSpreadLine.instance.currentPathPointsCount = fireAttribute.pathPoints.Count; |
|
|
|
fireSpreadCtrl.GetSpreadFirePositions(); |
|
} |
|
|
|
//火初始状态同步 |
|
if (GameSettings.othersSettings.mode!=Mode.DisasterManagement) |
|
{ |
|
FireOriginAttributeSyncData arg = new FireOriginAttributeSyncData(); |
|
arg.FireAttribute = fireAttribute; |
|
arg.SendUserID = CurrentUserInfo.mySelf.Id; |
|
arg.gameObjID = chooseObj.GetComponent<BaseGameObjInfo>().gameObjID; |
|
NetworkManager.Default.SendAsync("FIRE_ORIGINAL_ATTRIBUTE", arg); |
|
} |
|
gameObject.SetActive(false); |
|
} |
|
|
|
public void Close() |
|
{ |
|
HideAllSpreadPath(); |
|
|
|
CloneFireSpreadLine.instance.pathPoints.Clear(); |
|
|
|
InputManager.skill = false; |
|
InputManager.cloneObjType = CloneObjType.None; |
|
|
|
isLoad = false; |
|
|
|
gameObject.SetActive(false); |
|
} |
|
|
|
public void Cancel() |
|
{ |
|
HideAllSpreadPath(); |
|
|
|
//点击取消时执行删除不保存的路径点和已克隆出来的边。因确定而隐藏窗口调了Close()方法,但不执行删除。所以点击取消时单独封装个方法 |
|
CloneFireSpreadLine.instance.Cancel(); |
|
|
|
CloneFireSpreadLine.instance.pathPoints.Clear(); |
|
|
|
InputManager.skill = false; |
|
InputManager.cloneObjType = CloneObjType.None; |
|
|
|
isLoad = false; |
|
|
|
gameObject.SetActive(false); |
|
} |
|
|
|
/// <summary> |
|
/// 点击重置范围按钮 |
|
/// </summary> |
|
public void ResetSpreadPath() |
|
{ |
|
//重新初始化起始点 |
|
if (aroundSpread.isOn) |
|
{ |
|
CloneFireSpreadLine.instance.startPoint = Vector3.zero; |
|
} |
|
else |
|
{ |
|
RaycastHit hitDown; |
|
Physics.Raycast(chooseObj.transform.position, Vector3.down, out hitDown, Mathf.Infinity); |
|
NavMeshHit hit = new NavMeshHit(); |
|
bool isFindedPath = NavMesh.SamplePosition(hitDown.point, out hit, 0.5f, NavMesh.AllAreas); |
|
if (/*hitDown.transform.gameObject.layer == LayerMask.NameToLayer("CarRoad") |
|
|| hitDown.transform.gameObject.layer == LayerMask.NameToLayer("SoldierRoad")*/ |
|
isFindedPath) |
|
{ |
|
CloneFireSpreadLine.instance.startPoint = new Vector3(chooseObj.transform.position.x, |
|
hitDown.transform.position.y, |
|
chooseObj.transform.position.z); |
|
CloneFireSpreadLine.instance.pathPoints.Add(CloneFireSpreadLine.instance.startPoint); |
|
} |
|
} |
|
|
|
if (isLoad) |
|
{ |
|
isLoad = false; |
|
return; |
|
} |
|
|
|
CloneFireSpreadLine.instance.ResetSpreadPath(chooseObj.GetComponent<BaseGameObjInfo>().GameObjID); |
|
|
|
chooseObj.GetComponent<FireSpreadCtrl>().ResetSpreadPathsAndPoints(); |
|
|
|
DeleteSpreadedFire(chooseObj.transform.parent); |
|
|
|
//重置完后,初始化下一次蔓延范围的初始点 |
|
if (CloneFireSpreadLine.instance.pathPoints.Count == 0 |
|
&& !aroundSpread.isOn) |
|
{ |
|
RaycastHit hitDown; |
|
Physics.Raycast(chooseObj.transform.position, Vector3.down, out hitDown, Mathf.Infinity); |
|
NavMeshHit hit = new NavMeshHit(); |
|
bool isFindedPath = NavMesh.SamplePosition(hitDown.point, out hit, 0.5f, NavMesh.AllAreas); |
|
if (/*hitDown.transform.gameObject.layer == LayerMask.NameToLayer("CarRoad") |
|
|| hitDown.transform.gameObject.layer == LayerMask.NameToLayer("SoldierRoad")*/ |
|
isFindedPath) |
|
{ |
|
CloneFireSpreadLine.instance.startPoint = new Vector3(chooseObj.transform.position.x, |
|
hitDown.transform.position.y, |
|
chooseObj.transform.position.z); |
|
CloneFireSpreadLine.instance.pathPoints.Add(CloneFireSpreadLine.instance.startPoint); |
|
} |
|
} |
|
} |
|
|
|
private void DeleteSpreadedFire(Transform spreadedFireParent) |
|
{ |
|
foreach (Transform child in spreadedFireParent) |
|
{ |
|
if (child.GetComponent<SpreadedFireCtrl>() |
|
&& child.GetComponent<SpreadedFireCtrl>().fireGameObjID == chooseObj.GetComponent<BaseGameObjInfo>().gameObjID) |
|
{ |
|
EntitiesManager.Instance.DeleteObj(child.gameObject); |
|
} |
|
} |
|
} |
|
|
|
public void FireSpreadPreview() |
|
{ |
|
|
|
} |
|
|
|
private void HideAllSpreadPath() |
|
{ |
|
MessageDispatcher.SendMessage("HIDE_ALL_SPREADPATH"); |
|
} |
|
|
|
private void ShowSelectedFireSpreadPath() |
|
{ |
|
MessageDispatcher.SendMessage("SHOW_SELECTEDFIRE_SPREADPATH", chooseObj.GetComponent<BaseGameObjInfo>().GameObjID); |
|
} |
|
}
|
|
|