Example #1
0
        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);
        }
Example #2
0
        // 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);
                    }
                }
            }
        }