public override IEnumerable <Gizmo> GetGizmos() { var armGizmo = new Command_Toggle { toggleAction = ArmGizmoAction, isActive = () => desiredArmState, icon = Resources.Textures.UIArm, defaultLabel = ArmButtonLabel, defaultDesc = ArmButtonDesc, hotKey = Resources.KeyBinging.RemoteExplosiveArm }; yield return(armGizmo); if (RemoteExplosivesUtility.ChannelsUnlocked()) { var channelGizmo = RemoteExplosivesUtility.MakeChannelGizmo(desiredChannel, currentChannel, ChannelGizmoAction); yield return(channelGizmo); } if (replaceComp != null) { yield return(replaceComp.MakeGizmo()); } if (DebugSettings.godMode) { yield return(new Command_Action { action = () => { if (isArmed) { Disarm(); } else { Arm(); } }, icon = Resources.Textures.UIArm, defaultLabel = "DEV: Toggle armed" }); yield return(new Command_Action { action = () => { Arm(); LightFuse(); }, icon = Resources.Textures.UIDetonate, defaultLabel = "DEV: Detonate now" }); } foreach (var g in base.GetGizmos()) { yield return(g); } }
public override string GetInspectString() { var stringBuilder = new StringBuilder(); stringBuilder.Append(base.GetInspectString()); stringBuilder.AppendLine(); stringBuilder.Append("DetonatorTable_inrange".Translate()); stringBuilder.Append(": " + numViableExplosives); if (RemoteExplosivesUtility.ChannelsUnlocked()) { stringBuilder.AppendLine(); stringBuilder.Append(RemoteExplosivesUtility.GetCurrentChannelInspectString(currentChannel)); } return(stringBuilder.ToString()); }
public override string GetInspectString() { var stringBuilder = new StringBuilder(); stringBuilder.Append(base.GetInspectString()); if (IsArmed) { stringBuilder.Append("TrapArmed".Translate()); } else { stringBuilder.Append("TrapNotArmed".Translate()); } if (RemoteExplosivesUtility.ChannelsUnlocked()) { stringBuilder.AppendLine(); stringBuilder.Append(RemoteExplosivesUtility.GetCurrentChannelInspectString(currentChannel)); } return(stringBuilder.ToString()); }
public override IEnumerable <Gizmo> GetGizmos() { var detonateGizmo = new Command_Toggle { toggleAction = DetonateGizmoAction, isActive = () => wantDetonation, icon = Resources.Textures.UIDetonate, defaultLabel = DetonateButtonLabel, defaultDesc = DetonateButtonDesc, hotKey = Resources.KeyBinging.RemoteTableDetonate }; yield return(detonateGizmo); if (RemoteExplosivesUtility.ChannelsUnlocked()) { if (hasChannelsComponent) { var channelGizmo = RemoteExplosivesUtility.MakeChannelGizmo(currentChannel, currentChannel, ChannelGizmoAction); yield return(channelGizmo); } else { var componentGizmo = new Command_Toggle { toggleAction = ComponentGizmoAction, isActive = () => wantChannelsComponent, icon = Resources.Textures.UIChannelComponent, defaultLabel = InstallComponentButtonLabel, defaultDesc = InstallComponentButtonDesc }; yield return(componentGizmo); } } foreach (var g in base.GetGizmos()) { yield return(g); } }