internal static void CreateShootClick <T>()
        {
            var action = MyAPIGateway.TerminalControls.CreateAction <T>($"WC_Shoot_Click");

            action.Icon   = @"Textures\GUI\Icons\Actions\Toggle.dds";
            action.Name   = new StringBuilder($"Toggle Click To Fire");
            action.Action = delegate(IMyTerminalBlock blk) {
                var comp = blk?.Components?.Get <WeaponComponent>();
                if (comp == null || comp.Platform.State != MyWeaponPlatform.PlatformState.Ready)
                {
                    return;
                }

                TerminalHelpers.WCShootClickAction(comp, comp.HasTurret);
            };
            action.Writer = (blk, sb) =>
            {
                var on = blk.Components.Get <WeaponComponent>()?.State.Value.ClickShoot ?? false;

                if (on)
                {
                    sb.Append("On");
                }
                else
                {
                    sb.Append("Off");
                }
            };
            action.Enabled = (b) =>
            {
                var comp = b?.Components?.Get <WeaponComponent>();
                return(comp != null && comp.Platform.State == MyWeaponPlatform.PlatformState.Ready);
            };
            action.ValidForGroups = true;

            MyAPIGateway.TerminalControls.AddAction <T>(action);
        }