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"); }
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)); }