private static void SendMessage(bool ready)
 {
     NetworkTracker.ClientSendLobbyInitReady(new NetworkPlayerReadyNotice()
     {
         ready = ready,
     });
 }
Beispiel #2
0
 private void OnActionReceived(int connectionID, BoardActionMessage msg)
 {
     if (info.IsConnected(connectionID))
     {
         NetworkTracker.ServerSendBoardAction(info.OtherConnectionID(connectionID), msg);
     }
 }
Beispiel #3
0
 private void SendEoTReadyRefresh(bool ready)
 {
     NetworkTracker.ClientSendEoTRefresh(new NetworkPlayerReadyNotice()
     {
         ready = ready,
     });
 }
Beispiel #4
0
 private void OnReceiveError(int connectionID)
 {
     if (info.IsConnected(connectionID))
     {
         NetworkTracker.ServerSendLoadingError();
     }
 }
 private void SendReadyNotice(bool ready)
 {
     NetworkTracker.ClientSendLobbyReadyNotice(new NetworkPlayerReadyNotice()
     {
         ready = ready
     });
 }
 private void SendPickedTurnOrder(LobbyTurnOrderChoice choice)
 {
     NetworkTracker.ClientSendLobbyPickedTurnOrder(new LobbyPickedTurnOrderMessage()
     {
         choice = choice,
     });
 }
Beispiel #7
0
 private void SendGameStateRefresh(bool ready)
 {
     NetworkTracker.ClientSendLoadingGameStateRefresh(new NetworkPlayerReadyNotice()
     {
         ready = ready,
     });
 }
Beispiel #8
0
 private void SendReadyState(bool ready)
 {
     NetworkTracker.ClientSendLoadingReadyState(new NetworkPlayerReadyNotice()
     {
         ready = ready,
     });
 }
 private void SendPickedMod(bool hasPick, string modName)
 {
     NetworkTracker.ClientSendLobbyModsPick(new NetworkPickedMod()
     {
         noneSelected = !hasPick,
         modName      = modName,
     });
 }
Beispiel #10
0
 private void SendEndOfTurnState(EndOfTurnState state)
 {
     NetworkTracker.ClientSendEoT(new EndOfTurnStateMessage()
     {
         state = state,
     });
     eotReadyCheck.Active = true;
 }
Beispiel #11
0
        private void OnReceivedNotice(int connectionID, NetworkPlayerReadyNotice notice)
        {
            bool allReady = readyCheck.PlayerNotifiedReady(connectionID, notice.ready);

            if (allReady)
            {
                readyCheck.Clear();
                onLobbyInitialized.Send();
                NetworkTracker.ServerSendLobbyInitAllReady();
            }
        }
Beispiel #12
0
 private void OnReceiveReady(int connectionID, NetworkPlayerReadyNotice ready)
 {
     if (info.IsConnected(connectionID))
     {
         if (readyToPlay.PlayerNotifiedReady(connectionID, ready.ready))
         {
             readyToPlay.Clear();
             NetworkTracker.ServerSendLoadingExit();
         }
     }
 }
 private void ReceivedPickedTurnOrder(int connectionID, LobbyPickedTurnOrderMessage picked)
 {
     if (info.IsHost(connectionID))
     {
         pickedTurnOrder = picked.choice;
     }
     if (info.IsConnected(connectionID))
     {
         NetworkTracker.ServerSendLobbyPickedTurnOrder(info.OtherConnectionID(connectionID), picked);
     }
 }
 private void ReceivedModPick(int connectionID, NetworkPickedMod pick)
 {
     if (info.IsHost(connectionID))
     {
         hasPickedMod = !pick.noneSelected;
         pickedMod    = pick.modName;
     }
     if (info.IsConnected(connectionID))
     {
         NetworkTracker.ServerSendLobbyModsPick(info.OtherConnectionID(connectionID), pick);
     }
 }
Beispiel #15
0
 private void OnEoTReceived(int connection, EndOfTurnStateMessage msg)
 {
     if (eotReadyCheck.PlayerNotifiedReady(connection, true, msg))
     {
         EndOfTurnState hostEoT   = eotReadyCheck.GetHostData <EndOfTurnStateMessage>().state;
         EndOfTurnState clientEoT = eotReadyCheck.GetClientData <EndOfTurnStateMessage>().state;
         eotReadyCheck.Clear();
         ServerEndOfTurnState serverResponse = ServerEndOfTurnState.Error;
         if (hostEoT == EndOfTurnState.Error || clientEoT == EndOfTurnState.Error)
         {
             serverResponse = ServerEndOfTurnState.Error;
         }
         else if (hostEoT == EndOfTurnState.Forfeit && clientEoT == EndOfTurnState.Forfeit)
         {
             serverResponse = ServerEndOfTurnState.Tie;
         }
         else if (hostEoT == EndOfTurnState.Forfeit)
         {
             serverResponse = ServerEndOfTurnState.ClientWin;
         }
         else if (clientEoT == EndOfTurnState.Forfeit)
         {
             serverResponse = ServerEndOfTurnState.HostWin;
         }
         else if (hostEoT == EndOfTurnState.Undecided && clientEoT == EndOfTurnState.Undecided)
         {
             serverResponse = ServerEndOfTurnState.Undecided;
         }
         else if (hostEoT == EndOfTurnState.Tie && clientEoT == EndOfTurnState.Tie)
         {
             serverResponse = ServerEndOfTurnState.Tie;
         }
         else if (hostEoT == EndOfTurnState.Win && clientEoT == EndOfTurnState.Loss)
         {
             serverResponse = ServerEndOfTurnState.HostWin;
         }
         else if (hostEoT == EndOfTurnState.Loss && clientEoT == EndOfTurnState.Win)
         {
             serverResponse = ServerEndOfTurnState.ClientWin;
         }
         else
         {
             serverResponse = ServerEndOfTurnState.Mismatch;
         }
         NetworkTracker.ServerSendEoT(new ServerEndOfTurnStateMessage()
         {
             state = serverResponse
         });
     }
 }
Beispiel #16
0
        private void SendGameState(NetworkGameState state)
        {
            bool hasState = state != null;

            if (state == null)
            {
                state = new NetworkGameState()
                {
                    pieces = new NetworkGameStatePiece[0],
                };
            }
            NetworkTracker.ClientSendLoadingGameState(new LoadingGameStateMessage()
            {
                hasState  = hasState,
                gameState = state,
            });
            gameStateRefresher.Active = true;
        }
Beispiel #17
0
        private void SendTurnAction(TurnAction action)
        {
            BoardActionMessage msg = new BoardActionMessage();

            msg.searchPiece = action.searchPiece;
            msg.components  = new BoardActionMessageComponent[action.components.Count];
            for (int i = 0; i < msg.components.Length; i++)
            {
                TurnActionComponent c = action.components[i];
                msg.components[i] = new BoardActionMessageComponent()
                {
                    type               = c.type,
                    actor              = c.actor,
                    target             = c.target,
                    promotionPieceName = db.PiecePrototypes[c.promotionIndex].LuaTag,
                };
            }
            NetworkTracker.ClientSendBoardAction(msg);
        }
        private void SendModList(List <LocalModInfo> list)
        {
            ModListNotifyMessage msg = new ModListNotifyMessage();

            msg.entries = new ModListNotifyEntry[list.Count];
            for (int i = 0; i < list.Count; i++)
            {
                LocalModInfo lmod = list[i];
                msg.entries[i] = new ModListNotifyEntry()
                {
                    modName        = lmod.modName,
                    displayName    = lmod.displayName,
                    author         = lmod.author,
                    numericVersion = lmod.numericVersion,
                    displayVersion = lmod.displayVersion,
                };
            }

            NetworkTracker.ClientSendLobbyModsList(msg);
        }
        private void ReceivedReady(int connectionID, NetworkPlayerReadyNotice notice)
        {
            bool allReady = readyChecker.PlayerNotifiedReady(connectionID, notice.ready);

            if (info.IsConnected(connectionID))
            {
                NetworkTracker.ServerSendLobbyReadyRelay(info.OtherConnectionID(connectionID), notice);
            }

            if (allReady)
            {
                readyChecker.Clear();
                NetworkTracker.ServerSendLobbyExitMessage(new LobbyExitMessage()
                {
                    valid           = LobbyInValidExitState(),
                    modName         = pickedMod,
                    turnOrderChoice = pickedTurnOrder,
                });
            }
        }
        private void SendModList()
        {
            ModListServerMessage msg = new ModListServerMessage();

            msg.entries = new ModListServerEntry[combinedMods.Count];
            for (int i = 0; i < combinedMods.Count; i++)
            {
                Mod mod = combinedMods[i];
                msg.entries[i] = new ModListServerEntry()
                {
                    modName        = mod.modName,
                    displayName    = mod.displayName,
                    numericVersion = mod.numericVersion,
                    displayVersion = mod.displayVersion,
                    author         = mod.author,
                    status         = mod.networkStatus,
                };
            }
            NetworkTracker.ServerSendLobbyModsList(msg);
        }
Beispiel #21
0
        //private void CheckServerConnection() {
        //    if(info.Connection.State != (int)ServerConnectionState.Connected) {
        //        gameStates.Clear();
        //    }
        //}

        private void OnReceiveGameState(int connectionID, LoadingGameStateMessage msg)
        {
            if (info.IsConnected(connectionID))
            {
                if (gameStateRefresh.PlayerNotifiedReady(connectionID, true, msg))
                {
                    LoadingGameStateMessage hostGS   = gameStateRefresh.GetHostData <LoadingGameStateMessage>();
                    LoadingGameStateMessage clientGS = gameStateRefresh.GetClientData <LoadingGameStateMessage>();
                    LoadingGameStateMessage sendBackGS;
                    if (hostGS.hasState)
                    {
                        sendBackGS = hostGS;
                    }
                    else
                    {
                        sendBackGS = clientGS;
                    }
                    gameStateRefresh.Clear();
                    NetworkTracker.ServerSendLoadingGameState(sendBackGS);
                }
            }
        }
Beispiel #22
0
        private void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            App.TrayIconProvider.CreateTrayIcon("StatX");
            App.TrayIconProvider.NotifyIconClicked += TrayIconProvider_NotifyIconClicked;
            Application.Current.Exit += (s, a) =>
            {
                NetworkTracker.StopMonitoring();
            };

            MouseTracker = new MouseTracker();
            MouseTracker.ReloadStats();
            MouseTracker.DistanceTraveledChanged += MouseTracker_DistanceTraveledChanged;
            MouseTracker.DistanceScrolledChanged += MouseTracker_DistanceScrolledChanged;
            MouseTracker.ClicksChanged += MouseTracker_ClicksChanged;
            MouseTracker.LeftClicksChanged += MouseTracker_LeftClicksChanged;
            MouseTracker.RightClicksChanged += MouseTracker_RightClicksChanged;
            MouseTracker.MiddleClicksChanged += MouseTracker_MiddleClicksChanged;

            KeyboardTracker = new KeyboardTracker();
            KeyboardTracker.ReloadStats();
            KeyboardTracker.KeyPressesChanged += KeyboardTracker_KeyPressesChanged;
            KeyboardTracker.KeypressEnergyChanged += KeyboardTracker_KeyPressureChanged;

            NetworkTracker = new NetworkTracker();
            NetworkTracker.ReloadStats();
            NetworkTracker.SentDataChanged += NetworkTracker_SentDataChanged;
            NetworkTracker.ReceivedDataChanged += NetworkTracker_ReceivedDataChanged;
            NetworkTracker.StartMonitoring();

            KeyboardTracker_KeyPressesChanged(null, null);
            KeyboardTracker_KeyPressureChanged(null, null);
            MouseTracker_ClicksChanged(null, null);
            MouseTracker_DistanceScrolledChanged(null, null);
            MouseTracker_DistanceTraveledChanged(null, null);
            NetworkTracker_SentDataChanged(null, null);
        }
Beispiel #23
0
 private void SendError()
 {
     NetworkTracker.ClientSendLoadingError();
 }