Esempio n. 1
0
    public void Setup(UnitModel unit)
    {
        NameText.text      = "Unit " + unit.X + ":" + unit.Y;
        _unitSelectMessage = new UnitSelectMessage(unit.X, unit.Y);
        RowButon.onClick.AddListener(OnButtonClick);

        TemperatureText.text = unit.Impact[R.Temperature].ToString();
        PressureText.text    = unit.Impact[R.Pressure].ToString();
        HumidityText.text    = unit.Impact[R.Humidity].ToString();
        RadiationText.text   = unit.Impact[R.Radiation].ToString();
    }
Esempio n. 2
0
 private void OnUnitSelectMessage(UnitSelectMessage value)
 {
     SelectUnit(value.X, value.Y);
 }
Esempio n. 3
0
 public override void OnDestroy()
 {
     base.OnDestroy();
     _unitSelectMessage = null;
     RowButon.onClick.RemoveListener(OnButtonClick);
 }
Esempio n. 4
0
    private void HandleNetworking()
    {
        int messageType = ChampNetManager.GetMessageType();

        if (messageType != -1)
        {
            switch (messageType)
            {
            case (int)CHAMPNET_MESSAGE_ID.ID_UNIT_SELECT_DATA:
            {
                UnitSelectMessage message = ChampNetManager.GetUnitSelectMessage();

                if (TurnManager.instance.GetCurrentManager() == playerUnitManager)
                {
                    if (message.selected == '1')
                    {
                        playerUnitManager.AlternateSelectUnit(message.unitID);
                    }
                    else if (message.selected == '0')
                    {
                        playerUnitManager.AlternateDeselect(message.unitID);
                    }
                    else
                    {
                        Debug.LogError("INVALID MESSAGE");
                    }
                }
                // Handle an enemy being selected
                else
                {
                }
            }
            break;

            case (int)CHAMPNET_MESSAGE_ID.ID_MESSAGE_DATA:
            {
                ChatMessage message = ChampNetManager.GetChatMessage();

                AddMessageToChat(message.userName, message.message);
            }
            break;

            case (int)CHAMPNET_MESSAGE_ID.ID_SEED_DATA:
            {
                InitUnitManagers(ChampNetManager.GetSeedMessage());
            }
            break;

            case (int)CHAMPNET_MESSAGE_ID.ID_UNIT_MOVE_DATA:
            {
                UnitMoveMessage message = ChampNetManager.GetMoveMessage();

                if (TurnManager.instance.GetCurrentManager() != playerUnitManager)
                {
                    return;
                }

                playerUnitManager.PrepareMoveUnit(message.gridPos);
            }
            break;

            case (int)CHAMPNET_MESSAGE_ID.ID_UNIT_DAMAGE_DATA:
            {
                UnitDamageMessage message = ChampNetManager.GetDamageMessage();

                if (TurnManager.instance.GetCurrentManager() != playerUnitManager)
                {
                    return;
                }

                enemyUnitManager.NetworkShoot(message.unitID, message.damageDealt);

                playerUnitManager.FindUnit(message.shooterID).SetShot();
            }
            break;

            case (int)CHAMPNET_MESSAGE_ID.ID_FINALIZE_TURN_DATA:
            {
                ChampNetManager.PopMessage();

                NetworkTurnOver();
            }
            break;

            case (int)CHAMPNET_MESSAGE_ID.ID_START_TURN_DATA:
            {
                ChampNetManager.PopMessage();

                NetworkTurnStart();
            }
            break;
            }
        }
    }