public ValueState ReleaseComponent(ComponentID component) => RustLogic.ReleaseComponent(data, (int)component);
public ValueState PortState(ComponentID component, int port) => RustLogic.PortState(data, (int)component, port);
public ValueState PressComponent(ComponentID component) => RustLogic.PressComponent(data, (int)component);
public void Tick() => RustLogic.Tick(data);
public ValueState SubnetState(SubnetID subnet) => RustLogic.SubnetState(data, (int)subnet);
public bool RemoveComponent(ComponentID component) => RustLogic.RemoveComponent(data, (int)component);
public bool Unlink(ComponentID component, int port, SubnetID subnet) => RustLogic.Unlink(data, (int)component, port, (int)subnet);
public ComponentID AddComponent(ComponentType componentType) => (ComponentID)RustLogic.AddComponent(data, componentType);
public bool RemoveSubnet(SubnetID subnet) => RustLogic.RemoveSubnet(data, (int)subnet);
public bool AddSubnet(SubnetID subnet) => RustLogic.AddSubnet(data, (int)subnet);
public void Exit() => RustLogic.Exit(data);
public void Init() => data = RustLogic.Init();