DodongosQuest.World.MoveCreatureInDirectionSuccessful C# (CSharp) Method

MoveCreatureInDirectionSuccessful() public method

public MoveCreatureInDirectionSuccessful ( Direction direction, ICreature creature ) : bool
direction Direction
creature ICreature
return bool
        public bool MoveCreatureInDirectionSuccessful(Direction direction, ICreature creature)
        {
            Vector2 attemptedMovePosition = GetWorldIndexOneSpaceAway(direction, creature.WorldIndex);

            bool turnOver = MovingToSpaceCausesAttack(attemptedMovePosition, creature);
            if (IsIndexWithinBoundsOfWorld(attemptedMovePosition))
            {
                if (turnOver == false && creature.IsPlayer())
                    turnOver = MovingToSpaceOpensContainer(attemptedMovePosition, creature);
                if (turnOver == false && creature.IsPlayer())
                    turnOver = MovingToSpaceOpensDoor(attemptedMovePosition, creature);
                if (turnOver == false)
                    turnOver = MovingToSpaceIsSuccessful(attemptedMovePosition, creature);
            }

            if(turnOver && creature.IsPlayer())
                DiscoverTerrainAroundPlayer();
            return turnOver;
        }