/// <summary>
        /// загружаем уровень
        /// </summary>
        public void Load(int level)
        {
            // В зависимости от уровня загружаем нужный тип пуль
            bullet = new Bullet(bulletInfo[level - 1].Speed, bulletInfo[level - 1].SortingOrder, bulletInfo[level - 1].Power, bulletInfo[level - 1].Type);

            // загружаем данные игрока
            IFormatter formatter = new BinaryFormatter();

            string path = "";

            // при первом заходе на уровень загружаем дефолтные данные
            if (!PlayerPrefs.HasKey("Level" + level + "Default"))
            {
                path = Application.streamingAssetsPath + "/saveLavel" + CurrentLevel.ToString() + "Default.txt";
                PlayerPrefs.SetInt("Level" + level + "Default", 1);
            }
            else
            {
                if (PlayerPrefs.GetInt("LevelStay" + level) == (int)LevelManager.LevelStay.Save)
                {
                    path = Application.streamingAssetsPath + "/saveLavel" + CurrentLevel.ToString() + ".txt";
                }
                else
                {
                    path = Application.streamingAssetsPath + "/saveLavel" + CurrentLevel.ToString() + "Default.txt";
                }
            }
            FileStream buffer = File.OpenRead(path);
            ShipData   data   = formatter.Deserialize(buffer) as ShipData;

            ship = new Ship(data, bullet);
            buffer.Close();
            shipController = new ShipController(ship, shipPref);
            ShowShipInfo(data.HP, data.Score, data.Speed, data.FireRate);
            ship.ShipInfoEvent += OnShipInfo;
            // В зависимости от уровня загружаем нужный тип астероидов
            asteroidData = new AsteroidData(asteroidInfo[level - 1].HP, asteroidInfo[level - 1].Speed, asteroidInfo[level - 1].Damage, asteroidInfo[level - 1].Type);

            Spawn();
        }
Beispiel #2
0
        public ShipData GetShipData()
        {
            ShipData data = new ShipData(ship.GetHP(), ship.GetSpeed(), shipView.gameObject.transform.position.x, shipView.gameObject.transform.position.y, ship.GetFireRate(), ship.GetScore());

            return(data);
        }
Beispiel #3
0
 public Ship(ShipData shipData, Bullet _bullet)
 {
     data   = shipData;
     bullet = _bullet;
 }