예제 #1
0
        public override void Generate(int seed, RDungeonEntry entry)
        {
            this.seed = seed;
            this.entry = entry;

            rand = new Random(seed);

            for (int i = 0; i < entry.Floors.Count - 1; i++) {
                floorLinks.Add(new FloorLink(i, 1), new FloorLink(i + 1, 0));
            }
            floorLinks.Add(new FloorLink(entry.Floors.Count - 1, 1), new FloorLink(-1, 0));

            Start = new Loc3D(this[0].BorderPoints[0].X, this[0].BorderPoints[0].Y, 0);
        }
예제 #2
0
 public override void Generate(int seed, RDungeonEntry entry)
 {
     Generate(seed, "");
 }
예제 #3
0
        public static void Init()
        {
#if GAME_MODE
            ItemDex = new ItemEntry[MAX_ITEMS];
            for (int i = 0; i < MAX_ITEMS; i++)
            {
                ItemDex[i] = new ItemEntry();
                ItemDex[i].Load(i);
            }

            MoveDex = new MoveEntry[MAX_MOVES];
            for (int i = 0; i < MAX_MOVES; i++)
            {
                MoveDex[i] = new MoveEntry();
                MoveDex[i].Load(i);
            }
#endif
            Dex = new DexEntry[MAX_DEX + 1];
            for (int i = 0; i <= MAX_DEX; i++)
            {
                try
                {
                    Dex[i] = new DexEntry();
                    Dex[i].Load(i);
                }
                catch (Exception ex)
                {
                    Logs.Logger.LogError(ex);
                }
            }

#if GAME_MODE
            RoomAlgorithmDex = new RoomAlgorithm[MAX_ROOM_ALGORITHMS];
            for (int i = 0; i < MAX_ROOM_ALGORITHMS; i++)
            {
                RoomAlgorithmDex[i] = new RoomAlgorithm();
                RoomAlgorithmDex[i].Load(i);
            }

            FloorAlgorithmDex = new FloorAlgorithm[MAX_FLOOR_ALGORITHMS];
            for (int i = 0; i < MAX_FLOOR_ALGORITHMS; i++)
            {
                FloorAlgorithmDex[i] = new FloorAlgorithm();
                FloorAlgorithmDex[i].Load(i);
            }

            DungeonAlgorithmDex = new AlgorithmEntry[MAX_DUNGEON_ALGORITHMS];
            for (int i = 0; i < MAX_DUNGEON_ALGORITHMS; i++)
            {
                DungeonAlgorithmDex[i] = new AlgorithmEntry();
                DungeonAlgorithmDex[i].Load(i);
            }

            RDungeonDex = new RDungeonEntry[MAX_RDUNGEONS];
            for (int i = 0; i < MAX_RDUNGEONS; i++)
            {
                RDungeonDex[i] = new RDungeonEntry();
                RDungeonDex[i].Load(i);
            }
#endif
        }
예제 #4
0
        public static void Init()
        {
            #if GAME_MODE

            ItemDex = new ItemEntry[MAX_ITEMS];
            for (int i = 0; i < MAX_ITEMS; i++) {
                ItemDex[i] = new ItemEntry();
                ItemDex[i].Load(i);
            }

            MoveDex = new MoveEntry[MAX_MOVES];
            for (int i = 0; i < MAX_MOVES; i++) {
                MoveDex[i] = new MoveEntry();
                MoveDex[i].Load(i);
            }

            #endif
            Dex = new DexEntry[MAX_DEX+1];
            for (int i = 0; i <= MAX_DEX; i++)
            {
                try
                {
                    Dex[i] = new DexEntry();
                    Dex[i].Load(i);
                }
                catch (Exception ex)
                {
                    Logs.Logger.LogError(ex);
                }
            }

            #if GAME_MODE
            RoomAlgorithmDex = new RoomAlgorithm[MAX_ROOM_ALGORITHMS];
            for (int i = 0; i < MAX_ROOM_ALGORITHMS; i++) {
                RoomAlgorithmDex[i] = new RoomAlgorithm();
                RoomAlgorithmDex[i].Load(i);
            }

            FloorAlgorithmDex = new FloorAlgorithm[MAX_FLOOR_ALGORITHMS];
            for (int i = 0; i < MAX_FLOOR_ALGORITHMS; i++) {
                FloorAlgorithmDex[i] = new FloorAlgorithm();
                FloorAlgorithmDex[i].Load(i);
            }

            DungeonAlgorithmDex = new AlgorithmEntry[MAX_DUNGEON_ALGORITHMS];
            for (int i = 0; i < MAX_DUNGEON_ALGORITHMS; i++) {
                DungeonAlgorithmDex[i] = new AlgorithmEntry();
                DungeonAlgorithmDex[i].Load(i);
            }

            RDungeonDex = new RDungeonEntry[MAX_RDUNGEONS];
            for (int i = 0; i < MAX_RDUNGEONS; i++) {
                RDungeonDex[i] = new RDungeonEntry();
                RDungeonDex[i].Load(i);
            }
            #endif
        }