public static bool Prefix(CombatHUDPhaseTrack __instance, CombatHUDIconTracker tracker, int phase, int ___currentPhase, List <CombatHUDPhaseIcons> ___PhaseIcons) { Mod.Log.Trace?.Write($"CHUDPT:STP - entered at phase: {phase}."); int[] bounds = PhaseHelper.CalcPhaseIconBounds(___currentPhase); int phaseAsInit = (Mod.MaxPhase + 1) - phase; Mod.Log.Trace?.Write($"Phase {phase} is init {phaseAsInit} within currentPhase: {___currentPhase} with bounds: {bounds[0]}-{bounds[4]}"); if (phaseAsInit > bounds[1]) { Mod.Log.Trace?.Write($" -- Phase icon is higher than {bounds[1]}, setting to P phase."); ___PhaseIcons[0].AddIconTrackerToPhase(tracker); } else if (phaseAsInit < bounds[3]) { Mod.Log.Trace?.Write($" -- Phase icon is higher than {bounds[3]}, setting to F phase."); ___PhaseIcons[4].AddIconTrackerToPhase(tracker); } else { for (int i = 0; i < 5; i++) { if (bounds[i] == phaseAsInit) { Mod.Log.Trace?.Write($" -- Setting phase icon for phaseAsInit: {phaseAsInit} / bounds: {bounds[i]} at index {i}"); ___PhaseIcons[i].AddIconTrackerToPhase(tracker); } } } return(false); }
public static void Postfix(CombatHUDPhaseTrack __instance, MessageCenterMessage message, TextMeshProUGUI ___roundCounterText) { //SkillBasedInit.Logger.Log($"CombatHUDPhaseTrack:OnPhaseBegin:post - Init"); PhaseBeginMessage phaseBeginMessage = message as PhaseBeginMessage; string phaseText = string.Format("{0} - Phase {1}", phaseBeginMessage.Round, 31 - phaseBeginMessage.Phase); ___roundCounterText.SetText(phaseText); //SkillBasedInit.Logger.Log($"CombatHUDPhaseTrack:OnPhaseBegin:post - for {phaseText}"); }
public static bool Prefix(CombatHUDPhaseTrack __instance, bool isPlayer, Hostility hostility, int ___currentPhase, CombatHUDPhaseBar[] ___phaseBars) { Mod.Log.Trace?.Write("CHUDPT::RPC - entered."); if (__instance == null || ___phaseBars == null) { return(true); } if (!ModState.Combat.TurnDirector.IsInterleaved) { return(true); } // Reconcile phase (from 1 - X) with display (X to 1) int initNum = (Mod.MaxPhase + 1) - ___currentPhase; int[] phaseBounds = PhaseHelper.CalcPhaseIconBounds(___currentPhase); Mod.Log.Trace?.Write($" For currentPhase: {___currentPhase} phaseBounds are: [ {phaseBounds[0]} {phaseBounds[1]} {phaseBounds[2]} {phaseBounds[3]} {phaseBounds[4]} ]"); for (int i = 0; i < 5; i++) { if (phaseBounds[i] > initNum) { Mod.Log.Trace?.Write($" Setting phase: {phaseBounds[i]} as past phase."); ___phaseBars[i].IndicatePastPhase(); } else if (phaseBounds[i] == initNum) { Mod.Log.Trace?.Write($" Setting phase: {phaseBounds[i]} as current phase."); ___phaseBars[i].IndicateCurrentPhase(isPlayer, hostility); } else { Mod.Log.Trace?.Write($" Setting phase: {phaseBounds[i]} as future phase."); ___phaseBars[i].IndicateFuturePhase(isPlayer, hostility); } ___phaseBars[i].Text.SetText($"{phaseBounds[i]}"); } if (phaseBounds[0] != Mod.MaxPhase) { ___phaseBars[0].Text.SetText("P"); } if (phaseBounds[4] != Mod.MinPhase) { ___phaseBars[4].Text.SetText("F"); } return(false); }
public static void Postfix(CombatHUDPhaseTrack __instance, CombatGameState combat, CombatHUD HUD, List <CombatHUDPhaseIcons> ___PhaseIcons, CombatHUDReserveButton ___reserveButton) { //SkillBasedInit.Logger.Log($"CombatHUDPhaseTrack:Init - entered"); __instance.OnCombatGameDestroyed(); combat.MessageCenter.Subscribe(MessageCenterMessageType.OnRoundBegin, new ReceiveMessageCenterMessage(__instance.OnRoundBegin), true); combat.MessageCenter.Subscribe(MessageCenterMessageType.OnPhaseBegin, new ReceiveMessageCenterMessage(__instance.OnPhaseBegin), true); ___reserveButton.DisableButton(); __instance.Visible = false; }
public static void Postfix(CombatHUDPhaseTrack __instance, MessageCenterMessage message, TextMeshProUGUI ___roundCounterText, List <CombatHUDIconTracker> ___IconTrackers, GameObject ___phaseTrack, GameObject[] ___phaseBarHolders) { //SkillBasedInit.Logger.Log($"CombatHUDPhaseTrack:OnRoundBegin:post - Init"); for (int i = 0; i < ___IconTrackers.Count; i++) { ___IconTrackers[i].Visible = false; } ___phaseTrack.SetActive(false); for (int i = 0; i < ___phaseBarHolders.Length; i++) { ___phaseBarHolders[i].SetActive(false); } }
public static bool Prefix(CombatHUDPhaseTrack __instance, CombatHUDIconTracker tracker, int phase) { return(false); }