using AX.InputSystem; using AX.MessageSystem; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class TheHeadName : MonoBehaviour { public Transform NamesFather; public static TheHeadName GetInstance; private bool NowNameIsHide; void Awake() { GetInstance = this; } void Start() { } // Update is called once per frame //void Update() //{ // if (Input.GetKeyDown(KeyCode.T)) // { // ShowHideUIName(false); // NowNameIsHide = false; // } // if (Input.GetKeyDown(KeyCode.S)) // { // ShowHideUIName(true); // NowNameIsHide = true; // } //} public void ShowHideSingleUIName(bool IsHide, long Id) { HideShowUINameCmdArgs arg = new HideShowUINameCmdArgs(); arg.IsHide = IsHide; arg.gameObjID = Id; MessageDispatcher.SendMessage("CONTROL_HIDE_SHOW_HEAD_NAME", arg); } public void ShowHideUIName(bool IsHide) { HideShowUINameCmdArgs arg = new HideShowUINameCmdArgs(); arg.IsHide = IsHide; MessageDispatcher.SendMessage("CONTROL_HIDE_SHOW_HEAD_NAME", arg); } public void ChangeUIName(string NewName, long Id) { ChangeUINameCmdArgs arg = new ChangeUINameCmdArgs(); arg.gameObjID = Id; arg.Value = NewName; MessageDispatcher.SendMessage("CHANGE_HEAD_NAME", arg); } public void DestroyUIName(long Id) { DestroyUINameCmdArgs arg = new DestroyUINameCmdArgs(); arg.gameObjID = Id; MessageDispatcher.SendMessage("ONDESROY_HEAD_NAME", arg); } public void CreateName(long gameObjID,string cloneName,string replaceName, int fontSize, Vector3 offset) { var objs = EntitiesManager.Instance.GetEntityByID(gameObjID); GameObject NameGame = Instantiate(Resources.Load("UINameItemPrefab")) as GameObject; NameGame.transform.SetParent(NamesFather); NameGame.transform.localScale = new Vector3(1, 1, 1); string temp = objs.GetComponent().GetObjectName(); string FullName = cloneName.Replace(replaceName, temp); objs.GetComponent().FullName = FullName; NameGame.GetComponent().text = FullName; NameGame.GetComponent().sizeDelta = new Vector2(200, 50); NameGame.GetComponent().fontSize = fontSize; NameGame.GetComponent().Target = objs; NameGame.GetComponent().offest = offset; NameGame.name = objs.name; ShowHideSingleUIName(NowNameIsHide, gameObjID); } /// /// 创建名字标签根据角色 /// /// 克隆物体ID /// 字体大小 /// 标签坐标偏移 public void CreateNameByRole(long gameObjID, int fontSize, Vector3 offset) { var objs = EntitiesManager.Instance.GetEntityByID(gameObjID); GameObject NameGame = Instantiate(Resources.Load("UINameItemPrefab")) as GameObject; NameGame.transform.SetParent(NamesFather); NameGame.transform.localScale = new Vector3(1, 1, 1); string Name = ""; Name = CurrentUserInfo.role.ToString(); NameGame.GetComponent().text = Name; NameGame.GetComponent().fontSize = fontSize; NameGame.GetComponent().Target = objs; NameGame.GetComponent().offest = offset; NameGame.name = objs.name; ShowHideSingleUIName(NowNameIsHide, gameObjID); } }