Ejemplo n.º 1
0
        public void CheckIfMonsterSeesPlayer(MapCharacter2D monster, bool visible)
        {
            if (Map.IsWorldMap)
            {
                game.MonsterSeesPlayer = false;
                return;
            }

            monster.CheckedIfSeesPlayer = true;
            monster.SeesPlayer          = false;

            if (!game.MonsterSeesPlayer && visible)
            {
                monster.SeesPlayer = MonsterSeesPlayer(monster.Position, null, null);

                if (monster.SeesPlayer)
                {
                    game.MonsterSeesPlayer = true;
                }
            }
            else if (game.MonsterSeesPlayer)
            {
                CheckIfMonstersSeePlayer();
            }
        }
Ejemplo n.º 2
0
        bool TestCharacterInteraction(MapCharacter2D mapCharacter, bool cursor, Position position)
        {
            if (!mapCharacter.Visible || !mapCharacter.Active)
            {
                return(false);
            }

            if (position == mapCharacter.Position)
            {
                return(true);
            }

            return(cursor && mapCharacter.IsRealCharacter && position == new Position(mapCharacter.Position.X, mapCharacter.Position.Y - 1));
        }
Ejemplo n.º 3
0
        internal void AddCharacters(Map map)
        {
            for (uint characterIndex = 0; characterIndex < map.CharacterReferences.Length; ++characterIndex)
            {
                var characterReference = map.CharacterReferences[characterIndex];

                if (characterReference == null)
                {
                    break;
                }

                var mapCharacter = MapCharacter2D.Create(game, renderView, mapManager, this, characterIndex, characterReference);
                mapCharacter.Active = !game.CurrentSavegame.GetCharacterBit(map.Index, characterIndex);
                mapCharacters.Add(characterIndex, mapCharacter);
            }
        }