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.
836 lines
32 KiB
836 lines
32 KiB
using AX.MessageSystem; |
|
using AX.NetworkSystem; |
|
using System; |
|
using System.Collections; |
|
using System.Collections.Generic; |
|
using UnityEngine; |
|
using UnityEngine.UI; |
|
|
|
public enum TruckSkills |
|
{ |
|
待命 = 0, |
|
下车, |
|
喷水, |
|
喷泡沫, |
|
固定支架, |
|
自动举臂, |
|
收回举臂, |
|
破拆, |
|
照明, |
|
排烟, |
|
拖车, |
|
充气, |
|
器材选择, |
|
供泡沫, |
|
供水, |
|
} |
|
|
|
public class TruckSkillPanelController : MonoBehaviour |
|
{ |
|
#region 技能按钮 |
|
[Rename("下车")] |
|
public ToggleRecordByAC GetDownTruck; |
|
[Rename("喷水")] |
|
public ToggleRecordByAC SprayWater; |
|
[Rename("喷泡沫")] |
|
public ToggleRecordByAC SprayFoam; |
|
[Rename("固定支架")] |
|
public ToggleRecordByAC FixSupport; |
|
[Rename("自动举臂")] |
|
public ToggleRecordByAC AutoLift; |
|
[Rename("收回举臂")] |
|
public ToggleRecordByAC BackSupport; |
|
[Rename("破拆")] |
|
public ToggleRecordByAC ForceEntry; |
|
[Rename("照明")] |
|
public ToggleRecordByAC Lighting; |
|
[Rename("排烟")] |
|
public ToggleRecordByAC EjectSmoke; |
|
[Rename("拖车")] |
|
public ToggleRecordByAC TrailCar; |
|
[Rename("充气")] |
|
public ToggleRecordByAC AirSupply; |
|
[Rename("器材选择")] |
|
public ToggleRecordByAC EquipmentSelection; |
|
[Rename("供泡沫")] |
|
public ToggleRecordByAC FoamSupply; |
|
[Rename("供水")] |
|
public ToggleRecordByAC WaterSupply; |
|
#endregion |
|
|
|
public static TruckSkillPanelController GetInstance; |
|
public TruckMessage NowBindTruck; |
|
private List<TruckSkills> SkillList; |
|
|
|
public LayWaterPanel laywaterpanel; |
|
|
|
private Transform LayWaterUI; |
|
void Awake() |
|
{ |
|
GetInstance = this; |
|
} |
|
void Start() |
|
{ |
|
if (laywaterpanel == null) |
|
{ |
|
laywaterpanel = GetComponent<LayWaterPanel>(); |
|
} |
|
LayWaterUI = transform.parent.Find("LayWaterPanel"); |
|
} |
|
void Update() |
|
{ |
|
//if (SelectedObjs.selectedObj != null && SelectedObjs.selectedObj.GetComponent<TruckMessage>() && |
|
// (NowBindTruck == null || NowBindTruck != SelectedObjs.selectedObj.GetComponent<TruckMessage>() |
|
// )) |
|
//{ |
|
// //Debug.Log("TruckSelectChanged"); |
|
// SkillBind(SelectedObjs.selectedObj.GetComponent<TruckMessage>()); |
|
//} |
|
} |
|
public void SkillBind(TruckMessage truck) |
|
{ |
|
if (NowBindTruck != truck) |
|
NowBindTruck = truck; |
|
BindSkill(NowBindTruck.MySkills, NowBindTruck.DisableSkills, NowBindTruck.NowSkill); |
|
if (NowBindTruck.GetComponent<TruckBindWaterSource>()) |
|
{ |
|
if (/*NowBindTruck.GetComponent<TruckBindWaterSource>().ConnectFoam||*/ |
|
NowBindTruck.GetComponent<TruckBindWaterSource>().ConnectWater) |
|
{ |
|
SprayWater.GetComponent<Toggle>().interactable = true; |
|
} |
|
else |
|
{ |
|
SprayWater.GetComponent<Toggle>().interactable = false; |
|
} |
|
if (NowBindTruck.GetComponent<TruckBindWaterSource>().ConnectFoam) |
|
{ |
|
SprayFoam.GetComponent<Toggle>().interactable = true; |
|
} |
|
else |
|
{ |
|
SprayFoam.GetComponent<Toggle>().interactable = false; |
|
} |
|
if (NowBindTruck.NowSkill == TruckSkills.喷水 || NowBindTruck.NowSkill == TruckSkills.喷泡沫) |
|
{ |
|
LayWaterUI.gameObject.SetActive(true); |
|
GetComponent<LayWaterPanel>().SetShowEnable(); |
|
} |
|
else |
|
{ |
|
LayWaterUI.gameObject.SetActive(false); |
|
} |
|
//if (NowBindTruck.NowSkill == TruckSkills.自动举臂) |
|
//{ |
|
// InputManager.skill = true; |
|
// InputManager.AutoArm = true; |
|
// CursorManager.GetInstance.SetAutoLiftArm(); |
|
//} |
|
} |
|
} |
|
#region 消防车技能处理 |
|
private void InitToggles() |
|
{ |
|
GetDownTruck.OutInterFaceToggle = GetDownTruckMethod; |
|
SprayWater.OutInterFaceToggle = SprayWaterMethod; |
|
SprayFoam.OutInterFaceToggle = SprayFoamMethod; |
|
FixSupport.OutInterFaceToggle = FixSupportMethod; |
|
//AutoLift.OutInterFaceToggle = AutoLiftMethod; |
|
BackSupport.OutInterFaceToggle = BackSupportMethod; |
|
ForceEntry.OutInterFaceToggle = ForceEntryMethod; |
|
Lighting.OutInterFaceToggle = LightingMethod; |
|
EjectSmoke.OutInterFaceToggle = EjectSmokeMethod; |
|
TrailCar.OutInterFaceToggle = TrailCarMethod; |
|
AirSupply.OutInterFaceToggle = AirSupplyMethod; |
|
EquipmentSelection.OutInterFaceToggle = EquipmentSelectionMethod; |
|
FoamSupply.OutInterFaceToggle = FoamSupplyMethod; |
|
WaterSupply.OutInterFaceToggle = WaterSupplyMethod; |
|
} |
|
/// <summary> |
|
/// 供水 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void WaterSupplyMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.供水; |
|
Debug.Log(TruckSkills.供水); |
|
} |
|
else |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.待命; |
|
} |
|
} |
|
/// <summary> |
|
/// 供泡沫 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void FoamSupplyMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.供泡沫; |
|
Debug.Log(TruckSkills.供泡沫); |
|
} |
|
else |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.待命; |
|
} |
|
} |
|
/// <summary> |
|
/// 装备选择 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void EquipmentSelectionMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.器材选择; |
|
Debug.Log(TruckSkills.器材选择); |
|
} |
|
else |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.待命; |
|
} |
|
} |
|
/// <summary> |
|
/// 充气 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void AirSupplyMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.充气; |
|
Debug.Log(TruckSkills.充气); |
|
} |
|
else |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.待命; |
|
} |
|
} |
|
/// <summary> |
|
/// 拖车 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void TrailCarMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.拖车; |
|
Debug.Log(TruckSkills.拖车); |
|
} |
|
else |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.待命; |
|
} |
|
} |
|
/// <summary> |
|
/// 排烟 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void EjectSmokeMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.排烟; |
|
Debug.Log(TruckSkills.排烟); |
|
} |
|
else |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.待命; |
|
} |
|
} |
|
/// <summary> |
|
/// 照明 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void LightingMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.照明; |
|
Debug.Log(TruckSkills.照明); |
|
} |
|
else |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.待命; |
|
} |
|
} |
|
/// <summary> |
|
/// 破拆 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void ForceEntryMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.破拆; |
|
Debug.Log(TruckSkills.破拆); |
|
} |
|
else |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.待命; |
|
} |
|
} |
|
/// <summary> |
|
/// 收回支架 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void BackSupportMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.收回举臂; |
|
Debug.Log(TruckSkills.收回举臂); |
|
InputManager.skill = false; |
|
SkillManager.Instance.ArmReset(SelectedObjs.selectedObj, ok); |
|
if (!NowBindTruck.DisableSkills.Contains(TruckSkills.收回举臂)) |
|
{ |
|
NowBindTruck.DisableSkills.Add(TruckSkills.收回举臂); |
|
BackSupport.GetComponent<Toggle>().interactable = false; |
|
BackSupport.GetComponent<Toggle>().isOn = false; |
|
} |
|
//if (!NowBindTruck.DisableSkills.Contains(TruckSkills.自动举臂)) |
|
//{ |
|
// NowBindTruck.DisableSkills.Add(TruckSkills.自动举臂); |
|
// AutoLift.GetComponent<Toggle>().interactable = false; |
|
// AutoLift.GetComponent<Toggle>().isOn = false; |
|
//} |
|
if (NowBindTruck.DisableSkills.Contains(TruckSkills.固定支架)) |
|
{ |
|
NowBindTruck.DisableSkills.Remove(TruckSkills.固定支架); |
|
FixSupport.GetComponent<Toggle>().interactable = true; |
|
} |
|
//NowBindTruck.GetComponent<ControlTruckArm>().ControlTruckArmFlag = false; |
|
// MessageDispatcher.SendMessage("PackUpTheLiftArm", NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjID); |
|
} |
|
} |
|
/// <summary> |
|
/// 自动举臂 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void AutoLiftMethod(bool ok) |
|
{ |
|
//if (ok) |
|
//{ |
|
// NowBindTruck.NowSkill = TruckSkills.自动举臂; |
|
// Debug.Log(TruckSkills.自动举臂); |
|
//} |
|
//else |
|
//{ |
|
// CursorManager.GetInstance.SetNormal(); |
|
// Debug.Log(TruckSkills.自动举臂 + "false"); |
|
//} |
|
//InputManager.AutoArm = ok; |
|
//InputManager.skill = ok; |
|
} |
|
/// <summary> |
|
/// 固定支架 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void FixSupportMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.固定支架; |
|
Debug.Log(TruckSkills.固定支架); |
|
//释放技能 |
|
SkillManager.Instance.Fixation(SelectedObjs.selectedObj, ok); |
|
InputManager.skill = true; |
|
//if (NowBindTruck.DisableSkills.Contains(TruckSkills.自动举臂)) |
|
//{ |
|
// NowBindTruck.DisableSkills.Remove(TruckSkills.自动举臂); |
|
// AutoLift.GetComponent<Toggle>().interactable = true; |
|
//} |
|
if (NowBindTruck.DisableSkills.Contains(TruckSkills.收回举臂)) |
|
{ |
|
NowBindTruck.DisableSkills.Remove(TruckSkills.收回举臂); |
|
BackSupport.GetComponent<Toggle>().interactable = true; |
|
} |
|
if (!NowBindTruck.DisableSkills.Contains(TruckSkills.固定支架)) |
|
{ |
|
NowBindTruck.DisableSkills.Add(TruckSkills.固定支架); |
|
FixSupport.GetComponent<Toggle>().interactable = false; |
|
FixSupport.GetComponent<Toggle>().isOn = false; |
|
} |
|
} |
|
//MessageDispatcher.SendMessage("FixedSupport",NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjID); |
|
//NowBindTruck.GetComponent<ControlTruckArm>().ControlTruckArmFlag = true; |
|
NowBindTruck.IsFixedSupport = ok; |
|
Debug.Log(NowBindTruck.name + NowBindTruck.IsFixedSupport); |
|
} |
|
/// <summary> |
|
/// 喷泡沫 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void SprayFoamMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
if (NowBindTruck.NowSkill == TruckSkills.喷泡沫) |
|
{ |
|
return; |
|
} |
|
float remain1 = NowBindTruck.GetComponent<TruckBindWaterSource>().checkWaterRemain(NowBindTruck.GetComponent<TruckBindWaterSource>().WaterSourceLine1); |
|
float remain2 = NowBindTruck.GetComponent<TruckBindWaterSource>().checkWaterRemain(NowBindTruck.GetComponent<TruckBindWaterSource>().WaterSourceLine2); |
|
if (!NowBindTruck.GetComponent<WaterSource>()) |
|
{//非水源车 |
|
if (!((remain1 > 0 || remain1 == -100) || (remain2 > 0 || remain2 == -100))) |
|
{//没有水 |
|
LoadPromptWin.Instance.LoadTextPromptWindow("剩余水量不足", 1f); |
|
return; |
|
} |
|
} |
|
else |
|
{//水源车 |
|
if (NowBindTruck.GetComponent<WaterSource>().HasWaterSelfAndLine == false) |
|
{ |
|
LoadPromptWin.Instance.LoadTextPromptWindow("剩余水量不足", 1f); |
|
return; |
|
} |
|
} |
|
float remianfoam = NowBindTruck.GetComponent<TruckBindWaterSource>().CheckFoamRemain(); |
|
if (!(remianfoam > 0 || remianfoam == -100)) |
|
{ |
|
LoadPromptWin.Instance.LoadTextPromptWindow("剩余泡沫量不足", 1f); |
|
return; |
|
} |
|
NowBindTruck.NowSkill = TruckSkills.喷泡沫; |
|
// Debug.Log(TruckSkills.喷泡沫); |
|
//NowBindTruck.GetComponent<TruckBindWaterSource>().Hose.gameObject.SetActive(true); |
|
laywaterpanel.laywater.gameObject.SetActive(true); |
|
NowBindTruck.GetComponent<TruckBindWaterSource>().SparyFoam(); |
|
laywaterpanel.SetShowEnable(); |
|
//MessageDispatcher.SendMessage("SPRAY_WATER", new flowchangeinfo() { IsAdd = true, ChangObjId = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjID }); |
|
|
|
//出水同步 |
|
SpraySyncData spraysync = new SpraySyncData(); |
|
spraysync.SendUserID = CurrentUserInfo.mySelf.Id; |
|
spraysync.spraytype = SprayParticleType.Froth; |
|
spraysync.IsOn = true; |
|
spraysync.size = NowBindTruck.GetComponentInChildren<ParticleControlOfType>(true).GetScaleValue(); |
|
spraysync.gameObjID = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjID; |
|
spraysync.UserID = NowBindTruck.GetComponent<BaseGameObjInfo>().UserID; |
|
spraysync.gameObjType = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjType; |
|
NetworkManager.Default.SendAsync("SPRAY_WATER_SYNC", spraysync); |
|
} |
|
else |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.待命; |
|
laywaterpanel.laywater.gameObject.SetActive(false); |
|
//laywaterpanel.SelectSparyObj = null; |
|
//NowBindTruck.GetComponent<TruckBindWaterSource>().Hose.gameObject.SetActive(false); |
|
NowBindTruck.GetComponent<TruckBindWaterSource>().StopSpray(); |
|
// MessageDispatcher.SendMessage("SPRAY_WATER", new flowchangeinfo() { IsAdd = false, ChangObjId = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjID }); |
|
if (NowBindTruck.GetComponent<TruckBindWaterSource>().Flow != 0) |
|
{ |
|
NowBindTruck.GetComponent<TruckBindWaterSource>().Flow = 0; |
|
} |
|
//出水同步 |
|
SpraySyncData spraysync = new SpraySyncData(); |
|
spraysync.SendUserID = CurrentUserInfo.mySelf.Id; |
|
spraysync.spraytype = SprayParticleType.Froth; |
|
spraysync.IsOn = false; |
|
//spraysync.size = NowBindTruck.GetComponentInChildren<ParticleControlOfType>(true).GetScaleValue(); |
|
spraysync.gameObjID = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjID; |
|
spraysync.UserID = NowBindTruck.GetComponent<BaseGameObjInfo>().UserID; |
|
spraysync.gameObjType = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjType; |
|
NetworkManager.Default.SendAsync(/*CurrentUserInfo.mySelf.Id,*/ "SPRAY_WATER_SYNC", spraysync); |
|
} |
|
} |
|
/// <summary> |
|
/// 喷水 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void SprayWaterMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
if (NowBindTruck.NowSkill == TruckSkills.喷水) |
|
{ |
|
return; |
|
} |
|
|
|
if (NowBindTruck.GetComponent<TruckBindWaterSource>()) |
|
{ |
|
//if (NowBindTruck.GetComponent<TruckBindWaterSource>().waterrunoutof) |
|
//{ |
|
// LoadPromptWin.Instance.LoadTextPromptWindow("剩余水量不足",1f); |
|
// return; |
|
//} |
|
////Todo:多水源 |
|
//if (NowBindTruck.GetComponent<TruckBindWaterSource>().ConnentWaterSource.GetComponent<WaterSource>().hasover) |
|
//{ |
|
// LoadPromptWin.Instance.LoadTextPromptWindow("剩余水量不足", 1f); |
|
// return; |
|
//} |
|
float remain1 = NowBindTruck.GetComponent<TruckBindWaterSource>().checkWaterRemain(NowBindTruck.GetComponent<TruckBindWaterSource>().WaterSourceLine1); |
|
float remain2 = NowBindTruck.GetComponent<TruckBindWaterSource>().checkWaterRemain(NowBindTruck.GetComponent<TruckBindWaterSource>().WaterSourceLine2); |
|
if (!NowBindTruck.GetComponent<WaterSource>()) |
|
{//非水源车 |
|
if (!((remain1 > 0 || remain1 == -100) || (remain2 > 0 || remain2 == -100))) |
|
{//没有水 |
|
LoadPromptWin.Instance.LoadTextPromptWindow("剩余水量不足", 1f); |
|
return; |
|
} |
|
} |
|
else |
|
{//水源车 |
|
if (NowBindTruck.GetComponent<WaterSource>().HasWaterSelfAndLine == false) |
|
{ |
|
LoadPromptWin.Instance.LoadTextPromptWindow("剩余水量不足", 1f); |
|
return; |
|
} |
|
} |
|
NowBindTruck.NowSkill = TruckSkills.喷水; |
|
//NowBindTruck.GetComponent<TruckBindWaterSource>().Hose.gameObject.SetActive(true); |
|
laywaterpanel.laywater.gameObject.SetActive(true); |
|
|
|
//laywaterpanel.SelectSparyObj = NowBindTruck.gameObject; |
|
NowBindTruck.GetComponent<TruckBindWaterSource>().SparyWater(); |
|
laywaterpanel.SetShowEnable(); |
|
|
|
//MessageDispatcher.SendMessage("SPRAY_WATER", new flowchangeinfo() { IsAdd = true, ChangObjId = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjID }); |
|
//出水同步 |
|
SpraySyncData spraysync = new SpraySyncData(); |
|
spraysync.SendUserID = CurrentUserInfo.mySelf.Id; |
|
spraysync.spraytype = SprayParticleType.WaterStraight; |
|
spraysync.IsOn = true; |
|
spraysync.size = NowBindTruck.GetComponentInChildren<ParticleControlOfType>(true).GetScaleValue(); |
|
spraysync.gameObjID = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjID; |
|
spraysync.UserID = NowBindTruck.GetComponent<BaseGameObjInfo>().UserID; |
|
spraysync.gameObjType = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjType; |
|
NetworkManager.Default.SendAsync(/*CurrentUserInfo.mySelf.Id,*/ "SPRAY_WATER_SYNC", spraysync); |
|
} |
|
} |
|
else |
|
{ |
|
laywaterpanel.laywater.gameObject.SetActive(false); |
|
//laywaterpanel.SelectSparyObj = null; |
|
//NowBindTruck.GetComponent<TruckBindWaterSource>().Hose.gameObject.SetActive(false); |
|
NowBindTruck.GetComponent<TruckBindWaterSource>().StopSpray(); |
|
NowBindTruck.NowSkill = TruckSkills.待命; |
|
if (NowBindTruck.GetComponent<TruckBindWaterSource>().Flow != 0) |
|
{ |
|
NowBindTruck.GetComponent<TruckBindWaterSource>().Flow = 0; |
|
} |
|
//MessageDispatcher.SendMessage("SPRAY_WATER", new flowchangeinfo() { IsAdd = false, ChangObjId = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjID }); |
|
|
|
//出水同步 |
|
SpraySyncData spraysync = new SpraySyncData(); |
|
spraysync.SendUserID = CurrentUserInfo.mySelf.Id; |
|
spraysync.spraytype = SprayParticleType.WaterStraight; |
|
spraysync.IsOn = false; |
|
// spraysync.size = NowBindTruck.GetComponentInChildren<ParticleControlOfType>(true).GetScaleValue(); |
|
spraysync.gameObjID = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjID; |
|
spraysync.UserID = NowBindTruck.GetComponent<BaseGameObjInfo>().UserID; |
|
spraysync.gameObjType = NowBindTruck.GetComponent<BaseGameObjInfo>().gameObjType; |
|
NetworkManager.Default.SendAsync(/*CurrentUserInfo.mySelf.Id,*/ "SPRAY_WATER_SYNC", spraysync); |
|
} |
|
} |
|
/// <summary> |
|
/// 下车 |
|
/// </summary> |
|
/// <param name="ok"></param> |
|
private void GetDownTruckMethod(bool ok) |
|
{ |
|
if (ok) |
|
{ |
|
//NowBindTruck.NowSkill = TruckSkills.下车; |
|
Debug.Log(TruckSkills.下车); |
|
SkillManager.Instance.GetOff(SelectedObjs.selectedObj); |
|
} |
|
else |
|
{ |
|
NowBindTruck.NowSkill = TruckSkills.待命; |
|
} |
|
} |
|
#endregion |
|
private void BindSkill(List<TruckSkills> AllSkills, List<TruckSkills> DisableSkills, TruckSkills NowSkill) |
|
{ |
|
#region 消防车技能栏隐藏 |
|
GetDownTruck.gameObject.SetActive(false); |
|
SprayWater.gameObject.SetActive(false); |
|
SprayFoam.gameObject.SetActive(false); |
|
FixSupport.gameObject.SetActive(false); |
|
AutoLift.gameObject.SetActive(false); |
|
BackSupport.gameObject.SetActive(false); |
|
ForceEntry.gameObject.SetActive(false); |
|
Lighting.gameObject.SetActive(false); |
|
EjectSmoke.gameObject.SetActive(false); |
|
TrailCar.gameObject.SetActive(false); |
|
AirSupply.gameObject.SetActive(false); |
|
EquipmentSelection.gameObject.SetActive(false); |
|
FoamSupply.gameObject.SetActive(false); |
|
WaterSupply.gameObject.SetActive(false); |
|
|
|
GetDownTruck.GetComponent<Toggle>().isOn = false; |
|
SprayWater.GetComponent<Toggle>().isOn = false; |
|
SprayFoam.GetComponent<Toggle>().isOn = false; |
|
FixSupport.GetComponent<Toggle>().isOn = false; |
|
// AutoLift.GetComponent<Toggle>().isOn = false; |
|
BackSupport.GetComponent<Toggle>().isOn = false; |
|
ForceEntry.GetComponent<Toggle>().isOn = false; |
|
Lighting.GetComponent<Toggle>().isOn = false; |
|
EjectSmoke.GetComponent<Toggle>().isOn = false; |
|
TrailCar.GetComponent<Toggle>().isOn = false; |
|
AirSupply.GetComponent<Toggle>().isOn = false; |
|
EquipmentSelection.GetComponent<Toggle>().isOn = false; |
|
FoamSupply.GetComponent<Toggle>().isOn = false; |
|
WaterSupply.GetComponent<Toggle>().isOn = false; |
|
|
|
GetDownTruck.GetComponent<Toggle>().interactable = true; |
|
SprayWater.GetComponent<Toggle>().interactable = true; |
|
SprayFoam.GetComponent<Toggle>().interactable = true; |
|
FixSupport.GetComponent<Toggle>().interactable = true; |
|
//AutoLift.GetComponent<Toggle>().interactable = true; |
|
BackSupport.GetComponent<Toggle>().interactable = true; |
|
ForceEntry.GetComponent<Toggle>().interactable = true; |
|
Lighting.GetComponent<Toggle>().interactable = true; |
|
EjectSmoke.GetComponent<Toggle>().interactable = true; |
|
TrailCar.GetComponent<Toggle>().interactable = true; |
|
AirSupply.GetComponent<Toggle>().interactable = true; |
|
EquipmentSelection.GetComponent<Toggle>().interactable = true; |
|
FoamSupply.GetComponent<Toggle>().interactable = true; |
|
WaterSupply.GetComponent<Toggle>().interactable = true; |
|
#endregion |
|
#region 消防车技能栏显示 |
|
foreach (var item in AllSkills) |
|
{ |
|
switch (item) |
|
{ |
|
case TruckSkills.下车: |
|
GetDownTruck.gameObject.SetActive(true); |
|
break; |
|
case TruckSkills.喷水: |
|
SprayWater.gameObject.SetActive(true); |
|
break; |
|
case TruckSkills.喷泡沫: |
|
SprayFoam.gameObject.SetActive(true); |
|
break; |
|
case TruckSkills.固定支架: |
|
FixSupport.gameObject.SetActive(true); |
|
break; |
|
//case TruckSkills.自动举臂: |
|
// AutoLift.gameObject.SetActive(true); |
|
// break; |
|
case TruckSkills.收回举臂: |
|
BackSupport.gameObject.SetActive(true); |
|
break; |
|
case TruckSkills.破拆: |
|
ForceEntry.gameObject.SetActive(true); |
|
break; |
|
case TruckSkills.照明: |
|
Lighting.gameObject.SetActive(true); |
|
break; |
|
case TruckSkills.排烟: |
|
EjectSmoke.gameObject.SetActive(true); |
|
break; |
|
case TruckSkills.拖车: |
|
TrailCar.gameObject.SetActive(true); |
|
break; |
|
case TruckSkills.充气: |
|
AirSupply.gameObject.SetActive(true); |
|
break; |
|
case TruckSkills.器材选择: |
|
EquipmentSelection.gameObject.SetActive(true); |
|
break; |
|
case TruckSkills.供泡沫: |
|
FoamSupply.gameObject.SetActive(true); |
|
break; |
|
case TruckSkills.供水: |
|
WaterSupply.gameObject.SetActive(true); |
|
break; |
|
default: break; |
|
} |
|
|
|
} |
|
#endregion |
|
#region 消防车技能栏禁用 |
|
foreach (var dis in DisableSkills) |
|
{ |
|
switch (dis) |
|
{ |
|
case TruckSkills.下车: |
|
GetDownTruck.GetComponent<Toggle>().interactable = false; |
|
break; |
|
case TruckSkills.喷水: |
|
SprayWater.GetComponent<Toggle>().interactable = false; |
|
break; |
|
case TruckSkills.喷泡沫: |
|
SprayFoam.GetComponent<Toggle>().interactable = false; |
|
break; |
|
case TruckSkills.固定支架: |
|
FixSupport.GetComponent<Toggle>().interactable = false; |
|
//固定支架禁用的情况即为举臂状态 |
|
if (InputManager.skill==false) |
|
{ |
|
InputManager.skill = true; |
|
} |
|
break; |
|
//case TruckSkills.自动举臂: |
|
// AutoLift.GetComponent<Toggle>().interactable = false; |
|
// break; |
|
case TruckSkills.收回举臂: |
|
BackSupport.GetComponent<Toggle>().interactable = false; |
|
break; |
|
case TruckSkills.破拆: |
|
ForceEntry.GetComponent<Toggle>().interactable = false; |
|
break; |
|
case TruckSkills.照明: |
|
Lighting.GetComponent<Toggle>().interactable = false; |
|
break; |
|
case TruckSkills.排烟: |
|
EjectSmoke.GetComponent<Toggle>().interactable = false; |
|
break; |
|
case TruckSkills.拖车: |
|
TrailCar.GetComponent<Toggle>().interactable = false; |
|
break; |
|
case TruckSkills.充气: |
|
AirSupply.GetComponent<Toggle>().interactable = false; |
|
break; |
|
case TruckSkills.器材选择: |
|
EquipmentSelection.GetComponent<Toggle>().interactable = false; |
|
break; |
|
case TruckSkills.供泡沫: |
|
FoamSupply.GetComponent<Toggle>().interactable = false; |
|
break; |
|
case TruckSkills.供水: |
|
WaterSupply.GetComponent<Toggle>().interactable = false; |
|
break; |
|
default: break; |
|
} |
|
} |
|
#endregion |
|
InitToggles(); |
|
#region 消防车技绑定当前 |
|
|
|
switch (NowSkill) |
|
{ |
|
case TruckSkills.下车: |
|
GetDownTruck.GetComponent<Toggle>().isOn = true; |
|
break; |
|
case TruckSkills.喷水: |
|
SprayWater.GetComponent<Toggle>().isOn = true; |
|
break; |
|
case TruckSkills.喷泡沫: |
|
SprayFoam.GetComponent<Toggle>().isOn = true; |
|
break; |
|
case TruckSkills.固定支架: |
|
FixSupport.GetComponent<Toggle>().isOn = true; |
|
break; |
|
//case TruckSkills.自动举臂: |
|
// AutoLift.GetComponent<Toggle>().isOn = true; |
|
// break; |
|
case TruckSkills.收回举臂: |
|
//BackSupport.GetComponent<Toggle>().isOn = true; |
|
break; |
|
case TruckSkills.破拆: |
|
ForceEntry.GetComponent<Toggle>().isOn = true; |
|
break; |
|
case TruckSkills.照明: |
|
Lighting.GetComponent<Toggle>().isOn = true; |
|
break; |
|
case TruckSkills.排烟: |
|
EjectSmoke.GetComponent<Toggle>().isOn = true; |
|
break; |
|
case TruckSkills.拖车: |
|
TrailCar.GetComponent<Toggle>().isOn = true; |
|
break; |
|
case TruckSkills.充气: |
|
AirSupply.GetComponent<Toggle>().isOn = true; |
|
break; |
|
case TruckSkills.器材选择: |
|
EquipmentSelection.GetComponent<Toggle>().isOn = true; |
|
break; |
|
case TruckSkills.供泡沫: |
|
FoamSupply.GetComponent<Toggle>().isOn = true; |
|
break; |
|
case TruckSkills.供水: |
|
WaterSupply.GetComponent<Toggle>().isOn = true; |
|
break; |
|
default: break; |
|
} |
|
|
|
#endregion |
|
} |
|
|
|
public List<TruckSkills> GetTruckSkills(CloneObjType CarType) |
|
{ |
|
List<TruckSkills> resultList = null; |
|
#region 消防车技能加载判断 |
|
switch (CarType) |
|
{ |
|
case CloneObjType.WaterTanker: |
|
resultList = new List<TruckSkills>() |
|
{ |
|
TruckSkills.下车, TruckSkills.喷水,TruckSkills.供水 |
|
}; |
|
break; |
|
case CloneObjType.FoamTruck: |
|
resultList = new List<TruckSkills>() |
|
{ |
|
TruckSkills.下车, TruckSkills.喷泡沫,TruckSkills.供泡沫, |
|
TruckSkills.喷水, |
|
TruckSkills.供水 |
|
}; |
|
break; |
|
case CloneObjType.HighSprayingTruck: |
|
case CloneObjType.LadderTruck: |
|
case CloneObjType.AerialTowerTruck: |
|
resultList = new List<TruckSkills>() |
|
{ |
|
TruckSkills.下车, TruckSkills.喷水,TruckSkills.喷泡沫, |
|
TruckSkills.固定支架,/*TruckSkills.自动举臂,*/TruckSkills.收回举臂, |
|
}; |
|
break; |
|
case CloneObjType.SmokeExhaustTruck: |
|
resultList = new List<TruckSkills>() |
|
{ |
|
TruckSkills.下车, |
|
//TruckSkills.排烟 |
|
}; |
|
break; |
|
case CloneObjType.RescueVehicle: |
|
resultList = new List<TruckSkills>() |
|
{ |
|
TruckSkills.下车, |
|
//TruckSkills.拖车 |
|
}; |
|
break; |
|
case CloneObjType.LightingAppliance: |
|
resultList = new List<TruckSkills>() |
|
{ |
|
TruckSkills.下车, |
|
//TruckSkills.照明 |
|
}; |
|
break; |
|
case CloneObjType.Apparatus: |
|
resultList = new List<TruckSkills>() |
|
{ |
|
TruckSkills.下车, |
|
//TruckSkills.器材选择 |
|
}; |
|
break; |
|
case CloneObjType.AirSupplyTruck: |
|
resultList = new List<TruckSkills>() |
|
{ |
|
TruckSkills.下车, |
|
//TruckSkills.充气 |
|
}; |
|
break; |
|
case CloneObjType.ForcibleEntryTruck: |
|
resultList = new List<TruckSkills>() |
|
{ |
|
TruckSkills.下车, |
|
//TruckSkills.破拆, |
|
//TruckSkills.固定支架,TruckSkills.自动举臂,TruckSkills.收回举臂, |
|
}; |
|
break; |
|
} |
|
#endregion |
|
return resultList; |
|
} |
|
}
|
|
|