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(); }
protected override void FinishAction() { HideDiceResultMenu(); CurrentDiceRoll.RemoveAllFailures(); if (!CurrentDiceRoll.IsEmpty) { SufferDamage(); } else { NoDamage(); } }
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(); } }
// 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; } }
public static void HideDiceResultMenu() { GameObject.Find("UI").transform.Find("CombatDiceResultsPanel").gameObject.SetActive(false); HideDiceModificationButtons(); CurrentDiceRoll.RemoveDiceModels(); }