天津23维预案
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.
 
 
 
 
 
 

120 lines
3.9 KiB

using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
using System;
using AX.MessageSystem;
using AX.TrackRecord;
public class Enemy : MonoBehaviour
{
private DateTime t1, t2;
public EnemyInfo enemy;
private GameObject TaskWin;
public int nameScaleFactor = 3;
public float headName_y_Factor = 0.05f;
void Start()
{
TaskWin = GameObject.Find("Canvas").transform.Find("TaskWind").gameObject;
MessageDispatcher.AddListener("ScaleObjInfo", ScaleObjInfo);
int scales = (int)((GameObject.Find("Main Camera").GetComponent<MouseFollowRotation>().distance -
GameObject.Find("Main Camera").GetComponent<MouseFollowRotation>().minDistance) /
(GameObject.Find("Main Camera").GetComponent<MouseFollowRotation>().mSpeed / 10));
if (gameObject.name.Contains("xiaofangche"))
{
enemy.ScaleName(nameScaleFactor, headName_y_Factor, scales);
}
else
{
enemy.ScaleName(nameScaleFactor, headName_y_Factor * 2, scales);
}
if (PrePareModeSet.instance.ShowName())
{
StartCoroutine(delaySetEnemy());
}
MessageDispatcher.AddListener("HIDE_CARTOP", HideCarTop);
}
/// <summary>
/// 和移动指挥终端实时指挥模块中车辆头顶名字的显隐控制
/// </summary>
/// <param name="obj"></param>
private void HideCarTop(IMessage obj)
{
var info = (bool)obj.Data;
enemy.gameObject.SetActive(!info);
}
IEnumerator delaySetEnemy()
{
yield return new WaitForEndOfFrame();
enemy.gameObject.SetActive(true);
}
private void ScaleObjInfo(IMessage obj)
{
int scales = (int)obj.Data;
if (gameObject.name.Contains("xiaofangche"))
{
enemy.ScaleName(nameScaleFactor, headName_y_Factor, scales);
}
else
{
enemy.ScaleName(nameScaleFactor, headName_y_Factor * 2, scales);
}
}
private void OnDestroy()
{
MessageDispatcher.RemoveListener("ScaleObjInfo", ScaleObjInfo);
MessageDispatcher.RemoveListener("HIDE_CARTOP", HideCarTop);
}
public void InitName(string name)
{
enemy.SetName(name);
enemy.Show();
}
public void InitFunction(string function)
{
enemy.SetFunction(function);
enemy.Show();
}
void OnMouseDown()
{
if (this.gameObject.name.Contains("gcs"))
{
MessageDispatcher.SendMessage("OPEN", (object)GameObject.Find("Canvas").transform.Find("Gcs_UI").gameObject.name, "CUBE");
}
if (this.gameObject.name.Contains("ssry"))
{
MessageDispatcher.SendMessage("OPEN", (object)GameObject.Find("Canvas").transform.Find("Ssry_UI").gameObject.name, "CUBE");
}
t2 = DateTime.Now;
if (t2 - t1 < new TimeSpan(0, 0, 0, 0, 400) && !EventSystem.current.IsPointerOverGameObject() && LineamentEvent.gameobj != null)
{
if (this.gameObject.name.Contains("xiaofang") || this.gameObject.name.Contains("XF_SP") || this.gameObject.name.Contains("mb") ||
this.gameObject.name.Contains("aqs") || this.gameObject.name.Contains("gcs") ||
this.gameObject.name.Contains("volunteer") /*|| this.gameObject.name.Contains("ssry")*/|| name.Contains("stb"))
{
if (!LoadManager.Instance.IsPlayBacking && !UITaskWin.Instance.shield && ExamInfoHelpClass.loadSceneMode != ExamInfoHelpClass.LoadSceneMode.CoursewareMode && ExamInfoHelpClass.loadSceneMode != ExamInfoHelpClass.LoadSceneMode.CourseBaseMode)
{
MessageDispatcher.SendMessage("OPEN", (object)TaskWin.name, "CUBE");
UITaskWin.Instance.ShowMessage();
UITaskWin.Instance.isTasks = true;
}
}
}
t1 = t2;
}
}