Ejemplo n.º 1
0
    private void Update()
    {
        RemoveEvents();
        if (events.Count > 0)
        {
            state = DungeonState.Busy;
            events[0].Update();
        }
        else
        {
            state = DungeonState.Waiting;
        }
        AddEvents();

        var entities = GameObject.FindObjectsOfType <EntityHolder>();

        for (int i = 0; i < entities.Length; i++)
        {
            if (entities[i].isDeath())
            {
                SceneManager.LoadScene(SceneManager.GetActiveScene().name);
                Debug.Log("YAAAA");
            }
        }

        if (Input.GetKey(KeyCode.Escape))
        {
            Application.Quit();
        }
    }
Ejemplo n.º 2
0
 // Use this for initialization
 void Awake()
 {
     displayImage            = GetComponent <Image>();
     selfButton              = GetComponent <Button>();
     selfButton.interactable = IsFree;
     ItemAcquired            = IsFree;
     displayImage.sprite     = Unknown;
     CurrentDungeonState     = DungeonState.Unknown;
 }
Ejemplo n.º 3
0
    protected void rightClick()
    {
        switch (CurrentDungeonState)
        {
        case DungeonState.Unknown:
            CurrentDungeonState = DungeonState.Emerald;
            displayImage.sprite = EmeraldDungeon;
            break;

        case DungeonState.Emerald:
            CurrentDungeonState = DungeonState.Ruby;
            displayImage.sprite = RubyDungeon;
            break;

        case DungeonState.Ruby:
            CurrentDungeonState = DungeonState.Sapphire;
            displayImage.sprite = SapphireDungeon;
            break;

        case DungeonState.Sapphire:
            CurrentDungeonState = DungeonState.Forest;
            displayImage.sprite = ForestMedalion;
            break;

        case DungeonState.Forest:
            CurrentDungeonState = DungeonState.Fire;
            displayImage.sprite = FireMedalion;
            break;

        case DungeonState.Fire:
            CurrentDungeonState = DungeonState.Water;
            displayImage.sprite = WaterMedalion;
            break;

        case DungeonState.Water:
            CurrentDungeonState = DungeonState.Spirit;
            displayImage.sprite = SpiritMedalion;
            break;

        case DungeonState.Spirit:
            CurrentDungeonState = DungeonState.Shadow;
            displayImage.sprite = ShadowMedalion;
            break;

        case DungeonState.Shadow:
            CurrentDungeonState = DungeonState.Light;
            displayImage.sprite = LightMedalion;
            break;

        case DungeonState.Light:
            CurrentDungeonState = DungeonState.Unknown;
            displayImage.sprite = Unknown;
            break;
        }
    }
Ejemplo n.º 4
0
        public void ExitState()
        {
            if (activeState == DungeonState.None)
            {
                throw new UnityException("State Stack Error!!");
            }

            states.Pop();
            DungeonState nextState = states.Peek();

            activeStateProperty.Value = nextState;
        }
Ejemplo n.º 5
0
 private void StartDungeon()
 {
     lock (mutex)
     {
         if (!joinedPlayers.Any())
         {
             ResetDungeon();
             return;
         }
         state = DungeonState.Started;
         currentDungeon.Enter();
     }
 }
Ejemplo n.º 6
0
        public Menu_Floor(Menu_Main parent, DungeonState dungeon)
        {
            this.parent        = parent;
            this.dungeon       = dungeon;
            this.examineMenu   = new Menu_Examine(this);
            this.targetMenu    = new Menu_Target(this);
            this.inventoryMenu = new Menu_Inventory(this, targetMenu, this.parent.Width / 2, this.parent.Height / 2);
            this.targetMenu.Init(this.inventoryMenu);

            arenaConsole     = new RLConsole(Menu_Floor.arenaConsoleWidth, Menu_Floor.arenaConsoleHeight);
            this.infoConsole = new RLConsole(Menu_Floor.infoConsoleWidth, Menu_Floor.infoConsoleHeight);
            status1Console   = new RLConsole(Menu_Floor.statusWidth, Menu_Floor.statusHeight);
            this.logConsole  = new RLConsole(Menu_Floor.statusWidth, Menu_Floor.statusHeight);
        }
Ejemplo n.º 7
0
        private Menu_Floor NewFloorMenu(int seed = 1)
        {
            RogueSharp.Random.IRandom iRand = new RogueSharp.Random.DotNetRandom(seed);

            var player  = EntityBuilder.BuildPlayerEntity();
            var dungeon = new DungeonState(player);

            dungeon.AddFloor(FloorBuilder.BuildFloor(dungeon, Config.FloorWidth, Config.FloorHeight, iRand.Next(Int16.MaxValue).ToString(), 0, player));
            dungeon.AddFloor(FloorBuilder.BuildFloor(dungeon, Config.FloorWidth, Config.FloorHeight, iRand.Next(Int16.MaxValue).ToString(), 1));
            dungeon.AddFloor(FloorBuilder.BuildFloor(dungeon, Config.FloorWidth, Config.FloorHeight, iRand.Next(Int16.MaxValue).ToString(), 2));

            dungeon.FinalizeConstruction();

            this.floorMenu = new Menu_Floor(this, dungeon);
            return(this.floorMenu);
        }
Ejemplo n.º 8
0
    public void ActivateDungeon()
    {
        if (gameManager.Events.TryStart(this))
        {
            state             = DungeonState.Active;
            dungeonStartTimer = timeForDungeonStart;
            nextDungeonTimer  = 0f;

            SelectRandomDungeon();
            SpawnDungeonBoss();
            AnnounceDungeon();
        }
        else
        {
            nextDungeonTimer = gameManager.Events.RescheduleTime;
        }
    }
Ejemplo n.º 9
0
    private void ResetDungeon()
    {
        state = DungeonState.None;
        lock (mutex) joinedPlayers.Clear();
        deadPlayers.Clear();
        if (!currentDungeon)
        {
            return;
        }
        currentDungeon.ResetRooms();
        currentDungeon    = null;
        notificationTimer = notificationUpdate;
        dungeonStartTimer = timeForDungeonStart;

        gameManager.Camera.DisableDungeonCamera();
        ScheduleNextDungeon();

        gameManager.Events.End(this);
    }
Ejemplo n.º 10
0
 public void EnterState(DungeonState nextState)
 {
     states.Push(nextState);
     activeStateProperty.Value = nextState;
 }