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.
613 lines
22 KiB
613 lines
22 KiB
4 years ago
|
using AX.InputSystem;
|
||
|
using AX.MessageSystem;
|
||
|
using System;
|
||
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
using UnityEngine.AI;
|
||
|
using UnityEngine.UI;
|
||
|
|
||
|
public enum FireManSkills
|
||
|
{
|
||
|
None = 0,
|
||
|
LayWaterHose = 1 << 1,
|
||
|
LayLifeSavingFlarePath = 1 << 2,
|
||
|
SprayWater = 1 << 3,
|
||
|
SprayFoam = 1 << 4,
|
||
|
ForcibleEntry = 1 << 5,
|
||
|
DischargeSmoke = 1 << 6,
|
||
|
Lighting = 1 << 7,
|
||
|
PackUpLine = 1 << 8,
|
||
|
TagSearchRoom = 1 << 9,
|
||
|
EquipSelect = 1 << 10,
|
||
|
Save = 1 << 11,
|
||
|
AskPeople = 1 << 12,
|
||
|
ClearDangerous = 1 << 13,
|
||
|
ClearSundries = 1 << 14,
|
||
|
Decontamination = 1 << 15
|
||
|
}
|
||
|
public class FireManMessage : MonoBehaviour
|
||
|
{
|
||
|
public FireManSkills workType;//记录是喷水还是照明等
|
||
|
public FireManSkills EnabledSkills;
|
||
|
//public ParticleEnum waterType;//记录喷水方式
|
||
|
private GameObject shuiqiang;
|
||
|
private GameObject wuchiju;
|
||
|
private GameObject zhaomingdeng;
|
||
|
private GameObject panyanji;
|
||
|
private Bag bag;
|
||
|
private XiaoFangYuanDrawLine drawline;
|
||
|
private long GameObjID;
|
||
|
private bool flag;//是否连接水源
|
||
|
void Awake()
|
||
|
{
|
||
|
wuchiju = TransformHelper.FindChild(transform, "WuChiJu").gameObject;
|
||
|
zhaomingdeng = TransformHelper.FindChild(transform, "ZhaoMingDeng").gameObject;
|
||
|
panyanji = TransformHelper.FindChild(transform, "PaiYanJi").gameObject;
|
||
|
MessageDispatcher.AddListener("WaterSourceChanged", WaterSourceChanged);
|
||
|
MessageDispatcher.AddListener("WaterSeparaterChange", WaterseparadChange);
|
||
|
MessageDispatcher.AddListener("LayWaterHose", LayWaterHose);
|
||
|
MessageDispatcher.AddListener("LayLifeSavingFlarePath", LayLifeSavingFlarePath);
|
||
|
MessageDispatcher.AddListener("ForcibleEntry", ForcibleEntry);
|
||
|
MessageDispatcher.AddListener("DischargeSmoke", DischargeSmoke);
|
||
|
MessageDispatcher.AddListener("Lighting", Lightingfunc);
|
||
|
MessageDispatcher.AddListener("Save", Save);
|
||
|
MessageDispatcher.AddListener("PackUpLine", PackUpLine);
|
||
|
MessageDispatcher.AddListener("TagSearchRoom", TagSearchRoom);
|
||
|
MessageDispatcher.AddListener("EquipSelect", EquipSelectfunc);
|
||
|
MessageDispatcher.AddListener("SprayWater", SprayWater);
|
||
|
MessageDispatcher.AddListener("SprayFoam", SprayFoam);
|
||
|
// MessageDispatcher.AddListener("BagChaneg", BagChange);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
void OnDestroy()
|
||
|
{
|
||
|
MessageDispatcher.RemoveListener("WaterSourceChanged", WaterSourceChanged);
|
||
|
MessageDispatcher.RemoveListener("WaterSeparaterChange", WaterseparadChange);
|
||
|
MessageDispatcher.RemoveListener("LayWaterHose", LayWaterHose);
|
||
|
MessageDispatcher.RemoveListener("LayLifeSavingFlarePath", LayLifeSavingFlarePath);
|
||
|
MessageDispatcher.RemoveListener("ForcibleEntry", ForcibleEntry);
|
||
|
MessageDispatcher.RemoveListener("DischargeSmoke", DischargeSmoke);
|
||
|
MessageDispatcher.RemoveListener("Lighting", Lightingfunc);
|
||
|
MessageDispatcher.RemoveListener("Save", Save);
|
||
|
MessageDispatcher.RemoveListener("PackUpLine", PackUpLine);
|
||
|
MessageDispatcher.RemoveListener("TagSearchRoom", TagSearchRoom);
|
||
|
MessageDispatcher.RemoveListener("EquipSelect", EquipSelectfunc);
|
||
|
MessageDispatcher.RemoveListener("SprayWater", SprayWater);
|
||
|
MessageDispatcher.RemoveListener("SprayFoam", SprayFoam);
|
||
|
|
||
|
//MessageDispatcher.RemoveListener("BagChaneg", BagChange);
|
||
|
}
|
||
|
|
||
|
private void WaterseparadChange(IMessage obj)
|
||
|
{
|
||
|
if (GetComponent<WaterReceiver>())
|
||
|
{
|
||
|
Waterseparadata waterdata = (Waterseparadata)obj.Data;
|
||
|
|
||
|
if (waterdata.receiveId == GameObjID)
|
||
|
{
|
||
|
|
||
|
flag = waterdata.IsContent;
|
||
|
int type = (int)waterdata.watertype;
|
||
|
if (type==0)
|
||
|
{
|
||
|
flag = false;
|
||
|
if (workType == FireManSkills.SprayWater || workType == FireManSkills.Decontamination)
|
||
|
{
|
||
|
workType = FireManSkills.None;
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
MessageDispatcher.SendMessage(GameObjID, "WaterSwitch", flag);
|
||
|
GetComponent<XiaoFangYuanDrawLine>().EndDraw();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((EnabledSkills & FireManSkills.SprayWater) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
}
|
||
|
if ((EnabledSkills & FireManSkills.Decontamination) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (type == 1)//普通水
|
||
|
{
|
||
|
if (flag)
|
||
|
{
|
||
|
EnabledSkills |= FireManSkills.SprayWater;
|
||
|
EnabledSkills |= FireManSkills.Decontamination;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (workType == FireManSkills.SprayWater || workType == FireManSkills.Decontamination)
|
||
|
{
|
||
|
workType = FireManSkills.None;
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
MessageDispatcher.SendMessage(GameObjID, "WaterSwitch", flag);
|
||
|
GetComponent<XiaoFangYuanDrawLine>().EndDraw();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((EnabledSkills & FireManSkills.SprayWater) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
}
|
||
|
if ((EnabledSkills & FireManSkills.Decontamination) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (type == 2)//泡沫
|
||
|
{
|
||
|
if (flag)
|
||
|
EnabledSkills |= FireManSkills.SprayFoam;
|
||
|
else
|
||
|
{
|
||
|
workType = FireManSkills.None;
|
||
|
if ((EnabledSkills & FireManSkills.SprayFoam) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayFoam;
|
||
|
}
|
||
|
MessageDispatcher.SendMessage(GetComponent<CloneGameObjInfo>().gameObjID, "WaterSwitch", flag);
|
||
|
GetComponent<XiaoFangYuanDrawLine>().EndDraw();
|
||
|
}
|
||
|
}
|
||
|
if (type == 3)//有水也有泡沫
|
||
|
{
|
||
|
if (flag)
|
||
|
{
|
||
|
EnabledSkills |= FireManSkills.SprayWater;
|
||
|
EnabledSkills |= FireManSkills.Decontamination;
|
||
|
EnabledSkills |= FireManSkills.SprayFoam;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (workType == FireManSkills.SprayWater || workType == FireManSkills.Decontamination || workType == FireManSkills.SprayFoam)
|
||
|
{
|
||
|
workType = FireManSkills.None;
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
EnabledSkills &= ~FireManSkills.SprayFoam;
|
||
|
|
||
|
MessageDispatcher.SendMessage(GameObjID, "WaterSwitch", flag);
|
||
|
GetComponent<XiaoFangYuanDrawLine>().EndDraw();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((EnabledSkills & FireManSkills.SprayWater) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
}
|
||
|
if ((EnabledSkills & FireManSkills.Decontamination) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
}
|
||
|
if ((EnabledSkills & FireManSkills.SprayFoam) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayFoam;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
SprayChangeMove(flag);
|
||
|
if (!RecordEvent.IsReplay())
|
||
|
{
|
||
|
if (this != null && FireManSkillsPanel.GetInstance != null && FireManSkillsPanel.GetInstance.gameObject.activeSelf)
|
||
|
MessageDispatcher.SendMessage("FiremanSkillsPanelDraw", gameObject);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void Start()
|
||
|
{
|
||
|
GameObjID = GetComponent<CloneGameObjInfo>().gameObjID;
|
||
|
bag = GetComponent<Bag>();
|
||
|
drawline = GetComponent<XiaoFangYuanDrawLine>();
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// 背包装备更改导致技能是否可用(破拆.照明.排烟)
|
||
|
/// </summary>
|
||
|
/// <param name="obj"></param>
|
||
|
|
||
|
private void EquipSelectfunc(IMessage obj)
|
||
|
{
|
||
|
EquipSelect.GetInstance.gameObject.SetActive(true);
|
||
|
BagPanel.GetInstance.gameObject.SetActive(true);
|
||
|
}
|
||
|
|
||
|
private void TagSearchRoom(IMessage obj)
|
||
|
{
|
||
|
if (SelectedObjs.selectedCharacters.Count > 0 && gameObject == SelectedObjs.selectedCharacters[0])
|
||
|
{
|
||
|
var arg = new CloneCmdArgs();
|
||
|
arg.cloneObjType = CloneObjType.MarkSearchRoom;
|
||
|
arg.hitPos = transform.position;
|
||
|
arg.gameObjID = GameObjID;
|
||
|
MessageDispatcher.SendMessage(EntitiesManager.Instance.CreateObjID(), "CLONE_COMMAND", arg);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void PackUpLine(IMessage obj)
|
||
|
{
|
||
|
if (SelectedObjs.selectedCharacters.Count > 0 && gameObject == SelectedObjs.selectedCharacters[0])
|
||
|
{
|
||
|
drawline.destoryLine();
|
||
|
GetComponent<NavMeshAgent>().enabled = true;
|
||
|
GetComponent<AgentController>().enabled = true;
|
||
|
|
||
|
if ((EnabledSkills & FireManSkills.SprayWater) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
}
|
||
|
|
||
|
if ((EnabledSkills & FireManSkills.Decontamination) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
}
|
||
|
if ((EnabledSkills & FireManSkills.SprayFoam) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayFoam;
|
||
|
}
|
||
|
MessageDispatcher.SendMessage("FiremanSkillsPanelDraw", gameObject);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
private void Save(IMessage obj)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
private void Lightingfunc(IMessage obj)
|
||
|
{
|
||
|
var gameObjID = (long)obj.Sender;
|
||
|
if (GameObjID == gameObjID)
|
||
|
{
|
||
|
Lighting((bool)obj.Data);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void DischargeSmoke(IMessage obj)
|
||
|
{
|
||
|
var gameObjID = (long)obj.Sender;
|
||
|
if (GameObjID == gameObjID)
|
||
|
{
|
||
|
DischargeSmoke((bool)obj.Data);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void ForcibleEntry(IMessage obj)
|
||
|
{
|
||
|
var gameObjID = (long)obj.Sender;
|
||
|
if (GameObjID == gameObjID)
|
||
|
{
|
||
|
Debug.Log(obj.Type.ToString());
|
||
|
ForcibleEntry((bool)obj.Data);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void LayLifeSavingFlarePath(IMessage obj)
|
||
|
{
|
||
|
if (GameObjID == (long)obj.Sender)
|
||
|
{
|
||
|
bool value = (bool)obj.Data;
|
||
|
if (value)
|
||
|
drawline.setLine();
|
||
|
else
|
||
|
{
|
||
|
drawline.EndDraw();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
private void SprayWater(IMessage obj)
|
||
|
{
|
||
|
if (GameObjID == (long)obj.Sender)
|
||
|
{
|
||
|
bool value = (bool)obj.Data;
|
||
|
if (value)
|
||
|
{
|
||
|
drawline.setLine();
|
||
|
if (GetComponent<Bag>().GetEquipNum("消防高压水带") >= 1)
|
||
|
{
|
||
|
GetComponent<NavMeshAgent>().enabled = true;
|
||
|
GetComponent<AgentController>().enabled = true;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
drawline.EndDraw();
|
||
|
if (flag)
|
||
|
{
|
||
|
//if (GetComponent<Bag>().GetEquipNum("消防高压水带") < 1)
|
||
|
{
|
||
|
GetComponent<NavMeshAgent>().enabled = false;
|
||
|
GetComponent<AgentController>().enabled = false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void SprayFoam(IMessage obj)
|
||
|
{
|
||
|
|
||
|
if (GameObjID == (long)obj.Sender)
|
||
|
{
|
||
|
bool value = (bool)obj.Data;
|
||
|
if (value)
|
||
|
{
|
||
|
drawline.setLine();
|
||
|
if (GetComponent<Bag>().GetEquipNum("消防高压水带") >= 1)
|
||
|
{
|
||
|
GetComponent<NavMeshAgent>().enabled = true;
|
||
|
GetComponent<AgentController>().enabled = true;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
drawline.EndDraw();
|
||
|
if (flag)
|
||
|
{
|
||
|
//if (GetComponent<Bag>().GetEquipNum("消防高压水带") < 1)
|
||
|
{
|
||
|
GetComponent<NavMeshAgent>().enabled = false;
|
||
|
GetComponent<AgentController>().enabled = false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void LayWaterHose(IMessage obj)
|
||
|
{
|
||
|
if (GameObjID == (long)obj.Sender)
|
||
|
{
|
||
|
bool value = (bool)obj.Data;
|
||
|
if (value)
|
||
|
{
|
||
|
drawline.setLine();
|
||
|
if (GetComponent<Bag>().GetEquipNum("消防高压水带") >= 1)
|
||
|
{
|
||
|
GetComponent<NavMeshAgent>().enabled = true;
|
||
|
GetComponent<AgentController>().enabled = true;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
drawline.EndDraw();
|
||
|
if (flag)
|
||
|
{
|
||
|
//if (GetComponent<Bag>().GetEquipNum("消防高压水带") < 1)
|
||
|
{
|
||
|
GetComponent<NavMeshAgent>().enabled = false;
|
||
|
GetComponent<AgentController>().enabled = false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
// Update is called once per frame
|
||
|
void Update()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
private void WaterSourceChanged(IMessage obj)
|
||
|
{
|
||
|
var waterdata = (WaterConnectionData)obj.Data;
|
||
|
var gameObjId = waterdata.receiverID;
|
||
|
// var Id = GetComponent<BaseGameObjInfo>().GameObjID;
|
||
|
if (gameObjId == GameObjID)
|
||
|
{
|
||
|
|
||
|
flag = waterdata.connected;
|
||
|
|
||
|
int type = (int)waterdata.type;
|
||
|
if (type == 0)
|
||
|
{
|
||
|
flag = false;
|
||
|
if (workType == FireManSkills.SprayWater || workType == FireManSkills.Decontamination)
|
||
|
{
|
||
|
workType = FireManSkills.None;
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
MessageDispatcher.SendMessage(GameObjID, "WaterSwitch", flag);
|
||
|
GetComponent<XiaoFangYuanDrawLine>().EndDraw();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((EnabledSkills & FireManSkills.SprayWater) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
}
|
||
|
if ((EnabledSkills & FireManSkills.Decontamination) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (type == 1)//普通水
|
||
|
{
|
||
|
if (flag)
|
||
|
{
|
||
|
EnabledSkills |= FireManSkills.SprayWater;
|
||
|
EnabledSkills |= FireManSkills.Decontamination;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (workType == FireManSkills.SprayWater||workType==FireManSkills.Decontamination)
|
||
|
{
|
||
|
workType = FireManSkills.None;
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
MessageDispatcher.SendMessage(GameObjID, "WaterSwitch", flag);
|
||
|
GetComponent<XiaoFangYuanDrawLine>().EndDraw();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((EnabledSkills & FireManSkills.SprayWater) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
}
|
||
|
if ((EnabledSkills & FireManSkills.Decontamination) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (type == 2)//泡沫
|
||
|
{
|
||
|
if (flag)
|
||
|
EnabledSkills |= FireManSkills.SprayFoam;
|
||
|
else
|
||
|
{
|
||
|
workType = FireManSkills.None;
|
||
|
if ((EnabledSkills & FireManSkills.SprayFoam) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayFoam;
|
||
|
}
|
||
|
MessageDispatcher.SendMessage(GetComponent<CloneGameObjInfo>().gameObjID, "WaterSwitch", flag);
|
||
|
GetComponent<XiaoFangYuanDrawLine>().EndDraw();
|
||
|
}
|
||
|
}
|
||
|
if (type == 3)//有水也有泡沫
|
||
|
{
|
||
|
if (flag)
|
||
|
{
|
||
|
EnabledSkills |= FireManSkills.SprayWater;
|
||
|
EnabledSkills |= FireManSkills.Decontamination;
|
||
|
EnabledSkills |= FireManSkills.SprayFoam;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (workType == FireManSkills.SprayWater || workType == FireManSkills.Decontamination|| workType == FireManSkills.SprayFoam)
|
||
|
{
|
||
|
workType = FireManSkills.None;
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
EnabledSkills &= ~FireManSkills.SprayFoam;
|
||
|
|
||
|
MessageDispatcher.SendMessage(GameObjID, "WaterSwitch", flag);
|
||
|
GetComponent<XiaoFangYuanDrawLine>().EndDraw();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((EnabledSkills & FireManSkills.SprayWater) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayWater;
|
||
|
}
|
||
|
if ((EnabledSkills & FireManSkills.Decontamination) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.Decontamination;
|
||
|
}
|
||
|
if ((EnabledSkills & FireManSkills.SprayFoam) != 0)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.SprayFoam;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
SprayChangeMove(flag);
|
||
|
if (!RecordEvent.IsReplay())
|
||
|
{
|
||
|
if (this!=null&&FireManSkillsPanel.GetInstance!=null&&FireManSkillsPanel.GetInstance.gameObject.activeSelf)
|
||
|
MessageDispatcher.SendMessage("FiremanSkillsPanelDraw", gameObject);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
public void ForcibleEntry(bool active)
|
||
|
{
|
||
|
if (wuchiju)
|
||
|
wuchiju.SetActive(active);
|
||
|
}
|
||
|
public void DischargeSmoke(bool active)
|
||
|
{
|
||
|
if (panyanji)
|
||
|
panyanji.SetActive(active);
|
||
|
}
|
||
|
public void Lighting(bool active)
|
||
|
{
|
||
|
if (zhaomingdeng)
|
||
|
zhaomingdeng.SetActive(active);
|
||
|
}
|
||
|
//设置消防员技能在动作上的表现
|
||
|
public void workTypeChanged()
|
||
|
{
|
||
|
//铺设水带
|
||
|
}
|
||
|
|
||
|
public void SetEnableSkill(bool add)
|
||
|
{
|
||
|
if (add)
|
||
|
{//添加装备
|
||
|
if (bag.GetEquipFromBag("无齿锯") != null)
|
||
|
{
|
||
|
EnabledSkills |= FireManSkills.ForcibleEntry;
|
||
|
}
|
||
|
if (bag.GetEquipFromBag("手提式防爆强光照明灯") != null)
|
||
|
{
|
||
|
EnabledSkills |= FireManSkills.Lighting;
|
||
|
}
|
||
|
if (bag.GetEquipFromBag("移动式排烟机") != null)
|
||
|
{
|
||
|
EnabledSkills |= FireManSkills.DischargeSmoke;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{//移除装备
|
||
|
if (bag.GetEquipFromBag("无齿锯") == null)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.ForcibleEntry;
|
||
|
}
|
||
|
if (bag.GetEquipFromBag("手提式防爆强光照明灯") == null)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.Lighting;
|
||
|
}
|
||
|
if (bag.GetEquipFromBag("移动式排烟机") == null)
|
||
|
{
|
||
|
EnabledSkills &= ~FireManSkills.DischargeSmoke;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
void SprayChangeMove(bool connect)
|
||
|
{
|
||
|
if (connect)
|
||
|
{
|
||
|
if (GetComponent<Bag>().GetEquipNum("消防高压水带") < 1)
|
||
|
{
|
||
|
GetComponent<NavMeshAgent>().enabled = !connect;
|
||
|
GetComponent<AgentController>().enabled = !connect;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
GetComponent<NavMeshAgent>().enabled = true;
|
||
|
GetComponent<AgentController>().enabled = true;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
public void BagChange(bool add)
|
||
|
{
|
||
|
if (bag.GetEquipNum("消防高压水带") >= 1)
|
||
|
{
|
||
|
GetComponent<NavMeshAgent>().enabled = true;
|
||
|
GetComponent<AgentController>().enabled = true;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|