示例#1
0
    // Update is called once per frame
    void Update()
    {
        Scene scene = SceneManager.GetActiveScene();

        if (scene.name == "Start")
        {
            volume = mySettingsmenu.volume;
            sfx    = mySettingsmenu.sfx;
            music  = mySettingsmenu.music;
        }
        if (scene.name == "Game")
        {
            Audiomixer.SetFloat("volume", volume);
            Audiomixer.SetFloat("volume", sfx);
            Audiomixer.SetFloat("volume", music);
            if (loaded)
            {
                SaveGameManager    = GameObject.Find("SaveGameManager");
                mySaveGameSettings = SaveGameManager.GetComponent <SaveGameSettings>();
                mySaveGameSettings.Load();
            }
            destroy = true;
        }

        if (destroy == false)
        {
            DontDestroyOnLoad(transform.gameObject);
        }
        if (scene.name == "Game" && destroy)
        {
            Destroy(transform.gameObject);
        }
    }
        /// <summary>
        /// Copy the specified identifier to identifier.
        /// </summary>
        /// <param name="fromIdentifier">From identifier.</param>
        /// <param name="toIdentifier">To identifier.</param>
        /// <param name="settings">Settings.</param>
        public override void Copy(string fromIdentifier, string toIdentifier, SaveGameSettings settings)
        {
            string fromPath = GetAbsolutePath(fromIdentifier, settings.BasePath);
            string toPath   = GetAbsolutePath(toIdentifier, settings.BasePath);

            if (File.Exists(fromPath) && !Directory.Exists(toPath))
            {
                File.Copy(fromPath, toPath);
            }
            else if (File.Exists(fromPath) && Directory.Exists(toPath))
            {
                File.Copy(fromPath, Path.Combine(toPath, Path.GetFileName(fromPath)));
            }
            else if (Directory.Exists(fromPath) && !File.Exists(toPath))
            {
                Directory.CreateDirectory(toPath);
                DirectoryInfo info  = new DirectoryInfo(fromPath);
                FileInfo []   files = info.GetFiles();
                for (int i = 0; i < files.Length; i++)
                {
                    string dest = Path.Combine(toPath, files [i].Name);
                    files [i].CopyTo(dest, true);
                }
                DirectoryInfo [] directories = info.GetDirectories();
                for (int i = 0; i < directories.Length; i++)
                {
                    string dest = Path.Combine(toPath, directories [i].Name);
                    Copy(directories [i].FullName, dest, settings);
                }
            }
        }
示例#3
0
 /// <summary>
 /// Serialize the specified output, value and settings.
 /// </summary>
 /// <param name="output">Output.</param>
 /// <param name="value">Value.</param>
 /// <param name="settings">Settings.</param>
 public void Serialize(TextWriter output, object value, SaveGameSettings settings)
 {
     using (JsonWriter writer = new JsonTextWriter(output, settings))
     {
         writer.Write(value);
     }
 }
 /// <summary>
 /// Deserializes the into.
 /// </summary>
 /// <param name="input">Input.</param>
 /// <param name="value">Value.</param>
 /// <param name="settings">Settings.</param>
 public virtual void DeserializeInto(Stream input, object value, SaveGameSettings settings)
 {
     using (BinaryObjectReader reader = new BinaryObjectReader(input, settings))
     {
         (reader as ISaveGameReader).ReadInto(value);
     }
 }
示例#5
0
 /// <summary>
 /// Deserialize the specified input, type and settings.
 /// </summary>
 /// <param name="input">Input.</param>
 /// <param name="type">Type.</param>
 /// <param name="settings">Settings.</param>
 public object Deserialize(TextReader input, Type type, SaveGameSettings settings)
 {
     using (JsonReader reader = new JsonTextReader(input, settings))
     {
         return(reader.Read(type));
     }
 }
示例#6
0
    void Start()
    {
        SoundManager       = GameObject.Find("SoundManager");
        SaveGameManager    = GameObject.Find("SaveGameManager");
        mySaveGameSettings = SaveGameManager.GetComponent <SaveGameSettings>();
        InventoryPanel     = GameObject.Find("InventarPanel");
        RezeptPanel        = GameObject.Find("RezeptPanel");
        EquipmentPanel     = GameObject.Find("EquimentPanel");
        Mouse     = GameObject.Find("Mouse");
        MouseSlot = GameObject.Find("MouseSlot");
        Slotpanel = GameObject.Find("SlotPanel");
        PauseMenu = GameObject.Find("PauseMenu");
        MouseSlot.SetActive(false);
        PauseMenu.SetActive(false);
        Charakter   = GameObject.Find("Charakter");
        Rightarm    = GameObject.Find("Rightarm");
        Leftarm     = GameObject.Find("Leftarm");
        Head        = GameObject.Find("Head");
        Body        = GameObject.Find("Body");
        AudioSource = GetComponent <AudioSource>();
        Etimer      = 1.5f;

        Dtimer = 1.5f;

        // Mit Animator verbinden --------------------------------------------------------

        animator = GetComponent <Animator>();
    }
 /// <summary>
 /// Load the data into the value.
 /// </summary>
 /// <param name="value">Value.</param>
 /// <param name="settings">Settings.</param>
 /// <typeparam name="T">The 1st type parameter.</typeparam>
 public override void LoadInto(object value, SaveGameSettings settings)
 {
     using (MemoryStream stream = new MemoryStream(Convert.FromBase64String(m_Request.downloadHandler.text)))
     {
         settings.Formatter.DeserializeInto(stream, value, settings);
     }
 }
        /// <summary>
        /// Clear the user data on this storage.
        /// </summary>
        /// <param name="settings">Settings.</param>
        public override void Clear(SaveGameSettings settings)
        {
            string path = GetAbsolutePath(settings.Identifier, settings.BasePath);

            if (File.Exists(path))
            {
                Delete(settings);
                return;
            }
            else if (string.IsNullOrEmpty(path) || !Directory.Exists(path))
            {
                path = settings.BasePath;
            }
            if (!Directory.Exists(path))
            {
                return;
            }
            DirectoryInfo info = new DirectoryInfo(path);

            FileInfo [] files = info.GetFiles();
            for (int i = 0; i < files.Length; i++)
            {
                files [i].Delete();
            }
            DirectoryInfo [] directories = info.GetDirectories();
            for (int i = 0; i < directories.Length; i++)
            {
                if (directories [i].Name != "Unity")
                {
                    directories [i].Delete(true);
                }
            }
        }
示例#9
0
 /// <summary>
 /// Deserializes the into.
 /// </summary>
 /// <param name="input">Input.</param>
 /// <param name="value">Value.</param>
 /// <param name="settings">Settings.</param>
 public void DeserializeInto(TextReader input, object value, SaveGameSettings settings)
 {
     using (JsonReader reader = new JsonTextReader(input, settings))
     {
         reader.ReadInto(value);
     }
 }
 /// <summary>
 /// Deserialize the specified input, type and settings.
 /// </summary>
 /// <param name="input">Input.</param>
 /// <param name="type">Type.</param>
 /// <param name="settings">Settings.</param>
 public virtual object Deserialize(Stream input, Type type, SaveGameSettings settings)
 {
     using (BinaryObjectReader reader = new BinaryObjectReader(input, settings))
     {
         return(reader.Read(type));
     }
 }
 /// <summary>
 /// Serialize the specified output, value and settings.
 /// </summary>
 /// <param name="output">Output.</param>
 /// <param name="value">Value.</param>
 /// <param name="settings">Settings.</param>
 public virtual void Serialize(Stream output, object value, SaveGameSettings settings)
 {
     using (BinaryObjectWriter writer = new BinaryObjectWriter(output, settings))
     {
         writer.Write(value);
     }
 }
示例#12
0
 /// <summary>
 /// Load the value, if not exists, return the default value.
 /// </summary>
 /// <param name="defaultValue">Default value.</param>
 /// <param name="settings">Settings.</param>
 /// <typeparam name="T">The 1st type parameter.</typeparam>
 public virtual T Load <T>(T defaultValue, SaveGameSettings settings)
 {
     if (defaultValue == null)
     {
         defaultValue = default(T);
     }
     return((T)Load(typeof(T), defaultValue, settings));
 }
        /// <summary>
        /// Gets the read stream.
        /// </summary>
        /// <returns>The read stream.</returns>
        /// <param name="settings">Settings.</param>
        public override Stream GetReadStream(SaveGameSettings settings)
        {
            string path = GetAbsolutePath(settings.Identifier, settings.BasePath);

            if (!File.Exists(path))
            {
                return(null);
            }
            return(new FileStream(path, FileMode.Open));
        }
        /// <summary>
        /// Delete the specified identifier.
        /// </summary>
        /// <param name="identifier">Identifier.</param>
        /// <param name="settings">Settings.</param>
        public override IEnumerator Delete(string identifier, SaveGameSettings settings)
        {
            var form = CreateRequestForm("delete", settings);

            m_Request = UnityWebRequest.Post(m_Url, form);
#if UNITY_2017_2_OR_NEWER
            yield return(m_Request.SendWebRequest());
#else
            yield return(m_Request.Send());
#endif
        }
        /// <summary>
        /// Clear the user data.
        /// </summary>
        /// <param name="settings">Settings.</param>
        public override IEnumerator Clear(SaveGameSettings settings)
        {
            var form = CreateRequestForm("clear", settings);

            m_Request = UnityWebRequest.Post(m_Url, form);
#if UNITY_2017_2_OR_NEWER
            yield return(m_Request.SendWebRequest());
#else
            yield return(m_Request.Send());
#endif
        }
        /// <summary>
        /// Gets the write stream.
        /// </summary>
        /// <returns>The write stream.</returns>
        /// <param name="settings">Settings.</param>
        public override Stream GetWriteStream(SaveGameSettings settings)
        {
            string path    = GetAbsolutePath(settings.Identifier, settings.BasePath);
            string dirName = Path.GetDirectoryName(path);

            if (!Directory.Exists(dirName))
            {
                Directory.CreateDirectory(dirName);
            }
            return(new FileStream(path, FileMode.Create));
        }
        /// <summary>
        /// Gets the file URL.
        /// </summary>
        /// <param name="identifier">Identifier.</param>
        /// <param name="settings">Settings.</param>
        public virtual IEnumerator GetFileUrl(string identifier, SaveGameSettings settings)
        {
            var form = CreateRequestForm("getfileurl", identifier, settings);

            form.Add("file-name", identifier);
            m_Request = UnityWebRequest.Post(m_Url, form);
#if UNITY_2017_2_OR_NEWER
            yield return(m_Request.SendWebRequest());
#else
            yield return(m_Request.Send());
#endif
        }
        /// <summary>
        /// Gets the files.
        /// </summary>
        /// <returns>The files.</returns>
        /// <param name="settings">Settings.</param>
        public override FileInfo[] GetFiles(SaveGameSettings settings)
        {
            string path = GetAbsolutePath(settings.Identifier, settings.BasePath);

            FileInfo [] files = new FileInfo[0];
            if (Directory.Exists(path))
            {
                DirectoryInfo info = new DirectoryInfo(path);
                files = info.GetFiles();
            }
            return(files);
        }
        /// <summary>
        /// Delete the specified identifier.
        /// </summary>
        /// <param name="settings">Settings.</param>
        public override void Delete(SaveGameSettings settings)
        {
            string path = GetAbsolutePath(settings.Identifier, settings.BasePath);

            if (File.Exists(path))
            {
                File.Delete(path);
            }
            else if (Directory.Exists(path))
            {
                Directory.Delete(path, true);
            }
        }
示例#20
0
    // Use this for initialization
    void Start()
    {
        SoundManager       = GameObject.Find("SoundManager");
        SaveGameManager    = GameObject.Find("SaveGameManager");
        mySaveGameSettings = SaveGameManager.GetComponent <SaveGameSettings>();
        animator           = GetComponent <Animator>();
        tmp         = this.GetComponent <SpriteRenderer>().color;
        allSlots    = new string[9];
        allItems    = new string[9];
        amountItems = new int[20];

        ChestID = new Dictionary <GameObject, int>();
    }
        /// <summary>
        /// Load the value, if not exists, return the default value.
        /// </summary>
        /// <param name="type">Type.</param>
        /// <param name="defaultValue">Default value.</param>
        /// <param name="settings">Settings.</param>
        public override object Load(Type type, object defaultValue, SaveGameSettings settings)
        {
            object result = null;

            using (MemoryStream stream = new MemoryStream(Convert.FromBase64String(m_Request.downloadHandler.text)))
            {
                result = settings.Formatter.Deserialize(stream, type, settings);
            }
            if (result == null)
            {
                result = defaultValue;
            }
            return(result);
        }
        /// <summary>
        /// Save the specified value using the identifier.
        /// </summary>
        /// <param name="identifier">Identifier.</param>
        /// <param name="value">Value.</param>
        /// <param name="settings">Settings.</param>
        /// <typeparam name="T">The 1st type parameter.</typeparam>
        public override IEnumerator Save(string identifier, object value, SaveGameSettings settings)
        {
            byte[] data;
            using (MemoryStream stream = new MemoryStream())
            {
                settings.Formatter.Serialize(stream, value, settings);
                data = stream.ToArray();
            }
            var form = CreateRequestForm("save", identifier, data, settings);

            m_Request = UnityWebRequest.Post(m_Url, form);
#if UNITY_2017_2_OR_NEWER
            yield return(m_Request.SendWebRequest());
#else
            yield return(m_Request.Send());
#endif
        }
        /// <summary>
        /// Move the specified identifier to identifier.
        /// </summary>
        /// <param name="fromIdentifier">From identifier.</param>
        /// <param name="toIdentifier">To identifier.</param>
        /// <param name="settings">Settings.</param>
        public override void Move(string fromIdentifier, string toIdentifier, SaveGameSettings settings)
        {
            string fromPath = GetAbsolutePath(fromIdentifier, settings.BasePath);
            string toPath   = GetAbsolutePath(toIdentifier, settings.BasePath);

            if (File.Exists(fromPath) && !Directory.Exists(toPath))
            {
                File.Move(fromPath, toPath);
            }
            else if (File.Exists(fromPath) && Directory.Exists(toPath))
            {
                File.Move(fromPath, Path.Combine(toPath, Path.GetFileName(fromPath)));
            }
            else if (Directory.Exists(fromPath) && !File.Exists(toPath))
            {
                Directory.Move(fromPath, toPath);
            }
        }
 /// <summary>
 /// Delete the specified identifier.
 /// </summary>
 /// <param name="settings">Settings.</param>
 public override void Delete(SaveGameSettings settings)
 {
     PlayerPrefs.DeleteKey(settings.Identifier);
     PlayerPrefs.Save();
 }
 /// <summary>
 /// Copy the specified identifier to identifier.
 /// </summary>
 /// <param name="fromIdentifier">From identifier.</param>
 /// <param name="toIdentifier">To identifier.</param>
 /// <param name="settings">Settings.</param>
 public override void Copy(string fromIdentifier, string toIdentifier, SaveGameSettings settings)
 {
     PlayerPrefs.SetString(toIdentifier, PlayerPrefs.GetString(fromIdentifier));
     PlayerPrefs.Save();
 }
 /// <summary>
 /// Clear the user data on this storage.
 /// </summary>
 /// <param name="settings">Settings.</param>
 public override void Clear(SaveGameSettings settings)
 {
     PlayerPrefs.DeleteAll();
     PlayerPrefs.Save();
 }
 /// <summary>
 /// Called after Save.
 /// </summary>
 /// <param name="settings">Settings.</param>
 public override void OnSaved(SaveGameSettings settings)
 {
     PlayerPrefs.SetString(settings.Identifier, Convert.ToBase64String(m_TempStream.ToArray()));
     PlayerPrefs.Save();
     m_TempStream.Dispose();
 }
 /// <summary>
 /// Gets the write stream.
 /// </summary>
 /// <returns>The write stream.</returns>
 /// <param name="settings">Settings.</param>
 public override Stream GetWriteStream(SaveGameSettings settings)
 {
     m_TempStream = new MemoryStream();
     return(m_TempStream);
 }
 /// <summary>
 /// Gets the read stream.
 /// </summary>
 /// <returns>The read stream.</returns>
 /// <param name="settings">Settings.</param>
 public override Stream GetReadStream(SaveGameSettings settings)
 {
     return(new MemoryStream(Convert.FromBase64String(PlayerPrefs.GetString(settings.Identifier))));
 }
 /// <summary>
 /// Move the specified identifier to identifier.
 /// </summary>
 /// <param name="fromIdentifier">From identifier.</param>
 /// <param name="toIdentifier">To identifier.</param>
 /// <param name="settings">Settings.</param>
 public override void Move(string fromIdentifier, string toIdentifier, SaveGameSettings settings)
 {
     Copy(fromIdentifier, toIdentifier, settings);
     settings.Identifier = fromIdentifier;
     Delete(settings);
 }