コード例 #1
0
        public static MoveModel CreateModel(Pokemon pkmn)
        {
            var wrapper = new PokemonWrapper(new ClientIdentifier());
            if(pkmn != null)
                wrapper.Pokemon = pkmn;

            return CreateModel(wrapper);
        }
コード例 #2
0
ファイル: CommandExecuter.cs プロジェクト: Nexus87/PokeClone
        private void HandleStatusConditionChange(PokemonWrapper target)
        {

            if (target.Condition != calculator.StatusCondition)
            {
                target.Condition = calculator.StatusCondition;
                eventCreator.SetStatus(target, target.Condition);
            }
        }
コード例 #3
0
ファイル: CommandExecuter.cs プロジェクト: Nexus87/PokeClone
 private void ExecMove(PokemonWrapper source, Move move, PokemonWrapper target)
 {
     eventCreator.UsingMove(source, move);
     calculator.Init(source, move, target);
     
     DoDamage(target);
     HandleEfficiency(target);
     CheckIfCritical();
     HandleStatusConditionChange(target);
 }
コード例 #4
0
ファイル: BattleData.cs プロジェクト: Nexus87/PokeClone
        internal BattleData(ClientIdentifier player, ClientIdentifier ai)
        {
            Player = player;
            Ai = ai;

            clients.Add(Ai);
            clients.Add(Player);

            PlayerPokemon = new PokemonWrapper(Player);
            AiPokemon = new PokemonWrapper(Ai);
        }
コード例 #5
0
ファイル: PokemonModelTest.cs プロジェクト: Nexus87/PokeClone
        public void DataChanged_HpOfPokemonChanged_EventIsRaised()
        {
            int numberOfPokemon = 5;
            var client = TestFactory.CreatePlayerClient(numberOfPokemon);
            var pokemonWrapper = new PokemonWrapper(client.Id) { Pokemon = client.Pokemons.First() };
            var pokemonModel = CreateModel(client, pokemonWrapper);
            bool eventWasRaised = false;

            pokemonModel.DataChanged += delegate { eventWasRaised = true; };
            pokemonWrapper.HP = 0;

            Assert.True(eventWasRaised);
        }
コード例 #6
0
 public static MoveModel CreateModel(PokemonWrapper wrapper)
 {
     return new MoveModel(wrapper);
 }
コード例 #7
0
ファイル: BattleEventFake.cs プロジェクト: Nexus87/PokeClone
 public void SwitchPokemon(PokemonWrapper pokemon)
 {
     throw new NotImplementedException();
 }
コード例 #8
0
ファイル: BattleEventFake.cs プロジェクト: Nexus87/PokeClone
 public void SetStatus(PokemonWrapper pokemon, StatusCondition condition)
 {
     throw new NotImplementedException();
 }
コード例 #9
0
ファイル: BattleEventFake.cs プロジェクト: Nexus87/PokeClone
 public void Effective(MoveEfficiency effect, PokemonWrapper target)
 {
     throw new NotImplementedException();
 }
コード例 #10
0
 public MoveEffectiveEventArgs(MoveEfficiency effect, PokemonWrapper target)
 {
     Effect = effect;
     Target = target;
 }
コード例 #11
0
ファイル: CommandExecuter.cs プロジェクト: Nexus87/PokeClone
 private void ExecChange(PokemonWrapper pokemonWrapper, Pokemon newPokemon)
 {
     pokemonWrapper.Pokemon = newPokemon;
     eventCreator.SwitchPokemon(pokemonWrapper);
 }
コード例 #12
0
ファイル: EventCreator.cs プロジェクト: Nexus87/PokeClone
 public void SwitchPokemon(PokemonWrapper pokemon)
 {
     PokemonChanged(this, new ClientPokemonChangedEventArgs(pokemon.Identifier, pokemon));
 }
コード例 #13
0
ファイル: EventCreator.cs プロジェクト: Nexus87/PokeClone
 public void SetPokemon(ClientIdentifier id, PokemonWrapper pokemon)
 {
     PokemonChanged(this, new ClientPokemonChangedEventArgs(id, pokemon));
 }
コード例 #14
0
ファイル: EventCreator.cs プロジェクト: Nexus87/PokeClone
 public void SetStatus(PokemonWrapper pokemon, StatusCondition condition)
 {
     StatusChanged(this, new ClientStatusChangedEventArgs(pokemon.Identifier, condition));
 }
コード例 #15
0
ファイル: EventCreator.cs プロジェクト: Nexus87/PokeClone
 public void Effective(MoveEfficiency effect, PokemonWrapper target)
 {
     MoveEffective(this, new MoveEffectiveEventArgs(effect, target));
 }
コード例 #16
0
ファイル: EventCreator.cs プロジェクト: Nexus87/PokeClone
 public void UsingMove(PokemonWrapper source, Move move)
 {
     MoveUsed(this, new MoveUsedEventArgs(move, source));
 }
コード例 #17
0
ファイル: PokemonModelTest.cs プロジェクト: Nexus87/PokeClone
 private PokemonModel CreateModel(Client client, PokemonWrapper pokemon = null)
 {
     if (pokemon == null)
         pokemon = new PokemonWrapper(client.Id);
     return new PokemonModel(client, pokemon);
 }
コード例 #18
0
ファイル: CommandExecuter.cs プロジェクト: Nexus87/PokeClone
 private void DoDamage(PokemonWrapper target)
 {
     var damage = calculator.Damage;
     target.HP -= damage;
     eventCreator.SetHP(target.Identifier, target.HP);
 }
コード例 #19
0
ファイル: BattleEventFake.cs プロジェクト: Nexus87/PokeClone
 public BattleEventFake()
 {
     var pkmn = new Pokemon(new PokemonData { Name = "name" }, new Stats());
     pokemon = new PokemonWrapper(id) { Pokemon = pkmn };
 }
コード例 #20
0
ファイル: CommandExecuter.cs プロジェクト: Nexus87/PokeClone
 private void HandleEfficiency(PokemonWrapper target)
 {
     var effect = GetEffect(calculator.TypeModifier);
     eventCreator.Effective(effect, target);
 }
コード例 #21
0
ファイル: BattleEventFake.cs プロジェクト: Nexus87/PokeClone
 public void SetPokemon(ClientIdentifier id, PokemonWrapper pokemon)
 {
     throw new NotImplementedException();
 }
コード例 #22
0
 public MoveUsedEventArgs(Move move, PokemonWrapper source)
 {
     Move = move;
     Source = source;
 }
コード例 #23
0
ファイル: BattleEventFake.cs プロジェクト: Nexus87/PokeClone
 public void UsingMove(PokemonWrapper source, Move move)
 {
     throw new NotImplementedException();
 }
コード例 #24
0
 public void SetPokemon(ClientIdentifier id, PokemonWrapper pokemon)
 {
     dataViews[id].SetPokemon(pokemon);
     sprites[id].SetPokemon(pokemon.ID);
 }
コード例 #25
0
 public ClientPokemonChangedEventArgs(ClientIdentifier id, PokemonWrapper pokemon)
 {
     ID = id;
     Pokemon = pokemon;
 }
コード例 #26
0
ファイル: SetPokemonEvent.cs プロジェクト: Nexus87/PokeClone
 public SetPokemonEvent(IBattleGraphicController graphic, ClientIdentifier id, PokemonWrapper pokemon)
 {
     this.graphic = graphic;
     this.id = id;
     this.pokemon = pokemon;
 }