//kOS-Utilities SharedObjects GetProcessorShare(kOSProcessor processor) { //Register the kOSProcessor's SharedObjects FieldInfo sharedField = typeof(kOSProcessor).GetField("shared", BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic); var proc_shared = sharedField.GetValue(processor); return((SharedObjects)proc_shared); }
public void RunProgramOn(List <Opcode> program, Volume volume) { kOSProcessor processor = GetProcessor(volume); RunCommand runCommand = new RunCommand(); runCommand.Program = program; processor.ExecuteInterProcCommand(runCommand); }
internal Processor(Part part) { Part = part; processor = part.InternalPart.Modules.OfType <kOSProcessor>().FirstOrDefault(); // We expect this to always if (processor == null) { throw new ArgumentException("Part is not a kOS Processor"); } }
public override void Execute(kOS.SharedObjects shared) { kOSProcessor processor = shared.Processor as kOSProcessor; if (processor == null) { throw new ArgumentException("Processor is not a kOSProcessor"); } processor.Send((Structure)KIPC.Serialization.Serializer.ReadJson(shared, json)); }
private void DrawPartRow(Part part) { CountBeginHorizontal(); DrawPart(part); kOSProcessor processorModule = part.Modules.OfType <kOSProcessor>().FirstOrDefault(); if (processorModule == null) { throw new ArgumentException(@"Part does not have a kOSProcessor module", "part"); } GUIStyle powerBoxStyle; string powerLabelText; string powerLabelTooltip; if (processorModule.ProcessorMode == ProcessorModes.STARVED) { powerBoxStyle = boxDisabledStyle; powerLabelText = "power\n<starved>"; powerLabelTooltip = "Highlighted CPU has no ElectricCharge."; } else if (processorModule.ProcessorMode == ProcessorModes.READY) { powerBoxStyle = boxOnStyle; powerLabelText = "power\non"; powerLabelTooltip = "Highlighted CPU is turned on and running.\n"; } else { powerBoxStyle = boxOffStyle; powerLabelText = "power\noff"; powerLabelTooltip = "Highlighted CPU is turned off."; } GUILayout.Box(new GUIContent(powerLabelText, powerLabelTooltip), powerBoxStyle); if (GUILayout.Button((processorModule.WindowIsOpen() ? new GUIContent((processorModule.TelnetIsAttached() ? terminalOpenTelnetIconTexture : terminalOpenIconTexture), "Click to close terminal window.") : new GUIContent((processorModule.TelnetIsAttached() ? terminalClosedTelnetIconTexture : terminalClosedIconTexture), "Click to open terminal window.")), panelSkin.button)) { processorModule.ToggleWindow(); } CountEndHorizontal(); CheckHoverOnPreviousGUIElement(part); }
//kOS-Utilities public SharedObjects GetProcessorShared(kOSProcessor processor) { FieldInfo sharedField = typeof(kOSProcessor).GetField("shared", BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic); var proc_shared = sharedField.GetValue(processor); return (SharedObjects)proc_shared; }
public Core(kOSProcessor processor, SharedObjects shared):base(processor, shared) { InitializeSuffixes(); }
internal Processor(kOSProcessor processor) { this.processor = processor; Part = new Part(this.processor.part); }
public ProcessorConnection(kOSProcessor processor, SharedObjects shared) : base() { this.shared = shared; this.processor = processor; }
public kOSProcessorFields(kOSProcessor processor, SharedObjects sharedObj) : base(processor, sharedObj) { this.processor = processor; InitializeSuffixes(); }