/// <summary> /// Checks if a given creature can see another creature. /// </summary> /// <param name="creature">The creature.</param> /// <param name="otherCreature">The creature to check against.</param> /// <returns>True if this creature can see the given creature, false otherwise.</returns> public static bool CanSee(this ICreature creature, ICreature otherCreature) { otherCreature.ThrowIfNull(nameof(otherCreature)); // (!otherCreature.IsInvisible || this.CanSeeInvisible) && return(creature.CanSee(otherCreature.Location)); }