Hallo,
ich möchte einen Button eine Aktion zuweisen. Wenn ich im Spiel bin, ist das durch den Button "SETUP ACTION" am Block des Buttonpanel sehr einfach möglich.
Wenn das Ganze jedoch über ein Skript konfiguriren werden soll, bin ich auf die Schnittstelle "IMyButtonPanel" angewiesen.
Die Schnittstelle SpaceEngineers.Game.ModAPI.Ingame.IMyButtonPanel gibt nicht viel her.
Alles anzeigen
Ich habe jedoch auch noch die Schnittstelle SpaceEngineers.Game.ModAPI.IMyButtonPanel gefunden.
Hier wird ein Event definiert. Kann es sein, dass ich darauf jedoch keine Zugriff von einem Skript aus einem Programm-Block habe.
Wenn ich hier mit folgenden Code darauf zugreife, kommt immer die Fehlermeldung:
'IMyButtonPanel' does not contain a definition for 'ButtonPressed' and ...
Hat sonst noch jemand eine Idee?
Hintergrund:
Ich baue ein Fahrstuhl-skript. Jede Etage braucht einen Ruf-Knopf und der Fahrstuhl selbst braucht Bewegungsknöpfe. Diese Knöpfe soll mein Skript selbst konfigurieren, um den Benutzer meines Skritpes Arbeit zu ersparen.
MFG Heinchen
ich möchte einen Button eine Aktion zuweisen. Wenn ich im Spiel bin, ist das durch den Button "SETUP ACTION" am Block des Buttonpanel sehr einfach möglich.
Wenn das Ganze jedoch über ein Skript konfiguriren werden soll, bin ich auf die Schnittstelle "IMyButtonPanel" angewiesen.
Die Schnittstelle SpaceEngineers.Game.ModAPI.Ingame.IMyButtonPanel gibt nicht viel her.
C#-Quellcode
- public interface IMyButtonPanel : IMyTerminalBlock, IMyCubeBlock, IMyEntity
- {
- bool AnyoneCanUse {
- get;
- set;
- }
- string GetButtonName(int index);
- void SetCustomButtonName(int index, string name);
- bool HasCustomButtonName(int index);
- void ClearCustomButtonName(int index);
- bool IsButtonAssigned(int index);
- }
Ich habe jedoch auch noch die Schnittstelle SpaceEngineers.Game.ModAPI.IMyButtonPanel gefunden.
C#-Quellcode
- public interface IMyButtonPanel : Sandbox.ModAPI.IMyTerminalBlock, VRage.Game.ModAPI.IMyCubeBlock, VRage.Game.ModAPI.Ingame.IMyCubeBlock, VRage.Game.ModAPI.Ingame.IMyEntity, VRage.ModAPI.IMyEntity, Sandbox.ModAPI.Ingame.IMyTerminalBlock, SpaceEngineers.Game.ModAPI.Ingame.IMyButtonPanel
- {
- event Action<int> ButtonPressed;
- }
Hier wird ein Event definiert. Kann es sein, dass ich darauf jedoch keine Zugriff von einem Skript aus einem Programm-Block habe.
Wenn ich hier mit folgenden Code darauf zugreife, kommt immer die Fehlermeldung:
'IMyButtonPanel' does not contain a definition for 'ButtonPressed' and ...
C#-Quellcode
- public void Main(string argument, UpdateType uT) {
- Runtime.UpdateFrequency = UpdateFrequency.None;
- IMyButtonPanel button = (IMyButtonPanel) GridTerminalSystem.GetBlockWithName("ButtonPanel 1");
- button.ButtonPressed += ping_lcd;
- }
- public void ping_lcd( int e) {
- Echo("OK - Ereignis empfangen " + e);
- }
Hintergrund:
Ich baue ein Fahrstuhl-skript. Jede Etage braucht einen Ruf-Knopf und der Fahrstuhl selbst braucht Bewegungsknöpfe. Diese Knöpfe soll mein Skript selbst konfigurieren, um den Benutzer meines Skritpes Arbeit zu ersparen.
MFG Heinchen