public VMAbstractEODRackPlugin(VMEODServer server) : base(server) { // Get the data from the global server containing the rack name server.vm.GlobalLink.LoadPluginPersist(server.vm, server.Object.PersistID, server.PluginID, (byte[] data) => { lock (this) { if (data == null) { Data = new VMEODRackData(); Data.RackName = "Name your rack"; } else { Data = new VMEODRackData(data); } } }); Lobby = new EODLobby <VMEODPaperChaseSlot>(server, 1) .OnFailedToJoinDisconnect(); PlaintextHandlers["close"] = Lobby.Close; server.CanBeActionCancelled = true; }
public override void OnDisconnection(VMEODClient client) { // check to see if the rack name was changed by owner, if so save the new name on the server if (HasRackNameChanged) { Data.RackName = ProposedNewRackName; var newData = new VMEODRackData(Data.Save()); Server.vm.GlobalLink.SavePluginPersist(Server.vm, Server.Object.PersistID, (uint)VMEODRackPluginIDs.RackOwnerPlugin, newData.Save()); Server.vm.GlobalLink.SavePluginPersist(Server.vm, Server.Object.PersistID, (uint)VMEODRackPluginIDs.RackCustomerPlugin, newData.Save()); } Lobby.Leave(client); }