private void OnTriggerEnter2D(Collider2D collision) { if (savepoint == collision.tag) { HP player = Player.GetComponent <HP>(); if (player) { player.HealDamage(); Player_Management.Instance.position = gameObject.transform.position; SaveManagement number = collision.GetComponent <SaveManagement>(); Player_Management.Instance.save_point = number.save_points_number; Shoot weapon = Weapon.GetComponent <Shoot>(); if (weapon) { for (int i = 0; i < weapon.ammo.Length; i++) { Player_Management.Instance.ammo[i] = weapon.ammo[i]; } for (int i = 0; i < weapon.weapon.Length; i++) { Player_Management.Instance.weapon[i] = weapon.weapon[i]; } } } } }
public void Load() { _save = GetComponent <SaveManagement>(); SaveData _saveData = new SaveData(); _saveData = _save.Load(); SceneManager.LoadScene(_saveData._sceneName); }
public void Load() { if (File.Exists(Application.dataPath + "/" + "Savegame.dat")) { BinaryFormatter binary = new BinaryFormatter(); FileStream file = File.Open(Application.dataPath + "/" + "Savegame.dat", FileMode.Open); SaveManagement save = (SaveManagement)binary.Deserialize(file); file.Close(); GetComponent <Player1>().Point = save.scor; } }
public void Save() { BinaryFormatter binary = new BinaryFormatter(); FileStream file = File.Create(Application.dataPath + "/" + "Savegame.dat"); SaveManagement save = new SaveManagement(); save.scor = GetComponent <Player1>().Point; binary.Serialize(file, save); file.Close(); }
public void SelectLevel(int index) { if (index >= levels.Count) { index = 0; } if (index < 0) { index = levels.Count - 1; } bool wentDown = index > this.selectedLevelIndex; this.selectedLevel = (Level)levels[index]; selectedLevelIndex = index; if (wentDown) { if (topIndex < selectedLevelIndex - levelListObjects.Length + 1) { topIndex = selectedLevelIndex - levelListObjects.Length + 1; if (topIndex < 0) { index = 0; } } } else { if (selectedLevelIndex < topIndex) { topIndex = selectedLevelIndex; } } for (int i = 0; i < levelListObjects.Length; i++) { levelListObjects[i].color = unselectedColor; if (selectedLevelIndex == i + topIndex) { levelListObjects[i].color = selectedColor; } levelListObjects[i].text = ((Level)levels[topIndex + i]).name; } txtLevelName.text = selectedLevel.name; txtLevelDesc.text = selectedLevel.description; txtLevelDifficulty.text = "Difficulty: " + selectedLevel.difficulty.ToString(); txtLevelPBScore.text = "Score: " + SaveManagement.GetPersonalBestScore(selectedLevel.sceneName); txtLevelPBTime.text = "Time: " + SaveManagement.GetPersonalBestTime(selectedLevel.sceneName); }
public void Click() { /* 記録させたい情報を適宜追加 * レベル 持ち物 自分の場所等 * * */ _save = GetComponent <SaveManagement>(); SaveData _saveData = new SaveData(); Player = GameObject.FindWithTag("Player"); _saveData._pos = Player.GetComponent <Transform>().position; _saveData._sceneName = SceneManager.GetActiveScene().name; _saveData._stock = Player.GetComponent <Character>()._stock; _save.Save(_saveData); }
//Initialization void Start() { //load settings and levels SaveManagement.LoadSettings(); SaveManagement.LoadLevels(); //If this is not the first time loading start at level menu if (!firstTimeLoading) { state = LEVELMENU; } firstTimeLoading = false; //Start button overlay start_overlay = Instantiate((GameObject)Resources.Load("Prefabs/UI/StartOverlay")); start_overlay.GetComponentInChildren <Button>().onClick.AddListener(start); //Credits overlay credits_overlay = Instantiate((GameObject)Resources.Load("Prefabs/UI/CreditsOverlay")); credits_overlay.SetActive(false); }
void ReloadText() { if (infoWon) { textStatus.text = "You won."; } else { textStatus.text = "You lost."; } textScore.text = "Score: " + infoScore.ToString(); string min = ((int)infoTime / (int)60).ToString(); string sec = ((int)infoTime % (int)60).ToString(); if (min.Length < 2) { min = "0" + min; } if (sec.Length < 2) { sec = "0" + sec; } textTime.text = "Time: " + min + ":" + sec; textPBScore.text = "Score: " + SaveManagement.GetPersonalBestScore(scene); textPBTime.text = "Time: " + SaveManagement.GetPersonalBestTime(scene); if (infoNewBest) { textPBNewBest.gameObject.SetActive(true); } else { textPBNewBest.gameObject.SetActive(false); } }
private void GameOver() { if (state == GameState.WON) { GameOverManager.infoWon = true; } else { GameOverManager.infoWon = false; } int score = 0; score += (int)Mathf.Clamp(1000 - playTime * 2, 0, Mathf.Infinity); GameOverManager.infoScore = score; GameOverManager.infoTime = (int)playTime; GameOverManager.scene = SceneManager.GetActiveScene().name; if (state == GameState.LOST) { GameOverManager.infoScore = 0; GameOverManager.infoNewBest = false; } if (state == GameState.WON) { if (SaveManagement.SaveScore(GameOverManager.scene, GameOverManager.infoScore, GameOverManager.infoTime)) { GameOverManager.infoNewBest = true; } else { GameOverManager.infoNewBest = false; } } SceneManager.LoadScene("GameOver"); }
//GUI void OnGUI() { //Hide Background for all Buttons GUI.backgroundColor = Color.clear; //Back Button int buttonsize = (int)Mathf.Max(Screen.height / 10, Screen.width / 10); if (GUI.Button(new Rect(0, 0, buttonsize, buttonsize), (Texture)Resources.Load("Sprites/Arrow_back"))) { back(); } //Mainmenu start_overlay.SetActive(state == MAINMENU); //Credits credits_overlay.SetActive(state == CREDITS); switch (state) { //Mainmenu case MAINMENU: //Credits Button GUIStyle btnStyle = new GUIStyle(GUI.skin.button); btnStyle.font = (Font)Resources.Load("Fonts/MostlyMono"); btnStyle.fontSize = (int)(1 * buttonsize); if (GUI.Button(new Rect(Screen.width - buttonsize, 0, buttonsize, buttonsize), "i", btnStyle)) { state = CREDITS; } //Sound settings if (GUI.Button(new Rect(Screen.width - buttonsize, (int)(0.97 * Screen.height) - 2 * buttonsize, buttonsize, buttonsize), (Texture)Resources.Load("Sprites/" + (GlobalVariables.isMuted?"Icon_Muted":"Icon_NotMuted")))) { GlobalVariables.isMuted = !GlobalVariables.isMuted; SaveManagement.SaveSettings(); } //Langugae settings btnStyle.fontSize = (int)(0.75 * buttonsize); if (GUI.Button(new Rect(Screen.width - buttonsize, (int)(0.97 * Screen.height) - buttonsize, buttonsize, buttonsize), GlobalVariables.language, btnStyle)) { GlobalVariables.language = (GlobalVariables.language.Equals("EN") ? "DE" : "EN"); SaveManagement.SaveSettings(); } break; //Levelmenu case LEVELMENU: //Parameters for the Level selection panel int upperCorner_x = (int)(1.5f * Screen.width / 10); int upperCorner_y = (int)(1 * Screen.height / 10); int bottomCorner_x = (int)(8.5f * Screen.width / 10); int bottomCorner_y = (int)(7 * Screen.height / 10); int button_width = (int)(1.8 * Screen.width / 10); int button_height = 1 * Screen.height / 10; int buttons_per_row = 3; int rows = 5; int buttons_per_page = buttons_per_row * rows; int pages = (LevelGenerator.NUMBER_OF_LEVELS + buttons_per_page - 1) / buttons_per_page; //Button style for the Level selection panel GUI.skin = (GUISkin)Resources.Load("LevelButtons"); GUIStyle btnStyle_LevelMenue = new GUIStyle(GUI.skin.button); btnStyle_LevelMenue.font = (Font)Resources.Load("Fonts/MostlyMono"); btnStyle_LevelMenue.fontSize = (int)(0.5 * buttonsize); //Initilize Level selection panel for (int i = buttons_per_page * current_page; i < buttons_per_page * (current_page + 1) && i < LevelGenerator.NUMBER_OF_LEVELS; i++) { //select color //finished if (GlobalVariables.UnlockedLevels[i] > 0) { GUI.backgroundColor = new Color(1, 0, 0, 0.5f); GUI.contentColor = new Color(1, 1, 1, 1); //unlocked } else if (i == 0 || (GlobalVariables.UnlockedLevels[i - 1] > 0)) { //} else if (i == 0 || (GlobalVariables.UnlockedLevels[i-1] > 0) || (i>1 && GlobalVariables.UnlockedLevels[i - 2] > 0) || (i > 3 && GlobalVariables.UnlockedLevels[i - 3] > 0)) { GUI.backgroundColor = Color.white; GUI.contentColor = new Color(0, 0, 0, 1); //locked } else { GUI.backgroundColor = new Color(0, 0, 0, 0.5f); GUI.contentColor = new Color(0, 0, 0, 1); } int position_in_row = i % buttons_per_row; int position_int_column = (int)((i % buttons_per_page) / buttons_per_row); int x = upperCorner_x + (bottomCorner_x - upperCorner_x) / buttons_per_row * position_in_row + (bottomCorner_x - upperCorner_x) / buttons_per_row / 2 - button_width / 2; int y = upperCorner_y + (bottomCorner_y - upperCorner_y) / rows * position_int_column + (bottomCorner_y - upperCorner_y) / rows / 2 - button_height / 2; //int y = upperCorner_y + (button_height + distance_between_rows) * position_int_column - button_height / 2; if (GUI.Button(new Rect(x, y, button_width, button_height), "" + (i + 1), btnStyle_LevelMenue)) { if ((i == 0 || GlobalVariables.UnlockedLevels[i - 1] > 0) || (i > 1 && GlobalVariables.UnlockedLevels[i - 2] > 0) || (i > 3 && GlobalVariables.UnlockedLevels[i - 3] > 0)) { Instantiate(Resources.Load("Prefabs/UI/LoadingOverlay_" + GlobalVariables.language)); SceneLoader.LoadScene("Level", i + 1); } } } //Next page button GUI.backgroundColor = Color.clear; GUI.contentColor = Color.white; btnStyle_LevelMenue.fontSize = (int)(0.75 * buttonsize); if (current_page < pages - 1) { if (GUI.Button(new Rect(bottomCorner_x - buttonsize, bottomCorner_y, button_width, button_height), ">", btnStyle_LevelMenue)) { current_page++; } } //Next page button if (current_page > 0) { if (GUI.Button(new Rect(upperCorner_x, bottomCorner_y, button_width, button_height), "<", btnStyle_LevelMenue)) { current_page--; } } break; } }
// Update is called once per frame void FixedUpdate() { //main game if (gamestate == RUNNING) { //vibration animation scale = (scale == 1) ? 1.02f : 1; transform.localScale = new Vector3(scale, scale, 1); //if lawnmower is moving if (transform.position.x != x || transform.position.y != y) { //increase noise while moving soundeffect.volume = 0.5f; //deactivate buttons while moving button_up.gameObject.SetActive(false); button_down.gameObject.SetActive(false); button_left.gameObject.SetActive(false); button_right.gameObject.SetActive(false); //xDif, yDif elementOf {-0.1, 0 ,0.1} => movement direction and speed float xDif = 0.1f * ((x - transform.position.x) < 0 ? -1 : (x - transform.position.x) == 0 ? 0 : 1); float yDif = 0.1f * ((y - transform.position.y) < 0 ? -1 : (y - transform.position.y) == 0 ? 0 : 1); //new position float xNew = Mathf.Round((transform.position.x + xDif) * 1000) / 1000f; float yNew = Mathf.Round((transform.position.y + yDif) * 1000) / 1000f; transform.position = new Vector3(xNew, yNew, 0); //set gras under lawnmower to mowed GlobalVariables.setMowed((int)xNew + (int)(GlobalVariables.Level.Length / 2), (int)yNew + (int)(GlobalVariables.Level[0].Length / 2)); //start losescreen if flowers are hit if (GlobalVariables.Level[(int)xNew + (int)(GlobalVariables.Level.Length / 2)][(int)yNew + (int)(GlobalVariables.Level[0].Length / 2)] == LevelGenerator.FLOWER) { soundeffect.volume = 0.2f; gamestate = LOST; } //if not moving } else { //Keyboard Control if (Input.GetKeyDown(KeyCode.LeftArrow)) { left(); } else if (Input.GetKeyDown(KeyCode.RightArrow)) { right(); } else if (Input.GetKeyDown(KeyCode.UpArrow)) { up(); } else if (Input.GetKeyDown(KeyCode.DownArrow)) { down(); } //idecrease noise while moving soundeffect.volume = 0.2f; //activate buttons while not moving if (isFree(x - 1, y)) { button_left.gameObject.SetActive(true); } if (isFree(x + 1, y)) { button_right.gameObject.SetActive(true); } if (isFree(x, y - 1)) { button_down.gameObject.SetActive(true); } if (isFree(x, y + 1)) { button_up.gameObject.SetActive(true); } //start winscreen if everything is mowed if (GlobalVariables.isMowed()) { GlobalVariables.UnlockedLevels[GlobalVariables.LevelIndex - 1] = GlobalVariables.RoundCounter; SaveManagement.SaveLevels(); soundeffect.volume = 0.2f; gamestate = WON; } } //mute sound if wanted //soundeffect.mute = GlobalVariables.isMuted; //resize buttons buttonsize = (Screen.height / 1000f); button_up.transform.localScale = new Vector3(buttonsize, buttonsize, 1); button_down.transform.localScale = new Vector3(buttonsize, buttonsize, 1); button_left.transform.localScale = new Vector3(buttonsize, buttonsize, 1); button_right.transform.localScale = new Vector3(buttonsize, buttonsize, 1); //set new positon for buttons button_up.transform.position = new Vector3(x * buttonsize * 100 + ui_canvas.transform.position.x, y * buttonsize * 100 + ui_canvas.transform.position.y + buttonsize * 100, 0); button_down.transform.position = new Vector3(x * buttonsize * 100 + ui_canvas.transform.position.x, y * buttonsize * 100 + ui_canvas.transform.position.y - buttonsize * 100, 0); button_left.transform.position = new Vector3(x * buttonsize * 100 + ui_canvas.transform.position.x - buttonsize * 100, y * buttonsize * 100 + ui_canvas.transform.position.y, 0); button_right.transform.position = new Vector3(x * buttonsize * 100 + ui_canvas.transform.position.x + buttonsize * 100, y * buttonsize * 100 + ui_canvas.transform.position.y, 0); } }