/// <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(); }
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); }
public Ship(ShipData shipData, Bullet _bullet) { data = shipData; bullet = _bullet; }