private void OnDestroy() { if (Instance == this) { Instance = null; } }
public void VeryDifficultDungeonTest() { DungeonCreator D = new DungeonCreator(random); Dungeon dungeon = D.CreateDungeon(9001, 10, 15); Assert.IsTrue(dungeon.difficulty == dungeon.nodes.Count); }
public void BridgeChecker() { DungeonCreator D = new DungeonCreator(random); Dungeon d = D.CreateDungeon(1, 10, 15); Assert.IsFalse(d.nodes[0].isBridge()); Assert.IsTrue(d.nodes[3].isBridge()); }
private void DungeonCreator_Click(object sender, EventArgs e) { DungeonCreator dungeonCreator = new DungeonCreator(); Hide(); dungeonCreator.ShowDialog(); Show(); }
public void DestroyEndTest() { DungeonCreator dc = new DungeonCreator(random); Dungeon dungeon = dc.CreateDungeon(1, 10, 15); List <Node> nodes = dungeon.Destroy(dungeon.nodes[dungeon.nodes.Count - 1]); Assert.IsNull(nodes); }
private void Start() { enemyRB = GetComponent <Rigidbody>(); player = GameObject.Find("Player"); playerFSM = GameObject.FindObjectOfType <PlayerFSM>(); dungeonCreator = GameObject.FindObjectOfType <DungeonCreator>(); direction = (WalkDirection)Random.Range(0, 4); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); DungeonCreator dungeonCreator = (DungeonCreator)target; if (GUILayout.Button("CreateNewDungeon")) { dungeonCreator.CreateDungeon(); } }
private void Awake() { if (Instance) { UnityEngine.Debug.LogWarning("Already a DungeonCreator in scene! Deleting myself!"); Destroy(gameObject); return; } Instance = this; }
public override void OnInspectorGUI() { //base.OnInspectorGUI(); DrawDefaultInspector(); if (GUILayout.Button("Regenerate")) { DungeonCreator dungeonCreator = (DungeonCreator)target; dungeonCreator.CreateNewDungeon(); } }
public void ColorSpawnPoints() { var spawnPoints = DungeonCreator.GetSpawnPoints(4, dungeon); for (int i = 0; i < spawnPoints.Count; i++) { Debug.Log("Set spawnpoint!"); dungeonPreview.SetPixel(spawnPoints[i].x, spawnPoints[i].y, Color.grey); } dungeonPreview.Apply(); }
private void Initialize() { _dungeonCreator = GameObject.Find("Managers/DungeonCreator").GetComponent <DungeonCreator>(); _cameraController = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <MainCamController>(); _monsterManager = GameObject.Find("Managers/MonsterManager").GetComponent <MonsterManager>(); _trapManager = GameObject.Find("Managers/TrapManager").GetComponent <TrapManager>(); _uiManager = GameObject.Find("Managers/UIManager").GetComponent <UIManager>(); _mapManager = GameObject.Find("Managers/MapManager").GetComponent <MapManager>(); _itemManager = GameObject.Find("Managers/ItemManager").GetComponent <ItemManager>(); _heroManager = GameObject.Find("Managers/HeroManager").GetComponent <HeroManager>(); Mode = GameMode.ROGUE_LIKE; }
public void GenerateCrampedDungeon() { for (int i = 0; i < 20; i++) { DungeonCreator D = new DungeonCreator(random); int maxCapacity = 15; Dungeon dungeon = D.CreateDungeon(1, 100, maxCapacity); foreach (Node n in dungeon.nodes) { Assert.IsTrue(n.MonsterCount <= maxCapacity, "Node" + n.id + " has " + n.MonsterCount); } } }
public void InitialiseEntityFactoryGUI(DungeonCreator dungeonCreator, Point point) { location = point; dungeonC = dungeonCreator; //Create list to keep all the enitty parameter names overview = new ListBox() { Location = point }; overview.Items.AddRange(entityParameters.ToArray()); location.X += overview.Width + 10; dungeonC.Controls.Add(overview); overview.SelectedIndexChanged += Overview_IndexChanged; }
public void Start() { grid = new SquareGrid(0, 0, 100, 100); generator = GetComponent <DungeonCreator>(); generator.GenerateDungeon(); InstantiateFloorTiles(); InstantiateEnemies(); //InstantiateOuterWalls(); //grid = FloorMapToSquareGrid(); grid.tiles = generator.tiles; GameManager.Instance.player.SetGridPosition(generator.playerStartPos); }
public static void StartGame() { for (int i = 0; i < connections.Length; i++) { var writer = driver.BeginSend(connections[i]); writer.WriteUShort((ushort)ServerPackets.startGame); writer.WriteUInt(ServerBehaviour.MessageID); driver.EndSend(writer); } ServerBehaviour.Instance.dungeon = DungeonCreator.GenerateDungeon(new UnityEngine.Vector2Int(12, 12)); SendSpawnPoints(); }
public void Initialize(DungeonCreator owner, GameObject entrance = null) { print(gameObject + "HAS COLLISION : " + HasCollision()); creator = owner; if (entrance) { entranceDoor = entrance; availableDoors.Remove(entrance); } if (type == RoomTypes.End) { creator.endRooms.Add(gameObject); } }
public override void OnInspectorGUI() { DungeonCreator thisCreator = (DungeonCreator)target; if (GUILayout.Button("Generate Dungeon")) { thisCreator.GenerateDungeon(); } if (GUILayout.Button("Remove Dungeon")) { thisCreator.ClearDungeon(); } base.OnInspectorGUI(); }
public void LowCapacityCreateTest() { DungeonCreator dc = new DungeonCreator(random); Dungeon dungeon = dc.CreateDungeon(1, 9001, 1); Assert.AreEqual(dungeon.maxCapacity, dc.monsterCreator.maximumPackSize); int totalPacks = 0; foreach (Node n in dungeon.nodes) { totalPacks += n.PackList.Count; } Assert.AreEqual(dc.totalcap / dc.monsterCreator.maximumPackSize, totalPacks); }
public void LootConsistencyTest() { for (int i = 0; i < 50; i++) { Player p = new Player(50); Random r = new Random(); int seed = r.Next(); r = new Random(seed); DungeonCreator dc = new DungeonCreator(r); Dungeon d = dc.CreateDungeon(1, 3, 20); int rand = r.Next(); ItemGenerator.Init(r, d, p); Loot l = ItemGenerator.GetItem(1); Loot lb = ItemGenerator.GetItem(1); Loot lc = ItemGenerator.GetItem(1); int randb = r.Next(); r = new Random(seed); dc = new DungeonCreator(r); d = dc.CreateDungeon(1, 3, 20); int rand2 = r.Next(); Assert.AreEqual(rand, rand2, "DC Random unequal."); ItemGenerator.Init(r, d, p); Loot l2 = ItemGenerator.GetItem(1); Loot lb2 = ItemGenerator.GetItem(1); Loot lc2 = ItemGenerator.GetItem(1); int randb2 = r.Next(); Assert.AreEqual(randb, randb2, "Random unequal."); if (l != null && l2 != null) { Assert.AreEqual(l.ID, l2.ID, "Item 1 unequal"); } if (lb != null && lb2 != null) { Assert.AreEqual(lb.ID, lb2.ID, "Item 2 unequal"); } if (lc != null && lc2 != null) { Assert.AreEqual(lc.ID, lc2.ID, "Item 3 unequal"); } } }
public override void OnInspectorGUI() { DrawDefaultInspector(); DungeonCreator dungeonCreator = GameObject.Find("Dungeon Creator").GetComponent <DungeonCreator>(); if (GUILayout.Button("Generate")) { dungeonCreator.Generate(); } if (GUILayout.Button("Remove All")) { dungeonCreator.RemoveAll(); } }
public static void SendSpawnPoints() { UnityEngine.Debug.Log("Sending spawn points"); var spawnPoints = DungeonCreator.GetSpawnPoints(connections.Length, ServerBehaviour.Instance.dungeon); for (int i = 0; i < spawnPoints.Count; i++) { RoomInfo(ServerBehaviour.Instance.dungeon[spawnPoints[i].x, spawnPoints[i].y], connections[i]); //Set the player pos var index = ServerBehaviour.Instance.GetPlayerWithId(connections[i].InternalId); var p = ServerBehaviour.Instance.players[index]; p.pos = spawnPoints[i]; ServerBehaviour.Instance.players[index] = p; } }
public void DestroyEverythingTest() { for (int i = 0; i < 10; i++) { DungeonCreator dc = new DungeonCreator(random); Dungeon dungeon = dc.CreateDungeon(random.Next(100), random.Next(100), 15); Node lastNode = dungeon.nodes[dungeon.nodes.Count - 1]; while (dungeon.nodes.Count > 2) { Node n = dungeon.nodes[random.Next(dungeon.nodes.Count - 1)]; List <Node> exits = dungeon.Destroy(n); Assert.IsNotNull(exits); } Assert.IsTrue(dungeon.nodes.Contains(lastNode)); } }
// Start is called before the first frame update protected override void Start() { base.Start(); EnemiesRoot = new GameObject("EnemiesRoot"); dungeonCreator = DungeonCreator.Instance; //AStarManager.Instance.OnSet(); DungeonManager.Instance.OnSet(); SkillManager.Instance.OnSet(); EffectManager.Instance.OnSet(); CharSelectManager.Instance.OnSet(); SpawnEnemy(200); DungeonCreator.Instance.PlaceEnemies(8); setStartPoint(); setCharactersAndEnemy(); //bossRoomPosition = }
static void Main(string[] args) { /* Create a WinForm Application */ Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); gameWindow = new GameWindow(); // Window that the game is shown on RichTextBox worldBox = gameWindow.richTextBox1; // Reference to the world panel of the application eventLogger = new EventLogger(gameWindow.textBox2); loadDataBases(); // Load data (races, skills, items etc.) from databases dungeon = DungeonCreator.createDungeon(numberOfLayers, dungeonWidth, dungeonLength); // Create the dungeon currentLayer = dungeon[0]; PlayerCharacter player = new PlayerCharacter("Player", 20, new Race("Human", 'P'), new Class(), 'P', currentLayer.getTiles()[currentLayer.getRooms()[0].getCenterPoint()[0]][currentLayer.getRooms()[0].getCenterPoint()[1]]); //drawDungeon(0, worldBox); gameWindow.initialize(player, currentLayer.getTiles(), currentLayer); //gameWindow.richTextBox1.Text = "" + dungeon[0].getEnemies().Count; Application.Run(gameWindow); }
public void NoPathTest() { DungeonCreator D = new DungeonCreator(random); for (int i = 0; i < 100; i++) { Dungeon d = D.CreateDungeon(1, 0, 15); Assert.IsNotNull(d); Assert.IsTrue(d.Size > 2); foreach (Node n in d.nodes) { if (!(n.AdjacencyList.Count > 0)) { int a = 0; a = d.nodes.Count; } Assert.IsTrue(n.AdjacencyList.Count > 0, "No" + i + " " + n.id); Assert.IsTrue(n.AdjacencyList.Count <= DungeonCreator.maxNeighbours); } } }
public virtual void Initialize(DungeonCreator owner, GameObject parentRoom_ = null, GameObject entrance = null) { creator = owner; if (parentRoom_ != null) { parentRoom = parentRoom_; roomDistanceFromStart = parentRoom.GetComponent <BaseRoom>().roomDistanceFromStart; if (type != RoomTypes.Hallway) { roomDistanceFromStart++; } } if (entrance) { entranceDoor = entrance; availableDoors.Remove(entrance); } if (type == RoomTypes.End) { creator.endRooms.Add(gameObject); } creator.entireDungeon.Add(gameObject); }
public override void Initialize(DungeonCreator owner, GameObject parentRoom_ = null, GameObject entrance = null) { base.Initialize(owner, parentRoom_, entrance); creator.eventRoomsThisFloor++; DungeonCreator.eventRoomCount++; }
public override void Initialize(DungeonCreator owner, GameObject parentRoom_ = null, GameObject entrance = null) { base.Initialize(owner, parentRoom_, entrance); creator.treasureCount++; }
private DungeonCreator GetDungeonCreator() { if(dungeonCreator == null) { dungeonCreator = (DungeonCreator) GameObject.FindGameObjectWithTag("DungeonManager").GetComponent(typeof(DungeonCreator)); } return dungeonCreator; }
public ActionResult Create(DungeonCreator dc) { currentDungeonToView = dc; return(RedirectToAction("Dungeon")); }
public override void LoadContent() { base.LoadContent(); XmlManager <Player> playerLoader = new XmlManager <Player>(); player = playerLoader.Load("Load/Gameplay/Player.xml"); XmlManager <SuspicionOverlay> suspLoader = new XmlManager <SuspicionOverlay>(); suspicionOverlay = suspLoader.Load("Load/Gameplay/Overlays/SuspicionOverlay.xml"); suspicionOverlay.Alpha = 0.5f; //if loading from a GameState info.... if (GameState.Instance.EnteringDungeon) { if (GameState.Instance.PlayerExists) { player.Stats = GameState.Instance.PlayerStats; }//else the default value will be used as normal having not been overwritten map = DungeonCreator.CreateMap(3, GameState.Instance); } else { map = DungeonCreator.CreateMap(3); } AIMoveManager.Instance.StartNewFloor(map, NumOfEnemies); map.LoadContent(true); ContentManager content = new ContentManager(ScreenManager.Instance.Content.ServiceProvider, "Content"); font = content.Load <SpriteFont>("Gameplay/Fonts/Font1"); int tilesacross; if (ScreenManager.Instance.Dimensions.X % map.TileDimensions.X != 0) { tilesacross = ((int)ScreenManager.Instance.Dimensions.X / (int)map.TileDimensions.X) + 1; } else { tilesacross = ((int)ScreenManager.Instance.Dimensions.X / (int)map.TileDimensions.X); } int tilesdown; if (ScreenManager.Instance.Dimensions.Y % map.TileDimensions.Y != 0) { tilesdown = ((int)ScreenManager.Instance.Dimensions.Y / (int)map.TileDimensions.Y) + 1; } else { tilesdown = ((int)ScreenManager.Instance.Dimensions.Y / (int)map.TileDimensions.Y); } tilesOnScreen = new Vector2(tilesacross, tilesdown); player.LoadContent(map.TileDimensions, map.EntryLoc + new Vector2(0, 1), map); suspicionOverlay.LoadContent((int)map.TileDimensions.X); map.SpawnEnemies(NumOfEnemies, player.CurrentRoomIn); camera = new Camera(map.Size, tilesOnScreen, map.TileDimensions, player.TilePosition); StealthManager.Instance.StartNewFloor(map); XmlManager <HealthBar> HPBL = new XmlManager <HealthBar>(); HPBar = HPBL.Load("Load/Gameplay/HealthBar.xml"); HPBar.LoadContent(); XmlManager <SuspicionBar> SBL = new XmlManager <SuspicionBar>(); suspicionBar = SBL.Load("Load/Gameplay/SuspicionBar.xml"); suspicionBar.LoadContent(); TotalEnemies = map.D.Next(10, 30);//will be overruled by Quests later though if necessary EnemiesAtATime = NumOfEnemies; // TotalEnemies = 25; if (GameState.Instance.IsCreated) { if (GameState.Instance.QuestForDungeon(GameState.Instance.CurrentDungeon, out Quest QuestIfAny)) { if (QuestIfAny.GetType() == typeof(DungeonQuest)) { DungeonQuest CurrentQ = QuestIfAny as DungeonQuest; TotalEnemies = CurrentQ.TotalEnemies; if (CurrentQ.CurrentEnemies > 0) { EnemiesAtATime = CurrentQ.CurrentEnemies; } CurrentQuest = QuestIfAny; CurrentQuest.Populate(); } } } GameState.Instance.EnteringDungeon = false;//resets in case of error elsewhere GameState.Instance.PlayerExists = true; exiting = false; }