public override void UpdateOnceBeforeFrame() { if (MyAPIGateway.TerminalControls == null) { Entity.NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME; return; } if (!_init) { _init = true; //Actions. var sendAction = CustomControls.SendAction <IMyLaserAntenna>(); MyAPIGateway.TerminalControls.AddAction <IMyLaserAntenna>(sendAction); var clearAction = CustomControls.ClearQueue <IMyLaserAntenna>(); MyAPIGateway.TerminalControls.AddAction <IMyLaserAntenna>(clearAction); //Properties. var channelProp = CustomControls.ChannelProp <IMyLaserAntenna>(); MyAPIGateway.TerminalControls.AddControl <IMyLaserAntenna>(channelProp); var messageProp = CustomControls.MessageProp <IMyLaserAntenna>(); MyAPIGateway.TerminalControls.AddControl <IMyLaserAntenna>(messageProp); var incomingCountProp = CustomControls.IncomingCount <IMyLaserAntenna>(); MyAPIGateway.TerminalControls.AddControl <IMyLaserAntenna>(incomingCountProp); var readNextIncoming = CustomControls.ReadNextIncoming <IMyLaserAntenna>(); MyAPIGateway.TerminalControls.AddControl <IMyLaserAntenna>(readNextIncoming); var callback = CustomControls.Callback <IMyLaserAntenna>(); MyAPIGateway.TerminalControls.AddControl <IMyLaserAntenna>(callback); //Controls. var separator = CustomControls.Separator <IMyLaserAntenna>(); Controls.Add(separator); var messageTexbox = CustomControls.MessageTextbox <IMyLaserAntenna>(); Controls.Add(messageTexbox); var sendBtn = CustomControls.SendBtn <IMyLaserAntenna>(); Controls.Add(sendBtn); var callbackList = CustomControls.CallbackList <IMyLaserAntenna>(); Controls.Add(callbackList); var clearCallbackBtn = CustomControls.ClearCallbackBtn <IMyLaserAntenna>(); ((IMyTerminalControlButton)clearCallbackBtn).Action += b => Controls.ForEach(x => x.UpdateVisual()); Controls.Add(clearCallbackBtn); foreach (var control in Controls) { MyAPIGateway.TerminalControls.AddControl <IMyLaserAntenna>(control); } } }
public override void UpdateOnceBeforeFrame() { if (MyAPIGateway.TerminalControls == null) { Entity.NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME; return; } if (!_init) { _init = true; //Actions. var sendAction = CustomControls.SendAction <IMyBeacon>(); MyAPIGateway.TerminalControls.AddAction <IMyBeacon>(sendAction); //Properties. var channelProp = CustomControls.ChannelProp <IMyBeacon>(); MyAPIGateway.TerminalControls.AddControl <IMyBeacon>(channelProp); var messageProp = CustomControls.MessageProp <IMyBeacon>(); MyAPIGateway.TerminalControls.AddControl <IMyBeacon>(messageProp); //Controls. var separator = CustomControls.Separator <IMyBeacon>(); Controls.Add(separator); var channelSlider = CustomControls.ChannelSlider <IMyBeacon>(); Controls.Add(channelSlider); var messageTextbox = CustomControls.MessageTextbox <IMyBeacon>(); Controls.Add(messageTextbox); var sendBtn = CustomControls.SendBtn <IMyBeacon>(); Controls.Add(sendBtn); foreach (var control in Controls) { MyAPIGateway.TerminalControls.AddControl <IMyBeacon>(control); } } }