Example #1
0
        MenuRemote GetConnectDisplayRemote()
        {
            MenuRemote connectDisplayRemote = new MenuRemote("Connect >", "");

            // Get surface providers
            GridTerminalSystem.GetBlocksOfType <IMyTextSurfaceProvider>(getBlocksScratchPad, SameConstructAsMe);
            for (int i = 0; i < getBlocksScratchPad.Count; i++)
            {
                var provider = (IMyTextSurfaceProvider)getBlocksScratchPad[i];
                var subItem  = new MenuRemote(getBlocksScratchPad[i].CustomName, "");

                for (int j = 0; j < provider.SurfaceCount; j++)
                {
                    subItem.subMenues.Add(new MenuRemote($"{provider.GetSurface(j).DisplayName} >", $"connectdisplay {getBlocksScratchPad[i].EntityId} {j}"));
                }

                connectDisplayRemote.subMenues.Add(subItem);
            }
            getBlocksScratchPad.Clear();

            // Get panels
            GridTerminalSystem.GetBlocksOfType <IMyTextPanel>(getBlocksScratchPad, SameConstructAsMe);
            for (int i = 0; i < getBlocksScratchPad.Count; i++)
            {
                var panel   = (IMyTextPanel)getBlocksScratchPad[i];
                var subItem = new MenuRemote(getBlocksScratchPad[i].CustomName, "");
                subItem.subMenues.Add(new MenuRemote($"{getBlocksScratchPad[i].DisplayName}", $"connectdisplay {getBlocksScratchPad[i].EntityId} 0"));

                connectDisplayRemote.subMenues.Add(subItem);
            }

            getBlocksScratchPad.Clear();
            return(connectDisplayRemote);
        }
Example #2
0
        MenuRemote GetDisconnectDisplayRemote()
        {
            MenuRemote disconnectDisplayRemote = new MenuRemote("Disconnect >", "");

            for (int i = 0; i < surfaceProviders.Count; i++)
            {
                disconnectDisplayRemote.subMenues.Add(new MenuRemote(surfaceProviders[i].CustomName, $"disconnectdisplay {surfaceProviders[i].EntityId}"));
            }
            for (int i = 0; i < displays.Count; i++)
            {
                disconnectDisplayRemote.subMenues.Add(new MenuRemote(((IMyTerminalBlock)displays[i]).CustomName, $"disconnectdisplay {displays[i].EntityId}"));
            }

            return(disconnectDisplayRemote);
        }
Example #3
0
        MenuRemote GetDeltaRequestRemote()
        {
            MenuRemote remote          = new MenuRemote("Requests >", "");
            IEnumerator <MyItemType> i = requestDict.Keys.GetEnumerator();

            while (i.MoveNext())
            {
                MenuRemote itemRemote = new MenuRemote($"{TypeToKey[i.Current]}>", "");
                remote.subMenues.Add(itemRemote);
                itemRemote.subMenues.Add(new MenuRemote("+ 1000", $"deltarequest {TypeToKey[i.Current]} 1000"));
                itemRemote.subMenues.Add(new MenuRemote("+ 100", $"deltarequest {TypeToKey[i.Current]} 100"));
                itemRemote.subMenues.Add(new MenuRemote("+ 10", $"deltarequest {TypeToKey[i.Current]} 10"));
                itemRemote.subMenues.Add(new MenuRemote("- 1000", $"deltarequest {TypeToKey[i.Current]} -s 1000"));
                itemRemote.subMenues.Add(new MenuRemote("- 100", $"deltarequest {TypeToKey[i.Current]} -s 100"));
                itemRemote.subMenues.Add(new MenuRemote("- 10", $"deltarequest {TypeToKey[i.Current]} -s 10"));
            }
            return(remote);
        }
Example #4
0
        void RemoteSendCommands()
        {
            long targetId;

            long.TryParse(commandLine.Argument(1), out targetId);

            MenuRemote remoteMenuRoot;

            // Setup remote commands
            remoteMenuRoot = new MenuRemote("root", "");

            // Setup display
            var displaysMenu = new MenuRemote($"Displays ({displays.Count + surfaceProviders.Count})", "");

            displaysMenu.subMenues.Add(GetConnectDisplayRemote());
            displaysMenu.subMenues.Add(GetDisconnectDisplayRemote());

            remoteMenuRoot.subMenues.Add(displaysMenu);

            remoteMenuRoot.subMenues.Add(GetDeltaRequestRemote());

            SendData(targetId, remoteMenuRoot.Serialize());
        }
Example #5
0
 void MySetupCommands(MenuRemote root)
 {
 }