public void OnFrontendConnect(IMessageBase messageBase) { Logger.Debug("Frontend connected"); FrontendRegistration message = (FrontendRegistration)messageBase; _sessionIds[FrontendUserId] = message.SessionId; // send user preferences foreach (int userId in PlayerData.Instance.GetKeys()) { if (!PlayerData.Instance.TryGetEntry(userId, out PlayerDataEntry entry)) { continue; } PreferencesMessage playerPosition = new PreferencesMessage() { preferences = entry.Preferences, UserId = userId }; SendToFrontend(new FrontendPayload(playerPosition)); } Logger.AddPrinter(new FrontendPrinter(this)); StrategyManager.Instance.ActiveStrategy.UpdateFrontend(); }
protected override void _handleMessage(IMessageBase message, int sessionId) { Type messageType = SubtypeUtility.GetTypeOfSubtype(message); Registration reg = message as Registration; if (reg != null) { reg.sessionId = sessionId; } FrontendRegistration fReg = message as FrontendRegistration; if (fReg != null) { fReg.SessionId = sessionId; } _networkEventHandler.GetHandler(messageType).Invoke(message); }