Ejemplo n.º 1
0
        private void UpdateSurroundingAreaInformation()
        {
            RaycastHit[] Hits = Physics.SphereCastAll(transform.position, AreaCheckRadius, Vector3.forward, 0.001f);

            int  nearbyEntities      = 0;
            bool playerNearby        = false;
            int  enemyEntitiesNearby = 0;

            if (Hits.Length > 0)
            {
                for (int i = 0; i < Hits.Length; ++i)
                {
                    GameObject HitObject = Hits[i].collider.gameObject;

                    if (HitObject.tag == "GameEntity")
                    {
                        nearbyEntities++;
                        EntityTag TagManager = GetComponent <EntityTag>() as EntityTag;

                        if (TagManager.Is(Tag.Enemy))
                        {
                            enemyEntitiesNearby++;
                        }

                        if (TagManager.Is(Tag.Player))
                        {
                            playerNearby = true;
                        }
                    }
                }

                PlayerNearby        = playerNearby;
                EnemyEntitiesNearby = enemyEntitiesNearby;
            }
        }
Ejemplo n.º 2
0
        void OnTriggerEnter(Collider Other)
        {
            EntityTag OtherColliderTag = Other.gameObject.GetComponent <EntityTag>();

            for (int i = 0; i < TriggerOnTagEnter.Length; ++i)
            {
                if (OtherColliderTag.Is(TriggerOnTagEnter[i]))
                {
                    TriggerAction();
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Checks to see if an entity is tagged with a specified tag
        /// </summary>
        /// <param name="Entity"></param>
        /// <param name="Tag"></param>
        /// <returns></returns>
        public static bool EntityIs(GameObject Entity, Tag Tag)
        {
            EntityTag _Tag = Entity.GetComponent <EntityTag>();

            if (!_Tag)
            {
                Debug.Log("Game Object does not contain an EntityTag: " + Entity.ToString());
                return(false);
            }
            else
            {
                return(_Tag.Is(Tag));
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// caches all spawnpoints in game world into this collection
        /// </summary>
        public void CacheAll()
        {
            GameObject[] Entities = GameObject.FindGameObjectsWithTag("GameEntity");
            if (Entities.Length > 0)
            {
                for (int i = 0; i < Entities.Length; ++i)
                {
                    EntityTag TagManager = Entities[i].GetComponent <EntityTag>();

                    if (TagManager != null)
                    {
                        if (TagManager.Is(Tag.SpawnPoint))
                        {
                            SpawnPoints.Add(Entities[i]);
                        }
                    }
                    else
                    {
                        Debug.LogError("ERROR: Entity does not have EntityTag: " + Entities[i].ToString());
                    }
                }
            }
        }