Пример #1
0
    public void Init(List <Poring> porings, PrototypeGameMode gameMode)
    {
        m_gameMode = gameMode;
        Cells.ForEach(cell => cell.gameObject.SetActive(false));

        for (int i = 0; i < porings.Count; i++)
        {
            var cell = Cells[i];

            cell.Init(porings[i]);
            cell.gameObject.SetActive(true);
        }

        // m_gameMode.ObserveEveryValueChanged(g => g.IndexCurrentPlayer, FrameCountType.FixedUpdate).Subscribe(i =>
        // {
        //  string s = (PhotonNetwork.LocalPlayer.GetPlayerNumber() == i) ? "You turn!!" : "Wait...";
        //  Turn.text = $"Round : {m_gameMode.Turn} \n<color=#FF0000>{s}</color>";
        // });

        m_gameMode.ObserveEveryValueChanged(g => g.Turn, FrameCountType.FixedUpdate).Subscribe(i =>
        {
            string s  = (PhotonNetwork.LocalPlayer.GetPlayerNumber() == m_gameMode.IndexCurrentPlayer) ? "You turn!!" : "Wait...";
            Turn.text = $"Round : {i} \n<color=#FF0000>{s}</color>";
        });
    }
Пример #2
0
 private void SetUpDiceBtn(int index, PrototypeGameMode gameMode)
 {
     diceControl.isRollFinish = true;
     diceControl.GetComponent <Button>().interactable = true;
     diceControl.PoringIndex = index;
     diceControl.GameMode    = gameMode;
 }
Пример #3
0
    public override void OnActivate(Poring poring, Poring targetPoring = null, Node targetNode = null, List <Node> nodeList = null)
    {
        gameMode = (PrototypeGameMode)PrototypeGameMode.Instance;

        if (targetPoring != null || targetNode != null)
        {
            GameObject target = (targetPoring != null) ? targetPoring.gameObject : targetNode.gameObject;
            poring.transform.LookAt(target.transform.position);
        }

        SkillEffectActivate(poring, targetPoring, targetNode);
    }
Пример #4
0
    public override void OnFinish(Poring poring, Node node)
    {
        PrototypeGameMode gameMode = PrototypeGameMode.Instance;

        List <Node> nodes = new List <Node>();

        foreach (var n in gameMode.Nodes)
        {
            if (n != node && n.TileProperty.Type == TileType.WarpOut)
            {
                nodes.Add(n);
            }
        }

        WarpTo(poring, nodes[0]);
    }
Пример #5
0
 public void ActiveCurrentPoringTurn(Poring poring, int index, PrototypeGameMode gameMode)
 {
     if (this.gameMode == null)
     {
         this.gameMode = gameMode;
     }
     currentPoring = poring;
     isActiveSkill = false;
     if (gameMode.IndexCurrentPlayer == PhotonNetwork.LocalPlayer.GetPlayerNumber())
     {
         SetActivePanel(true, currentPoring.Node.TileProperty.Type);
         SkillList = poring.Property.SkillList;
         SetUpDiceBtn(index, gameMode);
         SetEventToAttackBtn(poring);
         SetSkillsEvent(SkillList, poring, index);
     }
     else
     {
         NotMyTurn();
         SetEventToChangeViewBtn();
     }
 }
Пример #6
0
    public override void OnActivate(Poring poring, Poring targetPoring = null, Node targetNode = null, List <Node> nodeList = null)
    {
        gameMode = (PrototypeGameMode)PrototypeGameMode.Instance;

        if (targetPoring != null || targetNode != null)
        {
            GameObject target = (targetPoring != null) ? targetPoring.gameObject : targetNode.gameObject;
            poring.transform.LookAt(target.transform.position);
        }

        CurrentCD = TurnCD;
        targetOnRoute.Clear();

        if (nodeList != null)
        {
            // Move first!!
            nextState = eStateGameMode.EndTurn;
            if (IsAppendDamageOnRoute)
            {
                nodeList.ForEach(n =>
                {
                    n.porings.ForEach(p =>
                    {
                        if (p != targetPoring || p != poring)
                        {
                            targetOnRoute.Add(p);
                        }
                    });
                });
            }

            poring.Behavior.SetupJumpToNodeTarget(nodeList, () => SkillEffectActivate(poring, targetPoring, targetNode));
        }
        else
        {
            nextState = (poring.Property.UltimateSkill.name == name) ? eStateGameMode.EndTurn : gameMode.CurrentGameState;
            SkillEffectActivate(poring, targetPoring, targetNode);
        }
    }
Пример #7
0
 private void Awake()
 {
     m_gameMode = PrototypeGameMode.Instance;
 }
Пример #8
0
    void Awake()
    {
        Instance = this;

        Application.targetFrameRate = 60;
    }