Exemplo n.º 1
0
    private void Update()
    {
        DDDebug.text = "plaAct = " + playerAction.ToString() + "\nwtf = " + wtf.ToString();

        if (GD.fullScreen == FullScreenMode.Windowed && (Screen.width != lastWidth || Screen.height != lastHeight))
        {
            lastResize -= Time.deltaTime;
            if (lastResize < 0)
            {
                lastResize = 1f;
                lastWidth  = Screen.width;
                lastHeight = (int)(lastWidth * 1080f / 1920f);
                Screen.SetResolution(lastWidth, lastHeight, GD.fullscreen);
            }
        }

        SkipButton.gameObject.SetActive(timeToWait > 0 && timeToWait < waitTime - 1f);
        if (timeToWait > 0)
        {
            timeToWait -= Time.deltaTime;
            return;
        }

        if (wtf == WhatTheFuckStatus.PlayReceivedActions)
        {
            DisableButtons.gameObject.SetActive(true);
            ProcessTurnAction();
            return;
        }

        // Process the messages
        if (engine == null || engine.messages == null || engine.messages.Count == 0)
        {
            return;
        }
        NetworkManager.GameMessage msg = engine.messages[0];
        engine.messages.RemoveAt(0);

        switch (msg.type)
        {
        case GameMsgType.PlayerDeath: // Remove the player (And have all his cities to be destroyed, and use all remaining weapons
            ShowMessage("Received player death: " + msg.id);
            for (int i = 0; i < engine.nump; i++)
            {
                if (engine.players[i].def.id == msg.id)
                {
                    playersGOs[i].transform.Find("DeadEyeL").GetComponent <Image>().enabled = true;
                    return;

                    // FIXME add a message
                    // FIXME do some destruction
                }
            }
            break;

        case GameMsgType.GameProgressUpdate:
            // Find the player in the top bar, and show a green checkmark over it
            foreach (Transform pt in Players)
            {
                if (pt.GetComponent <Enemy>().player.def.id == msg.id)
                {
                    pt.Find("TurnCompleted").GetComponent <Image>().color = ColorVisible;
                }
            }
            break;

        case GameMsgType.Error:
            ShowMessage(msg.text, true);
            break;

        case GameMsgType.GameTurn:
            turn = msg.engineValues;
            PlayEndTurn();
            break;
        }
    }
Exemplo n.º 2
0
 private void OnMsgReceived(object sender, NetworkManager.GameMessage e)
 {
     // Add it to the list of messages to be processed by the GameRederer
     messages.Add(e);
 }