Exemplo n.º 1
0
    private void Update()
    {
        if (objects != null && !generate)
        {
            Debug.Log("Stream received");
            GameObject parent = gameObject;
            foreach (Object ob in objects)
            {
                GameObject newob = ob.GameObject();
                newob.transform.parent        = parent.transform;
                gameObject.transform.position = new Vector3(ob.positionx, ob.positiony, ob.positionz);
                newob.GetComponent <MeshRenderer>().material = new Material(Shader.Find("Diffuse"));
            }
            generate = true;
        }

        if (nexthash != "" && !Shifted)
        {
            string        hash      = PlayerPrefs.GetString("StartHash");
            GameObject    newobject = new GameObject();
            IpfsGenerated gen       = newobject.AddComponent <IpfsGenerated>();

            Thread readthread = new Thread(() => IpfsIO.ReadObject(nexthash, gen));
            readthread.Start();

            Shifted = true;
        }
    }
Exemplo n.º 2
0
    public static async void ReadObject(string hash, IpfsGenerated returnto)
    {
        Stream basestream = await ReturnText(hash);

        List <Object> reconstructed = new List <Object>();

        using (StreamReader sr = new StreamReader(basestream))
        {
            while (!sr.EndOfStream)
            {
                string objectStream = sr.ReadLine();
                if (!objectStream.Contains("Hash:"))
                {
                    //Convert the Base64 string into byte array
                    byte[]          memorydata = Convert.FromBase64String(objectStream);
                    MemoryStream    rs         = new MemoryStream(memorydata);
                    BinaryFormatter sf         = new BinaryFormatter();
                    //Create object using BinaryFormatter
                    Object objResult = (Object)sf.Deserialize(rs);
                    reconstructed.Add(objResult);
                }
                else
                {
                    objectStream = objectStream.Replace("Hash:", "");
                    Debug.Log("Found next hash");
                    returnto.nexthash = objectStream;
                }
            }
        }
        returnto.objects = reconstructed;
        Debug.Log("Sucess! It's not IPFS");
    }
Exemplo n.º 3
0
    //If not write, read.

    // Use this for initialization
    void Start()
    {
        if (Write)
        {
            Task t = Extensions.Iterate(WriteInSequence());
        }
        else
        {
            string        hash      = PlayerPrefs.GetString("StartHash");
            GameObject    newobject = new GameObject();
            IpfsGenerated gen       = newobject.AddComponent <IpfsGenerated>();

            Thread readthread = new Thread(() => IpfsIO.ReadObject(hash, gen));
            readthread.Start();
        }
    }