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().distance - GameObject.Find("Main Camera").GetComponent().minDistance) / (GameObject.Find("Main Camera").GetComponent().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); } /// /// 和移动指挥终端实时指挥模块中车辆头顶名字的显隐控制 /// /// 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; } }