public VMEODHandler(VMEODServer server) { PlaintextHandlers = new Dictionary <string, EODPlaintextEventHandler>(); BinaryHandlers = new Dictionary <string, EODBinaryEventHandler>(); SimanticsHandlers = new Dictionary <short, EODSimanticsEventHandler>(); Server = server; }
public VMEODDresserPlugin(VMEODServer server) : base(server) { Lobby.OnJoinSend("dresser_show"); PlaintextHandlers["dresser_change_outfit"] = ChangeOutfit; PlaintextHandlers["dresser_set_default"] = SetDefault; PlaintextHandlers["dresser_delete_outfit"] = DeleteOutfit; }
public VMEODTimerPlugin(VMEODServer server) : base(server) { BinaryHandlers["Timer_State_Change"] = StateChangeHandler; BinaryHandlers["Timer_IsRunning_Change"] = IsRunningChangeHandler; BinaryHandlers["Timer_Set"] = SetTimerHandler; PlaintextHandlers["Timer_Close"] = CloseHandler; }
public VMEODNightclubControllerPlugin(VMEODServer server) : base(server) { SimanticsHandlers[(short)VMEODNightclubEventTypes.RoundStart] = RoundStartHandler; SimanticsHandlers[(short)VMEODNightclubEventTypes.RoundEnd] = RoundEndHandler; HidePortals(); }
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 VMEODPaperChasePlugin(VMEODServer server) : base(server) { Lobby = new EODLobby <VMEODPaperChaseSlot>(server, 3) .BroadcastPlayersOnChange("paperchase_players") .OnJoinSend("paperchase_show") .OnFailedToJoinDisconnect(); PlaintextHandlers["close"] = Lobby.Close; PlaintextHandlers["paperchase_chooseletter"] = SetPlayerLetter; StateMachine = new StateMachine <VMEODPaperChaseState>(VMEODPaperChaseState.Lobby); StateMachine.OnTransition += StateMachine_OnTransition; //The random function is crappy, if we use it to choose single chars it very often chooses the same combination //Expanding the list gives us more variance Combinations = new short[27][]; var i = 0; for (var x = 0; x < 3; x++) { for (var y = 0; y < 3; y++) { for (var z = 0; z < 3; z++) { //1 = a, 2 = b, 3=c Combinations[i] = new short[] { (short)(x + 1), (short)(y + 1), (short)(z + 1) }; i++; } } } }
public VMEODHandler(VMEODServer server) { PlaintextHandlers = new Dictionary<string, EODPlaintextEventHandler>(); BinaryHandlers = new Dictionary<string, EODBinaryEventHandler>(); SimanticsHandlers = new Dictionary<short, EODSimanticsEventHandler>(); Server = server; }
public VMEODGameshowBuzzerHostPlugin(VMEODServer server) : base(server) { BinaryHandlers["Buzzer_Host_FindNewPlayer"] = FindNewPlayerHandler; BinaryHandlers["Buzzer_Host_MovePlayerRight"] = MovePlayerRightHandler; BinaryHandlers["Buzzer_Host_MovePlayerLeft"] = MovePlayerLeftHandler; BinaryHandlers["Buzzer_Host_ToggleEnablePlayer"] = ToggleEnablePlayerHandler; BinaryHandlers["Buzzer_Host_PlayerCorrect"] = PlayerCorrectHandler; BinaryHandlers["Buzzer_Host_PlayerIncorrect"] = PlayerIncorrectHandler; BinaryHandlers["Buzzer_Host_A_ToggleMaster"] = ToggleMasterHandler; BinaryHandlers["Buzzer_Host_A_DeclareWinner"] = DeclareWinnerHandler; BinaryHandlers["Buzzer_Host_A_Deduct"] = (evt, newFlag, client) => { ToggleOptionHandler(_Options, nameof(VMEODGameshowBuzzerHostOptions.AutoDeductWrongPoints), newFlag, evt); }; BinaryHandlers["Buzzer_Host_A_Disable"] = (evt, newFlag, client) => { ToggleOptionHandler(_Options, nameof(VMEODGameshowBuzzerHostOptions.AutoDisableOnWrong), newFlag, evt); }; BinaryHandlers["Buzzer_Host_A_Enable"] = (evt, newFlag, client) => { ToggleOptionHandler(_Options, nameof(VMEODGameshowBuzzerHostOptions.AutoEnableAllOnRight), newFlag, evt); }; BinaryHandlers["Buzzer_Host_A_BuzzerTime"] = (evt, newTime, client) => { ChangeValueHandler(_Options, nameof(VMEODGameshowBuzzerHostOptions.BuzzerTimeLimit), newTime, MIN_BUZZER_TIME, MAX_BUZZER_TIME, evt, "Buzzer_Host_B_OverBuzzerTime", "Buzzer_Host_B_UnderBuzzerTime"); }; BinaryHandlers["Buzzer_Host_A_AnswerTime"] = (evt, newTime, client) => { ChangeValueHandler(_Options, nameof(VMEODGameshowBuzzerHostOptions.AnswerTimeLimit), newTime, MIN_ANSWER_TIME, MAX_ANSWER_TIME, evt, "Buzzer_Host_B_OverAnswerTime", "Buzzer_Host_B_UnderAnswerTime"); }; BinaryHandlers["Buzzer_Host_A_PlayerScore0"] = (evt, newScore, client) => { ChangePlayerScoreHandler(0, newScore); }; BinaryHandlers["Buzzer_Host_A_PlayerScore1"] = (evt, newScore, client) => { ChangePlayerScoreHandler(1, newScore); }; BinaryHandlers["Buzzer_Host_A_PlayerScore2"] = (evt, newScore, client) => { ChangePlayerScoreHandler(2, newScore); }; BinaryHandlers["Buzzer_Host_A_PlayerScore3"] = (evt, newScore, client) => { ChangePlayerScoreHandler(3, newScore); }; BinaryHandlers["Buzzer_Host_A_GlobalScore"] = (evt, newAmount, client) => { ChangeValueHandler(_Options, nameof(VMEODGameshowBuzzerHostOptions.CorrectAnswerScore), newAmount, 0, MAX_SCORE, evt, "Buzzer_Host_B_OverGlobalScore", "Buzzer_Host_B_UnderGlobalScore"); }; BinaryHandlers["Buzzer_Host_Request_Roster"] = RequestRosterHandler; SimanticsHandlers[(short)VMEODGameshowHostPluginEvents.Host_Judgment_Callback] = JudgmentCallbackHandler; SimanticsHandlers[(short)VMEODGameshowHostPluginEvents.Execute_Declare_Winner] = ExecuteDeclareWinnerHandler; }
public VMEODRackOwnerPlugin(VMEODServer server) : base(server) { PlaintextHandlers["rackowner_update_name"] = UpdateNameHandler; PlaintextHandlers["rackowner_stock"] = Stock; PlaintextHandlers["rackowner_delete"] = DeleteStock; PlaintextHandlers["rackowner_update_price"] = UpdatePrice; }
public VMEODSlotsPlugin(VMEODServer server) : base(server) { // Insitialise stop probability data for 100% RTP slot machine, these will change below if owner set payout is not 100% InitialBlankStops = 75; TotalFirstStops = 42; TotalSecondStops = 49; TotalThirdStops = 36; TotalFourthStops = 24; TotalFifthStops = 12; TotalSixthStops = 6; BinaryHandlers["slots_new_odds"] = NewOddsHandler; PlaintextHandlers["slots_toggle_onOff"] = ToggleOnOffHandler; PlaintextHandlers["slots_execute_bet"] = BetHandler; PlaintextHandlers["slots_wheels_stopped"] = WheelsStoppedHandler; PlaintextHandlers["slots_close_UI"] = SlotsCloseHandler; PlaintextHandlers["slots_withdraw"] = WithdrawHandler; PlaintextHandlers["slots_deposit"] = DepositHandler; SimanticsHandlers[(short)VMOEDSlotsObjectEvents.GameOver] = GameOverHandler; SimanticsHandlers[(short)VMOEDSlotsObjectEvents.InsufficientFunds] = GameOverHandler; SimanticsHandlers[1] = UnknownEventHandler; SimanticsHandlers[2] = UnknownEventHandler; SimanticsHandlers[3] = UnknownEventHandler; SimanticsHandlers[7] = UnknownEventHandler; }
public VMEODScoreboardPlugin(VMEODServer server) : base(server, "scoreboard") { Persist = new EODPersist <VMEODScoreboardData>(server); PlaintextHandlers["scoreboard_updatecolor"] = UpdateColor; PlaintextHandlers["scoreboard_updatescore"] = UpdateScore; PlaintextHandlers["scoreboard_setscore"] = SetScore; }
public VMEODTwoPersonJobObjectMazePlugin(VMEODServer server) : base(server) { GameState = VMEODTwoPersonJobObjectMazePluginStates.Waiting_For_Player; Rng = new Random(); // listeners BinaryHandlers["TSOMaze_Button_Click"] = CharismaButtonClickedHandler; }
public VMEODBulletinPlugin(VMEODServer server) : base(server) { PlaintextHandlers["bulletin_mode"] = P_Mode; PlaintextHandlers["bulletin_posted"] = P_Posted; PlaintextHandlers["close"] = P_Close; SimanticsHandlers[(short)VMEODBulletinEventIn.AnimChanged] = S_AnimChanged; }
public VMEODNCDanceFloorPlugin(VMEODServer server) : base(server) { //PlaintextHandlers["close"] = P_Close; //PlaintextHandlers["press_button"] = P_DanceButton; SimanticsHandlers[(short)VMEODNCDanceFloorEvents.DiscoverTiles] = S_DiscoverTiles; SimanticsHandlers[(short)VMEODNCDanceFloorEvents.SetAnimation] = S_SetAnimation; SimanticsHandlers[(short)VMEODNCDanceFloorEvents.SetRatings] = S_SetRatings; }
public VMEODMazeTwoPlugin(VMEODServer server) : base(server) { NextState = FreeSOMazeStates.Invalid; ThankU = new Random(); BinaryHandlers["FreeSOMaze_choose_difficulty"] = ChooseDifficultyHandler; BinaryHandlers["FreeSOMaze_loaded"] = FirstLoadHandler; BinaryHandlers["FreeSOMaze_partner_failsafe"] = FirstLoadHandler; BinaryHandlers["FreeSOMaze_move_request"] = MoveRequestHandler; }
public VMEODSecureTradePlugin(VMEODServer server) : base(server) { Lobby = new EODLobby <VMEODSecureTradePlayer>(server, 2) .BroadcastPlayersOnChange("trade_players") .OnJoinSend("trade_show") .OnFailedToJoinDisconnect(); PlaintextHandlers["close"] = Lobby.Close; PlaintextHandlers["trade_offer"] = TradeOffer; }
public VMEODPizzaMakerPlugin(VMEODServer server) : base(server) { PopulateCards(); PlaintextHandlers["close"] = P_Close; PlaintextHandlers["ingredient"] = P_Ingredient; SimanticsHandlers[(short)VMEODPizzaObjEvent.RespondPhone] = S_RespondPhone; SimanticsHandlers[(short)VMEODPizzaObjEvent.AllContributed] = S_AllContributed; SimanticsHandlers[(short)VMEODPizzaObjEvent.RespondBake] = S_RespondBake; }
public VMBasicEOD(VMEODServer server, string name) : base(server) { EODName = name; Lobby = new EODLobby <T>(server, 1) .OnJoinSend(EODName + "_show") .OnFailedToJoinDisconnect(); PlaintextHandlers["close"] = Lobby.Close; }
public VMEODWarGamePlugin(VMEODServer server) : base(server) { Players = NewGame(); BinaryHandlers["WarGame_Piece_Selection"] = PieceSelectionHandler; PlaintextHandlers["WarGame_Close_UI"] = OnCloseUIHandler; SimanticsHandlers[(short)VMEODWarGameEvents.NextRound] = NextRoundHandler; SimanticsHandlers[(short)VMEODWarGameEvents.NextGame] = NextGameHandler; GameMessageTimer = new Timer(5000); GameMessageTimer.Elapsed += GameTieMessageHandler; RoundMessageTimer = new Timer(5000); RoundMessageTimer.Elapsed += RoundTieMessageHandler; }
public VMEODBandPlugin(VMEODServer server) : base(server) { Lobby = new EODLobby <VMEODBandSlot>(server, 4) .BroadcastPlayersOnChange("Band_Players") .OnFailedToJoinDisconnect(); State = VMEODBandStates.Idle; SequenceTimer = new Timer(MILLISECONDS_PER_NOTE_IN_SEQUENCE); SequenceTimer.Elapsed += SequenceTimerElapsedHandler; // event listeners BinaryHandlers["Band_Decision"] = RockOnOrSellOutHandler; BinaryHandlers["Band_Note"] = NoteSelectedHandler; SimanticsHandlers[(short)VMEODBandEventTypes.NewGame] = NewGameHandler; SimanticsHandlers[(short)VMEODBandEventTypes.AnimationsFinished] = AnimationsFinishedHandler; }
private bool DisableRead = false; //don't have read permission #endregion Fields #region Constructors public VMEODSignsPlugin(VMEODServer server) : base(server) { //we have data. load from global server. server.vm.GlobalLink.LoadPluginPersist(server.vm, server.Object.PersistID, server.PluginID, (byte[] data) => { lock (this) { if (data == null) { Data = new VMEODSignsData(); Data.Flags = (ushort)(VMEODSignPermissionFlags.RoomieWrite | VMEODSignPermissionFlags.RoomieRead | VMEODSignPermissionFlags.FriendRead | VMEODSignPermissionFlags.VisitorRead); } else Data = new VMEODSignsData(data); } }); BinaryHandlers["set_message"] = B_SetMessage; PlaintextHandlers["close"] = P_Close; }
public bool SentMessage = false; //if false and we have a message, send it to the client. public VMEODPermissionDoorPlugin(VMEODServer server) : base(server) { //we have data. load from global server. server.vm.GlobalLink.LoadPluginPersist(server.vm, server.Object.PersistID, server.PluginID, (byte[] data) => { lock (this) { Code = 0; if (data != null) { uint.TryParse(System.Text.Encoding.UTF8.GetString(data), out var result); Code = result; } } }); PlaintextHandlers["set_code"] = P_SetCode; PlaintextHandlers["set_state"] = P_SetState; PlaintextHandlers["set_fee"] = P_SetFee; PlaintextHandlers["set_flags"] = P_SetFlags; PlaintextHandlers["try_code"] = P_TryCode; PlaintextHandlers["close"] = P_Close; }
private bool DisableRead = false; //don't have read permission public VMEODSignsPlugin(VMEODServer server) : base(server) { //we have data. load from global server. server.vm.GlobalLink.LoadPluginPersist(server.vm, server.Object.PersistID, server.PluginID, (byte[] data) => { lock (this) { if (data == null) { Data = new VMEODSignsData(); Data.Flags = (ushort)(VMEODSignPermissionFlags.RoomieWrite | VMEODSignPermissionFlags.RoomieRead | VMEODSignPermissionFlags.FriendRead | VMEODSignPermissionFlags.VisitorRead); } else { Data = new VMEODSignsData(data); } } }); BinaryHandlers["set_message"] = B_SetMessage; PlaintextHandlers["close"] = P_Close; }
public VMEODStubPlugin(VMEODServer server) : base(server) { }
public VMEODRackPlugin(VMEODServer server) : base(server) { PlaintextHandlers["rack_try_outfit_on"] = TryOutfitOn; PlaintextHandlers["rack_purchase"] = Purchase; }
public VMEODDanceFloorPlugin(VMEODServer server) : base(server) { PlaintextHandlers["close"] = P_Close; PlaintextHandlers["press_button"] = P_DanceButton; }
public VMEODGameCompDrawACardPlugin(VMEODServer server) : base(server) { // create a default deck until data is retrieved from the server Game = new CarducopiaDrawACardGame(); // Initialize Mode to the unused mode of the plugin Mode = VMEODGameCompDrawACardModes.CopyDeck; // event listeners & handlers BinaryHandlers["DrawCard_Delete_Card"] = DeleteCurrentCardHandler; BinaryHandlers["DrawCard_Edit_Frequency"] = SetCardFrequencyHandler; BinaryHandlers["DrawCard_Goto_Card"] = GotoCardHandler; BinaryHandlers["DrawCard_Edit_Card"] = EditCurrentCardHandler; BinaryHandlers["DrawCard_Add_Card"] = PushNewCardHandler; BinaryHandlers["DrawCard_Edit_Game"] = EditGameHandler; PlaintextHandlers["DrawCard_Close"] = CloseHandler; // try to get the data from the server server.vm.GlobalLink.LoadPluginPersist(server.vm, server.Object.PersistID, server.PluginID, (byte[] data) => { lock (this) { if (data == null) { Data = new VMEODGameCompDrawACardData(); ResponseFromServer = true; } else { Data = new VMEODGameCompDrawACardData(data); // make a new game based on the received data Game = new CarducopiaDrawACardGame(Data); // update the UI ResponseFromServer = true; } } if (!UIInitialized) { switch (Mode) { case VMEODGameCompDrawACardModes.Manage: { UIInitialized = true; UserClient.Send("DrawCard_Update_Deck", GetDeckListBoxData()); UserClient.Send("DrawCard_Update_Deck_Numbers", GetCardNumberData()); UserClient.Send("DrawCard_Manage", GetGameInfoMessage()); break; } case VMEODGameCompDrawACardModes.ViewCurrent: { UIInitialized = true; // send the card matching the last index UserClient.Send("DrawCard_Drawn", GetCurrentCardData()); break; } case VMEODGameCompDrawACardModes.ViewDeck: { UIInitialized = true; UserClient.Send("DrawCard_Update_Deck_Numbers", GetCardNumberData()); UserClient.Send("DrawCard_Info", GetGameInfoMessage()); break; } case VMEODGameCompDrawACardModes.Draw: { UIInitialized = true; // randomly draw a card int index = DrawCard.Next(0, Game.UniqueCardCount); Game.GotoCard(index); DeckHasChanged = true; // send new card text to UI UserClient.Send("DrawCard_Drawn", GetCurrentCardData()); break; } } } }); }
public VMEODFNewspaperPlugin(VMEODServer server) : base(server, "newspaper") { }
public VMEODDJStationPlugin(VMEODServer server) : base(server) { PlaintextHandlers["close"] = P_Close; PlaintextHandlers["press_button"] = P_DJButton; }
public VMEODGameshowBuzzerPlayerPlugin(VMEODServer server) : base(server) { BinaryHandlers["Buzzer_Player_Buzzed"] = PlayerBuzzedHandler; SimanticsHandlers[(short)VMEODGameshowPlayerPluginEvents.Sync_Callback] = SyncCallbackHandler; }
public VMEODAbstractGameshowBuzzerPlugin(VMEODServer server) : base(server) { SimanticsQueue = new List <VMEODEvent>(); }
public EODPersist(VMEODServer server) { Server = server; Load(); }