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.
151 lines
7.1 KiB
151 lines
7.1 KiB
3 years ago
|
using UnityEngine;
|
||
|
using System.Collections;
|
||
|
using UnityEngine.UI;
|
||
|
using AX.MessageSystem;
|
||
|
using AX.TrackRecord;
|
||
|
using System.Collections.Generic;
|
||
|
|
||
|
public class StairUIChild : MonoBehaviour {
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// 点击楼层按钮
|
||
|
/// </summary>
|
||
|
private Button ChildBtn;
|
||
|
void Start()
|
||
|
{
|
||
|
ChildBtn = this.gameObject.GetComponent<Button>();
|
||
|
ChildBtn.onClick.AddListener(LetsGo);
|
||
|
|
||
|
}
|
||
|
float Y;
|
||
|
GameObject Floor;
|
||
|
string CubeCengName = "";
|
||
|
public int triggerMode;
|
||
|
public void LetsGo() //点击给选中的消防员置位置
|
||
|
{
|
||
|
bool Has = false;
|
||
|
if (InputManager.Instance_.GetSelectedCharacters().Count==0)
|
||
|
{
|
||
|
MessageDispatcher.SendMessage("Operatinghints", (object)"请选择人员");
|
||
|
return;
|
||
|
}
|
||
|
if (InputManager.Instance_.GetSelectedCharacters().Count != 0)
|
||
|
{
|
||
|
for (int i = 0; i < StairCanGo.Instance.CanGoFloor.Count; i++)
|
||
|
{
|
||
|
string Name = StairCanGo.Instance.CanGoFloor[i].name;
|
||
|
if (this.name.Equals(Name))
|
||
|
{
|
||
|
foreach (Transform child in StairCanGo.Instance.CanGoFloor[i].transform)
|
||
|
{
|
||
|
if (child.name.Contains("TriggerEvent"))
|
||
|
{
|
||
|
Y = child.transform.position.y;
|
||
|
CubeCengName = child.GetComponent<ControlStair>().TheName;
|
||
|
Floor = child.gameObject;
|
||
|
Debug.Log(StairCanGo.Instance.CanGoFloor[i].name + "--" + child.transform.position.y);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
var neededRemoveList = new List<GameObject>();
|
||
|
for (int j = InputManager.Instance_.GetSelectedCharacters().Count - 1; j >= 0; j--)
|
||
|
{
|
||
|
|
||
|
if (InputManager.Instance_.GetSelectedCharacters()[j].name.Contains("xiaofangyuan") && InputManager.Instance_.GetSelectedCharacters()[j].GetComponent<CengID>().cengID != 0)
|
||
|
{
|
||
|
|
||
|
if (InputManager.Instance_.GetSelectedCharacters()[j].GetComponent<CengID>().cengID
|
||
|
!= Floor.GetComponent<ControlStair>().cengID)
|
||
|
{
|
||
|
|
||
|
if (!InputManager.Instance_.GetSelectedCharacters()[j].GetComponent<ObjMessage>().SQ.gameObject.activeInHierarchy)
|
||
|
{
|
||
|
|
||
|
float x = InputManager.Instance_.GetSelectedCharacters()[j].transform.position.x;
|
||
|
float z = InputManager.Instance_.GetSelectedCharacters()[j].transform.position.z;
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].GetComponent<UnityEngine.AI.NavMeshAgent>().enabled = false;
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].GetComponent<FineTuningControl>().DonotRecordFlag = true;
|
||
|
if (InputManager.Instance_.GetSelectedCharacters()[j].GetComponent<CengID>().cengID
|
||
|
< Floor.GetComponent<ControlStair>().cengID)
|
||
|
{
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].gameObject.SetActive(false);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].gameObject.SetActive(true);
|
||
|
}
|
||
|
|
||
|
if (Floor.gameObject.activeInHierarchy)
|
||
|
{
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].gameObject.SetActive(true);
|
||
|
}
|
||
|
int k = Floor.GetComponent<ControlStair>().cengID;
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].GetComponent<CengID>().cengID = k;
|
||
|
if (MySceneManager.GetActiveScene().name.Equals("1"))//处理城市综合体
|
||
|
{
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].transform.position = new Vector3(x, Y, z);
|
||
|
}
|
||
|
else if (MySceneManager.GetActiveScene().name.Equals("3"))//超高层
|
||
|
{
|
||
|
if (triggerMode == 1) //消防电梯
|
||
|
{
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].transform.position = new Vector3(0.64f, Y, 15f);
|
||
|
}
|
||
|
else if (triggerMode == 2)//楼梯
|
||
|
{
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].transform.position = new Vector3(0.64f, Y, 15f);
|
||
|
}
|
||
|
}
|
||
|
else if (MySceneManager.GetActiveScene().name.Equals("7"))//土坯房
|
||
|
{
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].transform.position = new Vector3(x, Y, z);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].transform.position = new Vector3(x, Y, z);
|
||
|
}
|
||
|
|
||
|
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].GetComponent<RLineControl>().LineList_GameObject.Clear();
|
||
|
InputManager.Instance_.GetSelectedCharacters()[j].GetComponent<FineTuningControl>().DonotRecordFlag = false;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
Has = true;
|
||
|
neededRemoveList.Add(InputManager.Instance_.GetSelectedCharacters()[j]);
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
foreach(var obj in neededRemoveList)
|
||
|
{
|
||
|
InputManager.Instance_.GetSelectedCharacters()[0].GetComponent<AgentRecord>().xfyList.Remove(obj);
|
||
|
InputManager.Instance_.removeItem(obj);
|
||
|
|
||
|
}
|
||
|
if (RecordManager.Instance.IsRecording)
|
||
|
{
|
||
|
string str1 = this.name.Substring(0, this.name.Length- 1);
|
||
|
string Intro = this.transform.Find("intro").GetComponent<Text>().text;
|
||
|
TrackRecordHelpClass.RecordGoStairEvent(this.name, Intro);
|
||
|
//MessageDispatcher.SendMessage(InputManager.Instance_.GetSelectedCharacters()[0].name, "RecordPathFindingEvent",
|
||
|
//new PathFindingAttri { Navto = InputManager.Instance_.GetSelectedCharacters()[0].transform.position, timer = RecordManager.Instance.RecordTimer },Time.deltaTime*2);
|
||
|
}
|
||
|
if (Has)
|
||
|
{
|
||
|
MessageDispatcher.SendMessage("Operatinghints", (object)"有人员连接管线");
|
||
|
}
|
||
|
//Time.timeScale = 1;
|
||
|
|
||
|
StairUI.Instance.gameObject.SetActive(false);
|
||
|
MessageDispatcher.SendMessage("GoStairMess", (object)CubeCengName);
|
||
|
}
|
||
|
}
|
||
|
}
|