public void Init()
        {
            _panel           = new GameObject().AddComponent <TurnPanel>();
            _panel.RoundText = _panel.gameObject.AddComponent <UnityEngine.UI.Text>();

            _systems.Add(new TurnPanelRoundDisplaySystem(_contexts, _panel));
        }
    private void SetUI()
    {
        UIMgr.Instance.UnsetUIComponentAll();

        Dictionary <ActionType, UnityAction> btnEvents = new Dictionary <ActionType, UnityAction>()
        {
            { ActionType.Move, OnClickMoveBtn },
            { ActionType.Attack, OnClickAttackBtn },
            { ActionType.Item, OnClickItemBtn },
            { ActionType.Skill, OnClickSkillBtn },
        };

        UIMgr.Instance.SetUIComponent <ActionPanel>(new UIActionParam(unit.actionSlots, unit.actionPointsRemain, btnEvents), true);
        UIMgr.Instance.SetUIComponent <ActionPointPanel>(new UIActionPointParam(unit.actionPointsRemain), true);
        UIMgr.Instance.SetUIComponent <TurnPanel>(null, true);
        UIMgr.Instance.SetUIComponent <TMEndTurnBtn>(null, true);

        TurnPanel tp = UIMgr.Instance.GetUIComponent <TurnPanel>();

        if (tp.ShouldUpdateSlots(TurnMgr.Instance.turns.ToList()))
        {
            tp.SetSlots(UIMgr.Instance.GetUIComponent <StatusPanel>(), owner.turns.ToList());
        }

        EventMgr.Instance.onTurnBeginEnter.Invoke();
    }
Example #3
0
 void NewGameMethod()
 {
     CurrentGame                      = new Game();
     CurrentGame.OnWriting           += Write;
     CurrentGame.OnShareBought       += UpdateShareCollectionDisplay;
     CurrentGame.OnNewShareAvailable += UpdateCurrentShareDisplay;
     SetupGameButton.Show();
     Output.Clear();
     PlayerDisplayPanel.Hide();
     CurrentShareBox.Hide();
     TurnPanel.Hide();
 }
Example #4
0
        void OKButtonMethod()
        {
            var action = ActionsBox.SelectedItem;

            if (action == null)
            {
                return;
            }
            CurrentPlayer.Action    = ActionsBox.SelectedItem.ToString();
            ActionsBox.SelectedItem = null;
            TurnPanel.Hide();
        }
Example #5
0
    void Start()
    {
        gameMgr = FindObjectOfType <GameMgr>();

        turnPanel        = FindObjectOfType <TurnPanel>();
        actionPanel      = FindObjectOfType <ActionPanel>();
        actionPointPanel = FindObjectOfType <ActionPointPanel>();
        itemPanel        = FindObjectOfType <ItemPanel>();
        statusPanel      = FindObjectOfType <StatusPanel>();
        popupPanel       = FindObjectOfType <PopupPanel>();
        summonPanel      = FindObjectOfType <SummonPanel>();

        RegisterEvent();
    }
        public void Init()
        {
            _panel = new GameObject().AddComponent <TurnPanel>();
            var node = new GameObject().AddComponent <TurnNode>();

            node.IconImage            = new GameObject().AddComponent <Image>();
            node.CurrentTurnIndicator = new GameObject();

            _panel.TurnNodePrefabs = node;
            _panel.TurnNodes       = new List <TurnNode>();
            _panel.TurnNodeParent  = new GameObject().transform;

            _systems.Add(new TurnNodeCreatingSystem(_contexts, _panel));
        }
Example #7
0
        public void TakingTurn(Player inPlayer)
        {
            CurrentPlayer = inPlayer;
            UpdateShareCollectionDisplay(CurrentPlayer, 0);

            if (CurrentPlayer is HumanPlayer)
            {
                PlayerNameText.Text = CurrentPlayer.Name;
                TurnPanel.Show();
                PlayerGoalText.Text = CurrentPlayer.Goal.ToString();
                UpdateCoinDisplay(CurrentPlayer, CurrentPlayer.GetCoins());
                CurrentPlayer.Action = ActionsBox.SelectedItem?.ToString();
            }
            else
            {
                PlayerNameText.Text  = CurrentPlayer.Name;
                PlayerGoalText.Text  = "?";
                PlayerCoinsText.Text = "?";
                //BoughtSharesText.Text = "?";
            }
        }
Example #8
0
    public IEnumerator battleLoop()
    {
        while (battlers.Count > 0)
        {
            battlers.Sort();
            int delayRecoveryAmount = battlers[0].delay;
            Debug.Log("extracted delay " + delayRecoveryAmount);
            foreach (var battler in battlers)
            {
                battler.delay     -= delayRecoveryAmount;
                strainAccumulator += delayRecoveryAmount;
                battler.recoverStrain(strainAccumulator / strainRecovThreshold);
                strainAccumulator = strainAccumulator % strainRecovThreshold;
            }

            for (int i = 0; i < turnPanelHolder.childCount; i++)
            {
                Destroy(turnPanelHolder.GetChild(i).gameObject);
            }

            foreach (var battler in battlers)
            {
                TurnPanel panel = Instantiate(turnPanelPrefab, turnPanelHolder);
                panel.updateVal(battler);
            }

            yield return(StartCoroutine(battlers[0].executeTurn()));

            bool allPLayerDead = true;
            foreach (var playerPartyBattler in playerParty.battlers)
            {
                if (!playerPartyBattler.isDead())
                {
                    allPLayerDead = false;
                }
                else
                {
                    playerPartyBattler.setState(PlayerCharState.dead);
                }
            }

            if (allPLayerDead)
            {
                Debug.Log("Player Loses");
                failScreenLoader.SetActive(true);
                break;
            }
            else
            {
                bool allEnemiesDead = true;
                for (int i = enemies.Count - 1; i >= 0; i--)
                {
                    var enemyBattler = enemies[i];
                    if (!enemyBattler.isDead())
                    {
                        allEnemiesDead = false;
                    }
                    else if (battlers.Contains(enemyBattler))
                    {
                        enemyBattler.showDead();
                        battlers.Remove(enemyBattler);
                    }
                }

                if (allEnemiesDead)
                {
                    Debug.Log("Player wins");
                    nextSceneLoader.SetActive(true);
                    break;
                }
            }
        }
    }
Example #9
0
 public TurnPanelRoundDisplaySystem(Contexts contexts, TurnPanel panel) : base(contexts)
 {
     _panel = panel;
 }
Example #10
0
 public TurnPanelPlayingOrderSystem(Contexts contexts, TurnPanel turnPanel) : base(contexts.game)
 {
     _turnPanel = turnPanel;
 }
 public TurnNodeCreatingSystem(Contexts contexts, TurnPanel turnPanel) : base(contexts)
 {
     _turnPanel   = turnPanel;
     _unitContext = contexts.unit;
 }