海淀天下城电子沙盘单机版
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.
 
 
 
 

89 lines
3.3 KiB

using AX.InputSystem;
using AX.MessageSystem;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class FireManSkillTogge : MonoBehaviour
{
public FireManSkills fireManSkills;
private GameObject chooseObj;
private GameObject lastchoose;
public bool flag = false;
void Awake()
{
GetComponent<Toggle>().onValueChanged.AddListener(RespondFun);
//MessageDispatcher.AddListener("SelectChange", SetFireManSkills);
//MessageDispatcher.AddListener("SetFireManSkills", SetFireManSkills);
}
private void SetFireManSkills(IMessage obj)
{
//chooseObj = (GameObject)obj.Data;
//Debug.Log(chooseObj.GetComponent<FireManMessage>().workType.ToString() + chooseObj.name);
//if (fireManSkills == chooseObj.GetComponent<FireManMessage>().workType)
//{
// GetComponent<Toggle>().isOn = true;
//}
//else
//{
// GetComponent<Toggle>().isOn = false;
//}
// GetComponent<Toggle>().interactable = (chooseObj.GetComponent<FireManMessage>().EnabledSkills & fireManSkills) != 0;
//lastchoose = chooseObj;
}
public void RespondFun(bool value)
{
if (FireManSkillsPanel.GetInstance.IsChange)
{
return;
}
if (SelectedObjs.selectedCharacters.Count > 0)
{
SelectedObjs.selectedCharacters[0].GetComponent<FireManMessage>().workType = value ? fireManSkills : FireManSkills.None;
//如果技能按钮是出水
if (fireManSkills == FireManSkills.SprayWater)
{
if (value)
{//如果正在出水,不显示出水选择按钮直接根据消防员当前出水粒子发送出水消息
if (flag == true)
{
MessageDispatcher.SendMessage("CHANGE_PARTICLE_TYPE_COMMAND",
new ParticleTypeCmdArgs() { ParticleType = SelectedObjs.selectedCharacters[0].GetComponent<ControlSprayHead>().particleenum });
flag = false;
return;
}
}
}
// SelectedObjs.selectedCharacters[0].GetComponent<FireManMessage>().workType = value ? fireManSkills : FireManSkills.None;
if (RecordEvent.IsRecord())
{
string json = JsonUtility.ToJson(new PowerSkillRecordEventData()
{
GameId = SelectedObjs.selectedCharacters[0].GetComponent<CloneGameObjInfo>().gameObjID,
EnabledSkills = (int)SelectedObjs.selectedCharacters[0].GetComponent<FireManMessage>().EnabledSkills,
CurrentSkill = (int)fireManSkills,
Skill = fireManSkills.ToString(),
ArgData = value
});
RecordEvent.AddEventData(SelectedObjs.selectedCharacters[0].GetComponent<CloneGameObjInfo>().gameObjType, RecordEventType.FireManSkill, json);
}
MessageDispatcher.SendMessage(SelectedObjs.selectedCharacters[0].GetComponent<CloneGameObjInfo>().gameObjID, gameObject.name, value);
}
}
private void OnDestroy()
{
//MessageDispatcher.RemoveListener("SetFireManSkills", SetFireManSkills);
}
}