public void CreateTargetable(ShipController ship) { GameObject reticle = GameObject.Instantiate(this.TargetPrefab); SpriteObjectTracker tracker = reticle.GetComponent <SpriteObjectTracker>(); if (tracker == null) { GameObject.Destroy(reticle); return; } reticle.transform.SetParent(this.transform); tracker.target = ship.gameObject; this.Targets.Add(tracker); }
// Update is called once per frame void Update() { ShipController human = ShipController.GetHuman(); if ((human == null) || (human.Reticle == null)) { return; } for (int i = 0; i < this.Targets.Count; i++) { SpriteObjectTracker sprite = this.Targets[i]; if (sprite.gameObject.activeInHierarchy && (sprite.target != null)) { sprite.viewPosition = human.gameObject; ShipController ship = sprite.target.gameObject.GetComponent <ShipController>(); if (ship.IsDead()) { sprite.gameObject.SetActive(false); } } } }