private static void PreviewElementaryPoints(LocalPlayerUIRework localPlayerUI, CaracId element, int value, ValueModifier modifier) { switch (element) { case CaracId.FirePoints: localPlayerUI.ShowPreviewFire(value, modifier); break; case CaracId.WaterPoints: localPlayerUI.ShowPreviewWater(value, modifier); break; case CaracId.EarthPoints: localPlayerUI.ShowPreviewEarth(value, modifier); break; case CaracId.AirPoints: localPlayerUI.ShowPreviewAir(value, modifier); break; default: throw new ArgumentOutOfRangeException("element", element, null); } }
private static void PreviewCosts(IReadOnlyList <Cost> costs, DynamicValueFightContext context) { LocalPlayerUIRework localPlayerUI = FightUIRework.instance.GetLocalPlayerUI(s_playerCasting); for (int i = 0; i < costs.Count; i++) { Cost cost = costs[i]; if (cost == null) { continue; } ActionPointsCost actionPointsCost; int value3; if ((actionPointsCost = (cost as ActionPointsCost)) == null) { if (!(cost is DrainActionPointsCost)) { ElementPointsCost elementPointsCost; if ((elementPointsCost = (cost as ElementPointsCost)) == null) { DrainElementsPoints drainElementsPoints; if ((drainElementsPoints = (cost as DrainElementsPoints)) == null) { ReservePointsCost reservePointsCost; int value; if ((reservePointsCost = (cost as ReservePointsCost)) == null) { if (cost is DrainReservePointsCost) { localPlayerUI.PreviewReservePoints(0, ValueModifier.Set); } } else if (reservePointsCost.value.GetValue(context, out value)) { localPlayerUI.PreviewReservePoints(value, ValueModifier.Add); } } else { DrainElementsPoints drainElementsPoints2 = drainElementsPoints; int count = drainElementsPoints2.elements.Count; for (int j = 0; j < count; j++) { PreviewElementaryPoints(localPlayerUI, drainElementsPoints2.elements[j], 0, ValueModifier.Set); } } } else { ElementPointsCost elementPointsCost2 = elementPointsCost; if (elementPointsCost2.value.GetValue(context, out int value2)) { PreviewElementaryPoints(localPlayerUI, elementPointsCost2.element, value2, ValueModifier.Add); } } } else { localPlayerUI.PreviewActionPoints(0, ValueModifier.Set); } } else if (actionPointsCost.value.GetValue(context, out value3)) { localPlayerUI.PreviewActionPoints(value3, ValueModifier.Add); } } }