DuiPingWidget.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using Common.Utility.CombatEvent;
  2. using GameLogic.Combat.Hero;
  3. using UnityEngine;
  4. namespace Fort23.Mono
  5. {
  6. [UIBinding(prefab = "DuiPingWidget")]
  7. public partial class DuiPingWidget : UIComponent
  8. {
  9. public CombatMagicWeaponEntity combatMagicWeaponEntity;
  10. private RectTransform rectTransform;
  11. private void Init()
  12. {
  13. }
  14. public override void AddEvent()
  15. {
  16. }
  17. public override void DelEvent()
  18. {
  19. }
  20. public override void AddButtonEvent()
  21. {
  22. rectTransform = icon.GetComponent<RectTransform>();
  23. rectTransform.sizeDelta = new Vector2(100, 9);
  24. }
  25. public void ShowWidget(CombatMagicWeaponEntity combatMagicWeaponEntity)
  26. {
  27. this.combatMagicWeaponEntity = combatMagicWeaponEntity;
  28. Vector3 offPos = new Vector3(0, 0);
  29. if (this.combatMagicWeaponEntity.IsEnemy)
  30. {
  31. offPos = new Vector3(0, 2);
  32. }
  33. else
  34. {
  35. offPos = new Vector3(0, -2);
  36. }
  37. Vector3 worldPos = combatMagicWeaponEntity.GameObject.transform.position + offPos;
  38. Vector3 p = UIManager.Instance.CurrCustomCameraStack.camera.WorldToScreenPoint(worldPos);
  39. Vector3 p2 = UIManager.Instance.UICamera.ScreenToWorldPoint(p);
  40. transform.position = p2;
  41. icon.color = combatMagicWeaponEntity.IsEnemy ? new Color(0.88f, 0.13f, 0.11f):new Color(0.43f, 0.87f, 0.52f);
  42. }
  43. public void UpdateHp()
  44. {
  45. float bl = combatMagicWeaponEntity.HpBl / combatMagicWeaponEntity.MaxHp;
  46. rectTransform.sizeDelta = new Vector2(99 * bl, 8);
  47. }
  48. }
  49. }