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.
827 lines
31 KiB
827 lines
31 KiB
4 years ago
|
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.收回举臂);
|
||
|
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;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
/// <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);
|
||
|
|
||
|
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;
|
||
|
}
|
||
|
}
|
||
|
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;
|
||
|
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;
|
||
|
}
|
||
|
}
|