Exemple #1
0
        public MainViewModel()
        {
            Settings = Settings.LoadFromFile(settingsFile);
            Session  = new SessionViewModel(this);
            var transferPokemonAlgorithmFactory = new TransferPokemonAlgorithmFactory(Settings);
            var inventory = new InventoryViewModel(Session, transferPokemonAlgorithmFactory, Settings);

            Map              = new MapViewModel(Session, Settings);
            Player           = new PlayerViewModel(inventory, Map, Settings, Session);
            Map.Player       = Player;
            inventory.Player = Player;
            Bot              = new BotViewModel(Player, Map);
            Console          = new ConsoleViewModel();
            Players          = new[] { Player };
        }
        public MapPokemonViewModel(FortData fort, SessionViewModel session, Settings settings, PlayerViewModel player, MapViewModel map)
            : base(fort.LureInfo.ActivePokemonId, fort.LureInfo.EncounterId, settings)
        {
            this.session = session;
            this.player  = player;
            this.map     = map;

            isPokemonFromLure = true;
            this.fort         = fort;
            var lureInfo = fort.LureInfo;

            EncounterId           = lureInfo.EncounterId;
            ExpirationTimestampMs = lureInfo.LureExpiresTimestampMs;
            SpawnPointId          = lureInfo.FortId;
            Position = new Position2DViewModel(fort.Latitude, fort.Longitude);
        }
        private bool disposedValue = false; // To detect redundant calls

        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    var timer = isActiveTimer;
                    if (isActiveTimer != null)
                    {
                        isActiveTimer.Stop();
                        isActiveTimer.Tick -= IsActiveTimer_Tick;
                        isActiveTimer       = null;
                    }
                    //player.PropertyChanged -= Player_PropertyChanged;
                    player = null;
                }

                disposedValue = true;
            }
        }
        public MapPokemonViewModel(MapPokemon pokemon, SessionViewModel session, Settings settings, PlayerViewModel player, MapViewModel map)
            : base(pokemon.PokemonId, pokemon.EncounterId, settings)
        {
            this.session = session;
            this.player  = player;
            this.map     = map;

            EncounterId           = pokemon.EncounterId;
            ExpirationTimestampMs = pokemon.ExpirationTimestampMs;
            SpawnPointId          = pokemon.SpawnPointId;
            Position = new Position2DViewModel(pokemon.Latitude, pokemon.Longitude);
        }