Beispiel #1
0
        public static void CheckForBrains(Field mField, bool mPlaySound = false)
        {
            foreach (var entity in mField.GetEntitiesByTag(TDLTags.AffectedByBrain))
                entity.GetComponent<TDCMovementTargetAI>().IsPathfinder = mField.HasEntityByTag(TDLTags.Brain);

            if (!mField.HasEntityByTag(TDLTags.Brain) && mPlaySound) TDLSounds.Play("SoundNoBrains");
        }
Beispiel #2
0
        private static bool TileHasEntityIgnore(Field mField, int mX, int mY, string mTag, IEnumerable<Entity> mIgnoreEntities, IEnumerable<string> mExceptionTags)
        {
            var tempTile = mField.GetTile(mX, mY);
            if (tempTile == null) return false;

            if (mIgnoreEntities == null) mIgnoreEntities = new Entity[] {};
            if (mExceptionTags == null) mExceptionTags = new string[] {};

            return mField.GetEntitiesByTag(mX, mY, mTag).Where(entity => !mExceptionTags.Any(entity.HasTag)).Any(entity => !mIgnoreEntities.Contains(entity));
        }