Exemplo n.º 1
0
    IEnumerator DirectoryExists()
    {
        JCloudDocumentOperation operation = JCloudDocument.DirectoryExists("Test");

        while (!operation.finished)
        {
            yield return(null);
        }
        documentResultString = "cloud document test directory exists : " + ((bool)operation.result ? "exists" : "does not exist") + (operation.error != null ? (" ; error : " + operation.error) : "");
    }
Exemplo n.º 2
0
    IEnumerator SaveGame()
    {
        // Failsafe
        if (player && playerCamera && redCube && greenCube && blueCube)
        {
            // Prepare a memory stream & a binary writer
            System.IO.MemoryStream dataStream = new System.IO.MemoryStream();
            System.IO.BinaryWriter writer     = new System.IO.BinaryWriter(dataStream);

            // Write player state
            SerializeTransformToWriter(player.transform, writer);
            SerializeRigidbodyToWriter(player.rigidbody, writer);

            // Write player camera state
            SerializeTransformToWriter(playerCamera.transform, writer);

            // Write red, green & blue cubes state
            SerializeTransformToWriter(redCube.transform, writer);
            SerializeRigidbodyToWriter(redCube.rigidbody, writer);
            SerializeTransformToWriter(greenCube.transform, writer);
            SerializeRigidbodyToWriter(greenCube.rigidbody, writer);
            SerializeTransformToWriter(blueCube.transform, writer);
            SerializeRigidbodyToWriter(blueCube.rigidbody, writer);

            // Save game -- make sure directory exists
            JCloudDocumentOperation operation;
            operation = JCloudDocument.DirectoryExists("Savegames");
            while (!operation.finished)
            {
                yield return(null);
            }

            // Look for error -- if any, handle & stop coroutine here
            if (operation.error.HasValue)
            {
                HandleDocumentError(operation.error.Value);
                yield break;
            }

            if (!(bool)operation.result)
            {
                operation = JCloudDocument.DirectoryCreate("Savegames");
                while (!operation.finished)
                {
                    yield return(null);
                }

                // Look for error -- if any, handle & stop coroutine here
                if (operation.error.HasValue)
                {
                    HandleDocumentError(operation.error.Value);
                    yield break;
                }
            }

            // Write file
            operation = JCloudDocument.FileWriteAllBytes("Savegames/My saved game.sav", dataStream.GetBuffer());
            while (!operation.finished)
            {
                yield return(null);
            }

            // Look for error -- if any, handle & stop coroutine here
            if (operation.error.HasValue)
            {
                HandleDocumentError(operation.error.Value);
                yield break;
            }
        }
    }