예제 #1
0
    void SetUIBeginEnter(EventParam param)
    {
        turnMgr = gameMgr._turnMgr;

        Dictionary <ActionType, UnityAction> btnEvents = new Dictionary <ActionType, UnityAction>();

        btnEvents.Add(ActionType.Move, OnClickMoveBtn);
        btnEvents.Add(ActionType.Attack, OnClickAttackBtn);
        btnEvents.Add(ActionType.Item, OnClickItemBtn);
        btnEvents.Add(ActionType.Skill, OnClickSkillBtn);

        Unit nextTurnUnit = turnMgr.turns.Peek();

        actionPanel.SetPanel(nextTurnUnit.actionSlots, nextTurnUnit.actionPointsRemain, btnEvents);
        actionPointPanel.SetText(nextTurnUnit.actionPointsRemain);
        turnPanel.gameObject.SetActive(true);

        if (turnPanel.ShouldUpdateSlots(turnMgr.turns.ToList()))
        {
            turnPanel.SetSlots(statusPanel, turnMgr.turns.ToList());
        }

        testPlayBtn.SetActive(false);
        endTurnBtn.SetActive(true);
        backBtn.SetActive(false);
    }
    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();
    }