Example #1
0
        public void Init(SelectColorMessage colorMessage)
        {
            if (!string.IsNullOrEmpty(colorMessage.Message))
            {
                infoText.text = colorMessage.Message;
            }
            else
            {
                infoText.text = "Select a Type";
            }
            HashSet <EnergyTypes> colors;

            if (colorMessage.OnlyColorsInGame)
            {
                colors = GetEnergyTypesInGame();
            }
            else
            {
                colors = new HashSet <EnergyTypes>();

                foreach (EnergyTypes value in Enum.GetValues(typeof(EnergyTypes)))
                {
                    colors.Add(value);
                }
            }

            foreach (var symbol in GetComponentsInChildren <SelectEnergySymbolHandler>())
            {
                symbol.gameObject.SetActive(colors.Contains(symbol.EnergyType));
            }
        }
Example #2
0
        public void SelectColorMessage()
        {
            var message = new SelectColorMessage(EnergyTypes.Colorless);

            var data = SerializeAndBack(message);

            Assert.Equal(EnergyTypes.Colorless, data.Color);
        }
Example #3
0
        public override void ProcessEffects(GameField game, Player owner, Player opponent)
        {
            var message  = new SelectColorMessage("Select a new weakness for your opponents active pokemon").ToNetworkMessage(owner.Id);
            var response = owner.NetworkPlayer.SendAndWaitForResponse <SelectColorMessage>(message);

            opponent.ActivePokemonCard.Weakness = response.Color;

            base.ProcessEffects(game, owner, opponent);
        }
Example #4
0
        public override void ProcessEffects(GameField game, Player owner, Player opponent)
        {
            var message  = new SelectColorMessage("Change Porygon's Resistance to a type of your choice other than Colorless.").ToNetworkMessage(owner.Id);
            var response = owner.NetworkPlayer.SendAndWaitForResponse <SelectColorMessage>(message);

            owner.ActivePokemonCard.Resistance = response.Color;

            base.ProcessEffects(game, owner, opponent);
        }
Example #5
0
        protected override void Activate(Player owner, Player opponent, int damageTaken, GameField game)
        {
            var message = new SelectColorMessage("Select a new type for " + PokemonOwner.Name)
            {
                OnlyColorsInGame = OnlyToColorsInGame
            }.ToNetworkMessage(owner.Id);

            var response = owner.NetworkPlayer.SendAndWaitForResponse <SelectColorMessage>(message);

            PokemonOwner.Type = response.Color;
        }