MiniCraft.cs 881 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class MiniCraft : MonoBehaviour {
  5. public Animator radioAlertAnim;
  6. private Map map;
  7. private Craft craft;
  8. private RectTransform rectTrans;
  9. public void Init(Craft craft, Map map)
  10. {
  11. this.craft = craft;
  12. this.craft.miniCraft = this;
  13. this.map = map;
  14. GetComponent<Image>().color = TeamUtil.GetTeamColor(craft.team.GetHashCode());
  15. rectTrans = GetComponent<RectTransform>();
  16. UpdatePos();
  17. }
  18. public void RadioAlert()
  19. {
  20. radioAlertAnim.Play("RadioAlertShow", 0, 0);
  21. }
  22. // Update is called once per frame
  23. public void UpdatePos()
  24. {
  25. if(craft != null)
  26. {
  27. AStarNode node = map.GetAStarNodeByPosition(craft.transform.position);
  28. Vector3 pos = rectTrans.localPosition;
  29. pos.x = MiniMap.offsetX+node.X;
  30. pos.y = MiniMap.offsetY+node.Y;
  31. rectTrans.localPosition = pos;
  32. }
  33. }
  34. }