private void UpdateValues(UnityAction onCompleted = null) { values.UpdateProperties(target); Debug.LogFormat("Updating properties: {0}", values.properties.ArrayToString()); string json; if (presetProperties.NeedsWrite(out json)) { if (onCompleted == null) { firebase.SetValueAsync(databasePath, json); } else { firebase.SetValueAsync(databasePath, json).ContinueWith( task => { if (task.IsCompleted) { onCompleted.Invoke(); } } ); } } }
private IEnumerator UpdateValuesCoroutine() { while (updateInterval > .001f) { cameraValues.position = transform.position; cameraValues.euler = transform.eulerAngles; firebase.SetValueAsync("admin/camera", JsonUtility.ToJson(cameraValues)); yield return(new WaitForSeconds(updateInterval)); } }
private void Setup(bool isHost) { NetworkConnection unet = NetworkConnection.Instance; FirebaseManager firebase = FirebaseManager.Instance; firebase.ExecuteOnInitialisation( () => { string networkAddress; if (isHost) { networkAddress = Network.player.ipAddress; firebase.SetValueAsync("connection/ip", networkAddress); firebase.SetValueAsync("connection/run", UnityEngine.Random.Range(0, 100)); } else { firebase.GetValueAsync("connection/ip", (value) => { networkAddress = ( string )value; unet.StartClient(networkAddress); } ); } } ); if (isHost) { unet.StartHost(); unet.OnClientHasConnected += (connectionId) => { Debug.Log("Client " + connectionId + " Connected!"); } ; } }