UAVBtn.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class UAVBtn : MonoBehaviour
  5. {
  6. public Image border;
  7. public Image icon;
  8. public Text label;
  9. void Awake()
  10. {
  11. label.text = Language.GetStr ("Menu", "uav");
  12. transform.localScale = Vector3.zero;
  13. UAVManager.GetInstance ().EquipedUAVChanged.AddListener (OnEquipedUAVChanged);
  14. }
  15. void OnDestroy()
  16. {
  17. UAVManager.GetInstance ().EquipedUAVChanged.RemoveListener (OnEquipedUAVChanged);
  18. }
  19. private void OnEquipedUAVChanged()
  20. {
  21. UAVItem uavItem = UAVManager.GetInstance ().GetEquipedItem ();
  22. if (uavItem != null) {
  23. EquipData equipData = uavItem.GetEquipment ().GetData ();
  24. border.color = equipData.GetBorderColor ();
  25. icon.sprite = equipData.GetIconSprite ();
  26. transform.localScale = Vector3.one;
  27. BattleSession battleSession = Session.GetInstance ().GetBattleSession ();
  28. Player player = battleSession.myPlayer;
  29. if (player == null)
  30. return;
  31. if (player.uav != null) {
  32. player.uav.Dead ();
  33. }
  34. Craft craft = player.GetHero ().GetCraft ();
  35. if (craft == null)
  36. return;
  37. player.uavItem = uavItem;
  38. player.uav = UAVFactory.CreateUAVechile (craft, uavItem, battleSession.GetBattleController ().GetMap ());
  39. } else {
  40. transform.localScale = Vector3.zero;
  41. }
  42. }
  43. }