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();
        }
示例#2
0
        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);
        }