public void SaveLavelId(int id, GameData gmdata) //służy do zapisania id sceny do której się właśnie weszło { gameMaster.saving = true; //gra jest zapisywana player = GameObject.FindGameObjectWithTag("Player").GetComponent <Player_Controller>(); idb = gameObject.GetComponent <itemDataBase>(); Debug.Log("Saveing level id"); //Posłuży do przesyłania danych do pliku. //Unity ma własną konfigurację w tym wyspecyfikowane miejsce, w którym składuje takie pliki. //Pod Windows jest to z reguły miejsce w katalogu użytkownika. FileStream plik = File.Create(Application.persistentDataPath + "/Record.data"); // Obiekt zawierający informacjie o stanie naszego gracza. gmdata.SceneId = Application.loadedLevel; //Pobieram id poziomu //Posłuży do zapisywania danych do pliku. BinaryFormatter bf = new BinaryFormatter(); //Serializujemy/zapisujemy dane do pliku bf.Serialize(plik, gmdata); plik.Close();//Zamykamy plik (kończymy operacje na pliku). Debug.Log("Saveing - save level id = " + SceneManager.GetActiveScene().buildIndex); gameMaster.saving = false; }
//static public GameObject powerUI; void Start() { //początkowe wartości PlayerFighting = false; ChangeToZero = true; YouGetBoard.SetActive(false); YouGet.text = " "; for (int i = 0; i < note.Length; i++) { note[i] = 0; } LevelId = Application.loadedLevel; save = gameObject.GetComponent <Saveing>(); DeadScreenImage.SetActive(false); NewLevelInstantiate = false; // data = gameObject.GetComponent<itemDataBase>(); awake = true; soundHolder = GameObject.Find("SoundHolder").GetComponent <SoundHolder>(); keyMenager = GameObject.Find("KeyMenager").GetComponent <KeyMenager>(); soundHolder.isloading = true; eq = GameObject.Find("Equipment").GetComponent <CanvasEkwipunek>(); saving = false; loadScene = false; player = GameObject.FindGameObjectWithTag("Player").GetComponent <Player_Controller>(); playerAtckScript = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerAttack>(); loadScript = gameObject.GetComponent <LoadTargetScript>(); itd = gameObject.GetComponent <itemDataBase>(); Debug.Log("itd nie jest null"); save.Load(); itemDataBaseChest = gameObject.GetComponent <itemDataBaseChest>(); if (itemDataBaseChest != null) //jezeli znajduje się skrzynia na planszy { Debug.Log("itemDataBaseChest nie jest null"); save.ChestLoad(LevelId); } RefreshEqStats(); soundHolder.isloading = false; if (PlayerPrefs.HasKey("difficultLevel")) //załadowanie poziomu trudności { difficultLevel = PlayerPrefs.GetInt("difficultLevel"); } settings.load(); //załadowanie ustawień exp_Slider = GameObject.Find("SkillUI").GetComponent <Exp_Slider>(); }
void Start() { database = GetComponent <itemDataBase> (); slotAmount = 40; slotPanel = GameObject.Find("Slot Panel"); for (int i = 0; i < slotAmount; i++) { items.Add(new Item()); slots.Add(Instantiate(inventorySlot)); slots [i].GetComponent <SnapToSlot> ().id = i; slots [i].transform.SetParent(slotPanel.transform); } }
void Start() { trans = GetComponent <Transform>(); itd = GameObject.FindGameObjectWithTag("GameMaster").GetComponent <itemDataBase>(); if (gameObject.name == "Chest") //items data base chest { itdch = GameObject.FindGameObjectWithTag("GameMaster").GetComponent <itemDataBaseChest>(); } gm = GameObject.FindGameObjectWithTag("GameMaster").GetComponent <Game_Master>(); eq = GameObject.Find("Equipment").GetComponent <CanvasEkwipunek>(); child = gameObject.GetComponentInChildren <ElementEq>(); audioSource = gameObject.GetComponent <AudioSource>(); audioSource.clip = audioClip; }
void Start() //pobierz komponenty, bądź załaduj menu { Debug.Log(notmenu); if (SceneManager.GetActiveScene().buildIndex > 1) { gameMaster = gameObject.GetComponent <Game_Master>(); idb = gameObject.GetComponent <itemDataBase>(); } else { Debug.Log("Ładuje menu"); LoadMenu(); } Debug.Log("Start skrypty - saveing"); }
//Zapisanie stanu gry do pliku public void Save() { gameMaster.saving = true; //gra jest zapisywana player = GameObject.FindGameObjectWithTag("Player").GetComponent <Player_Controller>(); idb = gameObject.GetComponent <itemDataBase>(); Debug.Log("Saveing"); //Posłuży do przesyłania danych do pliku. //Unity ma własną konfigurację w tym wyspecyfikowane miejsce, w którym składuje takie pliki. //Pod Windows jest to z reguły miejsce w katalogu użytkownika. FileStream plik = File.Create(Application.persistentDataPath + "/Record.data"); // Obiekt zawierający informacjie o stanie naszego gracza. GameData gmdata = new GameData(); gmdata.SceneId = Application.loadedLevel; //Pobieram id poziomu //zapisanie odpowiednich danych o graczu gmdata.exp = gameMaster.exp; gmdata.PDPoint = gameMaster.PDPoint; gmdata.PDSkillPoint = gameMaster.SkillPDPoint; gmdata.PlayerLevel = gameMaster.PlayerLevel; gmdata.PlayerDeathLevel = gameMaster.PlayerDeathLevel; gmdata.PlayerFireLevel = gameMaster.PlayerFireLevel; gmdata.PlayerElectLevel = gameMaster.PlayerElectLevel; gmdata.PlayerWhiteLevel = gameMaster.PlayerWhiteLevel; gmdata.PlayerSwordLevel = gameMaster.PlayerSwordLevel; gmdata.PlayerDeathManaLevel = gameMaster.PlayerDeathManaLevel; gmdata.PlayerFireManaLevel = gameMaster.PlayerFireManaLevel; gmdata.PlayerElectManaLevel = gameMaster.PlayerElectManaLevel; gmdata.PlayerWhiteManaLevel = gameMaster.PlayerWhiteManaLevel; gmdata.PlayerSwordStaminaLevel = gameMaster.PlayerSwordStaminaLevel; gmdata.PlayerAttack = gameMaster.PlayerAttack; gmdata.PlayerArmor = gameMaster.PlayerArmor; gmdata.PlayerMagic = gameMaster.PlayerMagic; gmdata.PlayerSpeed = gameMaster.PlayerSpeed; gmdata.PlayerStatsAttack = gameMaster.PlayerStatsAttack; gmdata.PlayerStatsMagic = gameMaster.PlayerStatsMagic; gmdata.PlayerStatsAgility = gameMaster.PlayerStatsAgility; gmdata.FireUsedMana = gameMaster.FireUsedMana; gmdata.ElectUsedMana = gameMaster.ElectUsedMana; gmdata.AnkhUsedMana = gameMaster.AnkhUsedMana; gmdata.ChaosUsedMana = gameMaster.ChaosUsedMana; gmdata.SwordUsedStamina = gameMaster.SwordUsedStamina; //zapisanie dokąd gracz przeszedł i jego danych gmdata.DoorID = gameMaster.DoorID; gmdata.LevelId = gameMaster.LevelId; gmdata.Element = gameMaster.Element; gmdata.gold = gameMaster.gold; gmdata.mana_potion = gameMaster.mana_potion; gmdata.hp_potion = gameMaster.hp_potion; gmdata.runes = gameMaster.runes; gmdata.Hp = player.curHP; gmdata.Mana = player.curMana; gmdata.Stamina = player.curStamina; //zapisanie notatek gracza for (int i = 0; i < gameMaster.note.Length; i++) { gmdata.notes[i] = gameMaster.note[i]; } for (int i = 0; i < gmdata.AmuletsCount.Length; i++) { gmdata.AmuletsCount[i] = idb.AmuletsCount[i]; } for (int i = 0; i < gmdata.Main_WeaponCount.Length; i++) { gmdata.Main_WeaponCount[i] = idb.Main_WeaponCount[i]; } for (int i = 0; i < gmdata.Secon_WeaponCount.Length; i++) { gmdata.Secon_WeaponCount[i] = idb.Secon_WeaponCount[i]; } for (int i = 0; i < gmdata.TasksCount.Length; i++) { gmdata.TasksCount[i] = idb.TasksCount[i]; } for (int i = 0; i < gmdata.ArmorsCount.Length; i++) { gmdata.ArmorsCount[i] = idb.ArmorsCount[i]; } for (int i = 0; i < gmdata.BootsCount.Length; i++) { gmdata.BootsCount[i] = idb.BootsCount[i]; } for (int i = 0; i < gmdata.LegsCount.Length; i++) { gmdata.LegsCount[i] = idb.LegsCount[i]; } //zapisanie jego przedmiotów gmdata.AmuletSlotItemID = idb.AmuletSlotItemID; gmdata.Main_WeaponSlotItemID = idb.Main_WeaponSlotItemID; gmdata.SecondWeaponSlotItemID = idb.SecondWeaponSlotItemID; gmdata.SecondWeaponSlotItemCount = idb.SecondWeaponSlotItemCount; gmdata.ArmorSlotItemID = idb.ArmorSlotItemID; gmdata.LegsSlotItemID = idb.LegsSlotItemID; gmdata.BootsSlotItemID = idb.BootsSlotItemID; //Posłuży do zapisywania danych do pliku. BinaryFormatter bf = new BinaryFormatter(); //Serializujemy/zapisujemy dane do pliku bf.Serialize(plik, gmdata); plik.Close();//Zamykamy plik (kończymy operacje na pliku). Debug.Log("Saveing - save all"); gameMaster.saving = false; }
//Odczytywanie danych z pliku public void Load() { player = GameObject.FindGameObjectWithTag("Player").GetComponent <Player_Controller>(); gameMaster = gameObject.GetComponent <Game_Master>(); idb = gameObject.GetComponent <itemDataBase>(); Debug.Log("Loading.."); // File.Delete(Application.persistentDataPath + "/Record.data"); //Zanim odczytamy dane upewnijmy się, że jest co czytać. //Sprawdzamy czy plik zapisu istnieje. if (File.Exists(Application.persistentDataPath + "/Record.data")) { Debug.Log("Posiada zz tyłu te dane - zwykłe"); //Odczytujemy/pobieramy dane z pliku. FileStream file = File.Open(Application.persistentDataPath + "/Record.data", FileMode.Open); //Posłuży do odczytu danych do pliku. BinaryFormatter bf = new BinaryFormatter(); // Deserializujemy dane z pliku i przekształcamy je na obiekt GraczData. GameData gmdata = (GameData)bf.Deserialize(file); file.Close(); //Plik odczytany zamykamy plik. //Ustawiamy dane; player.SetData(gmdata.Hp, gmdata.Mana, gmdata.Stamina);//Ustawiamy zdrowie mane i stamine trzeba zrobic funkcje w PlayerController dane zmienic na data powyzej i gracz zmienic na Player. //odczytywanie danych gameMaster.exp = gmdata.exp; gameMaster.PDPoint = gmdata.PDPoint; gameMaster.SkillPDPoint = gmdata.PDSkillPoint; gameMaster.PlayerLevel = gmdata.PlayerLevel; gameMaster.PlayerDeathLevel = gmdata.PlayerDeathLevel; gameMaster.PlayerFireLevel = gmdata.PlayerFireLevel; gameMaster.PlayerElectLevel = gmdata.PlayerElectLevel; gameMaster.PlayerWhiteLevel = gmdata.PlayerWhiteLevel; gameMaster.PlayerSwordLevel = gmdata.PlayerSwordLevel; gameMaster.PlayerDeathManaLevel = gmdata.PlayerDeathManaLevel; gameMaster.PlayerFireManaLevel = gmdata.PlayerFireManaLevel; gameMaster.PlayerElectManaLevel = gmdata.PlayerElectManaLevel; gameMaster.PlayerWhiteManaLevel = gmdata.PlayerWhiteManaLevel; gameMaster.PlayerSwordStaminaLevel = gmdata.PlayerSwordStaminaLevel; gameMaster.PlayerAttack = gmdata.PlayerAttack; gameMaster.PlayerArmor = gmdata.PlayerArmor; gameMaster.PlayerMagic = gmdata.PlayerMagic; gameMaster.PlayerSpeed = gmdata.PlayerSpeed; gameMaster.PlayerStatsAgility = gmdata.PlayerStatsAgility; gameMaster.PlayerStatsAttack = gmdata.PlayerStatsAttack; gameMaster.PlayerStatsMagic = gmdata.PlayerStatsMagic; gameMaster.FireUsedMana = gmdata.FireUsedMana; gameMaster.ElectUsedMana = gmdata.ElectUsedMana; gameMaster.AnkhUsedMana = gmdata.AnkhUsedMana; gameMaster.ChaosUsedMana = gmdata.ChaosUsedMana; gameMaster.SwordUsedStamina = gmdata.SwordUsedStamina; gameMaster.DoorID = gmdata.DoorID; gameMaster.Element = gmdata.Element; gameMaster.SetPlayerPlace(); gameMaster.gold = gmdata.gold; gameMaster.mana_potion = gmdata.mana_potion; gameMaster.hp_potion = gmdata.hp_potion; gameMaster.runes = gmdata.runes; for (int i = 0; i < gmdata.notes.Length; i++) { gameMaster.note[i] = gmdata.notes[i]; } for (int i = 0; i < gmdata.AmuletsCount.Length; i++) { idb.AmuletsCount[i] = gmdata.AmuletsCount[i]; } for (int i = 0; i < gmdata.Main_WeaponCount.Length; i++) { idb.Main_WeaponCount[i] = gmdata.Main_WeaponCount[i]; } for (int i = 0; i < gmdata.Secon_WeaponCount.Length; i++) { idb.Secon_WeaponCount[i] = gmdata.Secon_WeaponCount[i]; } for (int i = 0; i < gmdata.TasksCount.Length; i++) { idb.TasksCount[i] = gmdata.TasksCount[i]; } for (int i = 0; i < gmdata.ArmorsCount.Length; i++) { idb.ArmorsCount[i] = gmdata.ArmorsCount[i]; } for (int i = 0; i < gmdata.BootsCount.Length; i++) { idb.BootsCount[i] = gmdata.BootsCount[i]; } for (int i = 0; i < gmdata.LegsCount.Length; i++) { idb.LegsCount[i] = gmdata.LegsCount[i]; } idb.AmuletSlotItemID = gmdata.AmuletSlotItemID; idb.Main_WeaponSlotItemID = gmdata.Main_WeaponSlotItemID; idb.SecondWeaponSlotItemID = gmdata.SecondWeaponSlotItemID; idb.SecondWeaponSlotItemCount = gmdata.SecondWeaponSlotItemCount; idb.ArmorSlotItemID = gmdata.ArmorSlotItemID; idb.LegsSlotItemID = gmdata.LegsSlotItemID; idb.BootsSlotItemID = gmdata.BootsSlotItemID; idb.Instantiate(); Debug.Log("Zostaje zapisany id sceny: " + SceneManager.GetActiveScene().buildIndex); SaveLavelId(SceneManager.GetActiveScene().buildIndex, gmdata); } }