示例#1
0
    public static void SyncDiceResults(List <DieSide> sides)
    {
        bool wasFixed = false;

        for (int i = 0; i < DiceRoll.CurrentDiceRoll.DiceList.Count; i++)
        {
            Die die = DiceRoll.CurrentDiceRoll.DiceList[i];

            if (die.Model == null)
            {
                die.ShowWithoutRoll();
            }

            if (die.Side != sides[i])
            {
                die.TrySetSide(sides[i]);
                die.SetModelSide(sides[i]);

                wasFixed = true;
            }
        }

        if (wasFixed)
        {
            DiceRoll.CurrentDiceRoll.OrganizeDicePositions();
        }
        else
        {
            DiceRoll.CurrentDiceRoll.UpdateDiceCompareHelperPrediction();
        }

        CurrentDiceRoll.ExecuteCallback();
    }
示例#2
0
        protected override void FinishAction()
        {
            HideDiceResultMenu();

            CurrentDiceRoll.RemoveAllFailures();
            if (!CurrentDiceRoll.IsEmpty)
            {
                SufferDamage();
            }
            else
            {
                NoDamage();
            }
        }
示例#3
0
        protected override void FinishAction()
        {
            HideDiceResultMenu();

            CurrentDiceRoll.RemoveAllFailures();
            if (!CurrentDiceRoll.IsEmpty)
            {
                foreach (Die die in CurrentDiceRoll.DiceList)
                {
                    if (die.Side == DieSide.Crit)
                    {
                        die.SetSide(DieSide.Success);
                    }
                }

                SufferDamage();
            }
            else
            {
                NoDamage();
            }
        }
示例#4
0
    // REROLL

    public void RerollSelected(DelegateDiceroll callBack)
    {
        DiceRoll.CurrentDiceRoll = this;
        this.CallBack            = callBack;

        if (!ShouldSkipToSync())
        {
            foreach (Die die in DiceList)
            {
                if (die.IsSelected)
                {
                    die.RandomizeRotation();
                }
            }
            RerollPreparedDice();
        }
        else
        {
            CurrentDiceRoll.DeselectAll();
            Roster.GetPlayer(Phases.CurrentSubPhase.RequiredPlayer).SyncDiceResults();
            Phases.CurrentSubPhase.IsReadyForCommands = true;
        }
    }
示例#5
0
文件: Combat.cs 项目: xNyer/FlyCasual
 public static void HideDiceResultMenu()
 {
     GameObject.Find("UI").transform.Find("CombatDiceResultsPanel").gameObject.SetActive(false);
     HideDiceModificationButtons();
     CurrentDiceRoll.RemoveDiceModels();
 }