Пример #1
0
        public override void OnEnter()
        {
            if (base64Data != null && !string.IsNullOrEmpty(base64Data.Value))
            {
                // First convert base64 back to byte[]
                byte[] binaryData = System.Convert.FromBase64String(base64Data.Value);

                // Next convert byte[] to our custom saved game data class
                DemoSavedGameData dataObject = ByteArrayToSavedGameData(binaryData);

                if (dataObject != null)
                {
                    demoValue.Value = dataObject.demoInt;
                }
                else
                {
                    Debug.Log("Error constructing demo saved game data object.");
                }
            }
            else
            {
                Debug.Log("Nothing to parse.");
            }

            Finish();
        }
        byte[] SavedGameDataToByteArray(DemoSavedGameData dataObj)
        {
            if (dataObj != null)
            {
                // Convert to json string
                string jsonStr = JsonUtility.ToJson(dataObj);

                // Json string to byte[]
                return(System.Text.Encoding.UTF8.GetBytes(jsonStr));
            }

            return(null);
        }
Пример #3
0
        DemoSavedGameData ByteArrayToSavedGameData(byte[] data)
        {
            if (data != null)
            {
                // Byte[] data to json string
                string jsonStr = System.Text.Encoding.UTF8.GetString(data);

                // Json string to object
                DemoSavedGameData savedData = JsonUtility.FromJson <DemoSavedGameData>(jsonStr);

                return(savedData);
            }

            return(null);
        }