public IEnumerator Start() { StartCoroutine(Camera.main.fadeIn(3)); animator = GetComponent <EditorAnimator>(); // Hook GVR controller ray caster controllerRaycaster = FindObjectOfType <GvrPointerPhysicsRaycaster>(); // Initialize GVR controller swipe monitor GvrSwipeMonitor swipeMonitor = FindObjectOfType <GvrSwipeMonitor>(); swipeMonitor.onSwipeRight += onSwipeRight; swipeMonitor.onSwipeLeft += onSwipeLeft; // Init Salesforce client & log in sfController = new SalesforceController(this, GetComponent <SalesforceClient>()); Coroutine <bool> loginRoutine = this.StartCoroutine <bool>(sfController.login()); yield return(loginRoutine.coroutine); loginRoutine.getValue(); // Load data from Salesforce yield return(loadDataFromSalesforce()); // Load brief movie based on configuration FindObjectOfType <BriefVideoMonitor>().loadBrief(ApplicationState.configuration); }
public IEnumerator Start() { loginUI = FindObjectOfType <LoginUI>(); // Init SF controller SalesforceClient client = GetComponent <SalesforceClient>(); if (ApplicationState.sfConnection != null) { client.setConnection(ApplicationState.sfConnection); } sfController = new SalesforceController(this, client); // Is this the first run? if (ApplicationState.sfConnection == null) { // Show login screen yield return(FindObjectOfType <VRUtil>().enableVrMode(false)); loginUI.setSalesforceController(sfController); StartCoroutine(loginUI.fadeIn()); } else // Returning to menu, display config list { // Destroy non-VR UI Destroy(loginUI.gameObject); Destroy(FindObjectOfType <StandaloneInputModule>()); // Enable VR UI StartCoroutine(Camera.main.fadeIn(3)); setVrUiScreen(configurationSelectionContainer.name); yield return(initConfigSelectionView()); yield return(transitionUi(true)); } }
public static IEnumerator loadDefaultTestConfiguration(MonoBehaviour owner, SalesforceController sfController) { Coroutine <Configuration> configRoutine = owner.StartCoroutine <Configuration>(sfController.getConfiguration("a020Y000001AyEKQA0")); yield return(configRoutine.coroutine); ApplicationState.configuration = configRoutine.getValue(); Debug.LogWarning("Testing with configuration " + ApplicationState.configuration.name); }
IEnumerator Start() { StartCoroutine(cameraContainer.GetComponentInChildren <Camera>().fadeIn(3)); StartCoroutine(spawnNavigationNodes()); // Init Salesforce client & log in sfController = new SalesforceController(this, GetComponent <SalesforceClient>()); Coroutine <bool> loginRoutine = this.StartCoroutine <bool>(sfController.login()); yield return(loginRoutine.coroutine); loginRoutine.getValue(); // Load data from Salesforce yield return(loadDataFromSalesforce()); }
public static IEnumerator loadDataFromSalesforce(MonoBehaviour owner, SalesforceController sfController) { // Fetch object definitions CacheManager.getObjectDefinitions().clear(); Coroutine <List <ObjectDefinition> > defRoutine = owner.StartCoroutine <List <ObjectDefinition> >(sfController.getObjectDefinitions()); yield return(defRoutine.coroutine); List <ObjectDefinition> objectDefinitions = defRoutine.getValue(); CacheManager.getObjectDefinitions().put(objectDefinitions); Debug.Log("Loaded " + objectDefinitions.Count + " object definitions"); // Fetch object instances CacheManager.getObjectInstances().clear(); Coroutine <List <ObjectInstance> > instRoutine = owner.StartCoroutine <List <ObjectInstance> >(sfController.getObjectInstancesFromConfiguration(ApplicationState.configuration.id)); yield return(instRoutine.coroutine); List <ObjectInstance> objectInstances = instRoutine.getValue(); CacheManager.getObjectInstances().put(objectInstances); Debug.Log("Loaded " + objectInstances.Count + " object instances from configuration " + ApplicationState.configuration.name); // Only preload remote object definitions that are in use foreach (ObjectDefinition definition in objectDefinitions) { if (definition.isRemotePrefab()) { bool isDefinitionUsed = false; for (int i = 0; !isDefinitionUsed && i < objectInstances.Count; i++) { if (objectInstances[i].definition.id == definition.id) { isDefinitionUsed = true; } } if (isDefinitionUsed) { yield return(definition.preloadRemotePrefab()); } } } }