/* public static void ToggleCallout () { try { * if ( IsCallout != IsCalloutPressed ) { * IsCallout = IsCalloutPressed; * foreach ( Action<bool> listener in CalloutListener ) * listener( IsCallout ); * } * } catch ( Exception ex ) { Error( ex ); } }*/ // ============ Floating Nameplate ============ public static void ShowPilotWounds(CombatHUDActorNameDisplay __instance, VisibilityLevel visLevel) { try { AbstractActor actor = __instance.DisplayedCombatant as AbstractActor; Pilot pilot = actor?.GetPilot(); Team team = actor?.team; TMPro.TextMeshProUGUI textbox = __instance.PilotNameText; if (AnyNull <object>(pilot, team, textbox, Combat) || pilot.Injuries <= 0) { return; } string format = null; object[] args = new object[] { null, pilot.Injuries, pilot.Health - pilot.Injuries, pilot.Health }; if (team == Combat.LocalPlayerTeam) { format = Settings.ShowPlayerHealth; } else if (team.IsFriendly(Combat.LocalPlayerTeam)) { format = Settings.ShowAllyHealth; } else if (visLevel == VisibilityLevel.LOSFull) { format = Settings.ShowEnemyWounds; args[2] = args[3] = "?"; } if (format != null) { textbox.text = textbox.text + "</uppercase><size=80%>" + Translate(format, args); } } catch (Exception ex) { Error(ex); } }
public static void Postfix(CombatHUDActorNameDisplay __instance, VisibilityLevel visLevel, AbstractActor ___displayedActor) { if (___displayedActor != null && ModState.LastPlayerActorActivated != null && ModState.TurnDirectorStarted && !___displayedActor.Combat.HostilityMatrix.IsLocalPlayerFriendly(___displayedActor.TeamId)) { SensorScanType scanType = SensorLockHelper.CalculateSharedLock(___displayedActor, ModState.LastPlayerActorActivated); // TODO: Needs to be hidden or localized string nameText = scanType >= SensorScanType.AllInformation ? ___displayedActor.GetPilot().Name : ""; __instance.PilotNameText.SetText(nameText); } }
static void Postfix(CombatHUDActorNameDisplay __instance, LocalizableText ___MechNameText) { if (__instance.DisplayedCombatant != null && __instance.DisplayedCombatant is BattleTech.Building building && ModState.AmbushBuildingGUIDToTurrets.ContainsKey(building.GUID)) { Turret turret = ModState.AmbushBuildingGUIDToTurrets[building.GUID]; Text localText = new Text(turret.DisplayName); ___MechNameText.SetText(localText.ToString()); } }
public static void SetNameplateColor(CombatHUDNumFlagHex __instance) { try { Color?colour = GetTeamColour(__instance.DisplayedCombatant, NameplateColours); if (!colour.HasValue) { return; } CombatHUDActorNameDisplay names = __instance.ActorInfo?.NameDisplay; if (names == null) { return; } names.PilotNameText.faceColor = colour.Value; if (colour != Color.black) { names.MechNameText.outlineWidth = 0.2f; names.MechNameText.outlineColor = Color.black; } names.MechNameText.faceColor = colour.Value; } catch (Exception ex) { Error(ex); } }