/// <summary> /// Creates new puzzle place. /// </summary> /// <param name="section"></param> /// <param name="puzzle"></param> /// <param name="name"></param> public PuzzlePlace(DungeonFloorSection section, Puzzle puzzle, string name) { _placementProviders = new Dictionary<Placement, PlacementProvider>(); this.Doors = new Door[] { null, null, null, null }; _section = section; _name = name; this.PlaceIndex = -1; this.Puzzle = puzzle; }
/// <summary> /// Creates new puzzle. /// </summary> /// <param name="dungeon"></param> /// <param name="section"></param> /// <param name="floorData"></param> /// <param name="puzzleData"></param> /// <param name="puzzleScript"></param> public Puzzle(Dungeon dungeon, DungeonFloorSection section, DungeonFloorData floorData, DungeonPuzzleData puzzleData, PuzzleScript puzzleScript) { _variables = new Dictionary<string, Object>(); _monsterGroups = new Dictionary<string, MonsterGroup>(); _monsterGroupData = new Dictionary<string, DungeonMonsterGroupData>(); this.Props = new Dictionary<string, Prop>(); this.Keys = new Dictionary<string, Item>(); _section = section; this.Name = puzzleScript.Name; this.Data = puzzleData; this.Dungeon = dungeon; this.Script = puzzleScript; this.FloorData = floorData; for (int i = 1; i <= puzzleData.Groups.Count; ++i) _monsterGroupData["Mob" + i] = puzzleData.Groups[i - 1].Copy(); }