public void CreatePopoutText(PopoutTextRequest NewRequest) { GameObject PopoutTextBase = Instantiate(PopoutTextPrefab); //PopoutTextBase.transform.parent = GameObject.Find("Canvas").gameObject.transform; PopoutTextBase.transform.SetParent(GameObject.Find("Canvas").gameObject.transform); PopoutTextBase.GetComponent <PopoutTextController>().SetMainText(NewRequest.GetMainText()); PopoutTextBase.GetComponent <PopoutTextController>().SetTextColor(new Color(255, 0, 0)); PopoutTextBase.gameObject.transform.position = Camera.main.WorldToScreenPoint(transform.position); // 设置飘字在NewRequest.GetExistTime()预设时间后销毁 Destroy(PopoutTextBase, NewRequest.GetExistTime()); }
// Update is called once per frame void Update() { // 棋子生命值状态更新 //========================================================================================================================= if (PieceUIBase != null && PieceUIBaseVisibale == true) { //PieceUIBase.fillAmount -= Time.deltaTime / 50.0f; PieceUIBase.gameObject.transform.position = Camera.main.WorldToScreenPoint(transform.position); float HealthBarWidth = 75 * ThisPieceStateController.GetRationOfHealth(); // 设置RectTransform的Width和Height数值 HealBar.GetComponent <RectTransform>().sizeDelta = new Vector2(HealthBarWidth, 10); // 设置RectTransform的PosX, PosY 和PosZ数值 HealBar.GetComponent <RectTransform>().localPosition = new Vector3((float)((-1) * ((75 - HealthBarWidth) / 2.0)), -35, 0); } //========================================================================================================================= if (TimeAfterLastPopout >= PopoutInterval) { if (PopoutTextRequestList.Count > 0) { CreatePopoutText(PopoutTextRequestList[0]); PopoutTextRequestList[0] = null; PopoutTextRequestList.Remove(PopoutTextRequestList[0]); TimeAfterLastPopout = 0.0f; } } else { TimeAfterLastPopout += Time.deltaTime; } if (Input.GetKeyDown(KeyCode.L)) { PopoutTextRequest NewPopoutRequest = new PopoutTextRequest(); NewPopoutRequest.SetMainText("999"); AddPopoutTextRequest(NewPopoutRequest); HidePieceUIBase(); } }
// 向飘字请求队列中加入新的飘字请求 public void AddPopoutTextRequest(PopoutTextRequest NewRequest) { PopoutTextRequestList.Add(NewRequest); }