Esempio n. 1
0
 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());
        }
Esempio n. 4
0
        private void DungeonCreator_Click(object sender, EventArgs e)
        {
            DungeonCreator dungeonCreator = new DungeonCreator();

            Hide();
            dungeonCreator.ShowDialog();
            Show();
        }
Esempio n. 5
0
        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();
        }
    }
Esempio n. 8
0
 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();
    }
Esempio n. 11
0
    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;
    }
Esempio n. 12
0
 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);
         }
     }
 }
Esempio n. 13
0
 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;
 }
Esempio n. 14
0
    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);
    }
Esempio n. 15
0
    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();
    }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
        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");
                }
            }
        }
Esempio n. 20
0
    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();
        }
    }
Esempio n. 21
0
    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;
        }
    }
Esempio n. 22
0
        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));
            }
        }
Esempio n. 23
0
    // 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 =
    }
Esempio n. 24
0
    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);
    }
Esempio n. 25
0
        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);
 }
Esempio n. 27
0
 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++;
 }
Esempio n. 29
0
    private DungeonCreator GetDungeonCreator()
    {
        if(dungeonCreator == null) {
            dungeonCreator = (DungeonCreator) GameObject.FindGameObjectWithTag("DungeonManager").GetComponent(typeof(DungeonCreator));
        }

        return dungeonCreator;
    }
Esempio n. 30
0
 public ActionResult Create(DungeonCreator dc)
 {
     currentDungeonToView = dc;
     return(RedirectToAction("Dungeon"));
 }
Esempio n. 31
0
        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;
        }