dronkowitz

GameManager.cs

Jan 12th, 2023 (edited)
746
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.08 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class GameManager : MonoBehaviour
  6. {
  7.     public static GameManager Instance;
  8.     public PlayerMovement playerCharacter;
  9.     private Inventory playerInventory;
  10.  
  11.     private void Awake()
  12.     {
  13.         Instance = this;
  14.     }
  15.     void Start()
  16.     {
  17.         playerInventory = playerCharacter.GetComponent<Inventory>();
  18.         LoadData(0);
  19.     }
  20.  
  21.     // Update is called once per frame
  22.     void Update()
  23.     {
  24.        
  25.     }
  26.  
  27.     public void LoadData(int savedSlot)
  28.     {
  29.         if (!SaveLoad.LoadFile(savedSlot)) return;
  30.         SaveData loadedData = SaveLoad.currentSave;
  31.         playerInventory.backPack = DataConversion.StringToItems(loadedData.inventoryData);
  32.         Vector3 position = new Vector3(loadedData.playerPosition[0], loadedData.playerPosition[1], loadedData.playerPosition[2]);
  33.         Quaternion rotation = new Quaternion(loadedData.playerRotation[0], loadedData.playerRotation[1], loadedData.playerRotation[2], loadedData.playerRotation[3]);
  34.         if (position != Vector3.zero)
  35.         {
  36.             playerCharacter.transform.rotation = rotation;
  37.             playerCharacter.transform.position = position;
  38.         }
  39.     }
  40.  
  41.     public void SaveData(int savedSlot)
  42.     {
  43.         SaveData dataSave = SaveLoad.currentSave;
  44.         dataSave.inventoryData = DataConversion.ItemsToString(playerInventory.backPack);
  45.         Vector3 position = playerCharacter.transform.position;
  46.         Quaternion rotation = playerCharacter.transform.rotation;
  47.         dataSave.playerPosition = new float[3];
  48.         dataSave.playerRotation = new float[4];
  49.         dataSave.playerPosition[0] = position.x;
  50.         dataSave.playerPosition[1] = position.y;
  51.         dataSave.playerPosition[2] = position.z;
  52.         dataSave.playerRotation[0] = rotation.x;
  53.         dataSave.playerRotation[1] = rotation.y;
  54.         dataSave.playerRotation[2] = rotation.z;
  55.         dataSave.playerRotation[3] = rotation.w;
  56.         SaveLoad.currentSave = dataSave;
  57.         SaveLoad.SaveCurrentData(savedSlot);
  58.     }
  59. }
  60.  
Advertisement
Add Comment
Please, Sign In to add comment