using Common.Utility.CombatTimer; using Fort23.Core; using Fort23.UTool; using GameLogic.Combat.CombatTool; using UnityEngine; namespace Fort23.Mono { [UIBinding(prefab = "ShowTextWidget")] public partial class ShowTextWidget : UIComponent { private void Init() { } public override void AddEvent() { } public override void DelEvent() { } public override void AddButtonEvent() { } public void ShowUI(HarmReturnInfo harmReturnInfo, bool isHarm) { Vector3 worldPos = harmReturnInfo.target.combatHeroEntity.combatHeroGameObject.hpTransform.position; Vector3 p = UIManager.Instance.CurrCustomCameraStack.camera.WorldToScreenPoint(worldPos); Vector3 p2 = UIManager.Instance.UICamera.ScreenToWorldPoint(p); transform.position = p2; if (isHarm) { text.color=Color.white; } else { text.color=Color.green; } text.text = harmReturnInfo.att.ToString(); if (Animator != null) { if (harmReturnInfo.harmType.HasFlag(HarmType.BaoJi)) { Animator.Play("ShowTextWidgetBaoji"); } else { Animator.Play("ShowTextWidgetShow"); } } CombatTimerManager.Instance.AddTimer(1, delegate { GObjectPool.Instance.Recycle(this); }); } } }