Ejemplo n.º 1
0
        public override void Interact(ref BaseLevel level)
        {
            Facing    facing = level.Player.Facing;
            BaseLevel lvl;

            if (Data == 0)
            {
                lvl = Levels.LoadLevelFromResources(level.Name.Substring(0, level.Name.LastIndexOf('_')));
            }
            else
            {
                lvl = Levels.LoadLevelFromResources(level.Name + '_' + Data);
            }

            if (door != null)
            {
                ushort x = door.X;
                ushort y = door.Y;

                switch (facing)
                {
                case Facing.NORTH:
                    y--;
                    break;

                case Facing.EAST:
                    x++;
                    break;

                case Facing.SOUTH:
                    y++;
                    break;

                case Facing.WEST:
                    x--;
                    break;
                }

                lvl.Player      = new EntityPlayer(x, y);
                lvl.Entities[0] = lvl.Player;
            }

            door  = this;
            level = lvl;
            level.Initialize();
        }