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 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); } }