// Use this for initialization private IEnumerator Start() { waitingforReply = false; Initialized = false; AssetManager.Instance.Bridge = new AssetManagerBridge(); m_dialogController.AddDialogLine("Loading..."); alreadyUsedDialogs = new Dictionary <string, string>(); var streamingAssetsPath = Application.streamingAssetsPath; #if UNITY_EDITOR || UNITY_STANDALONE streamingAssetsPath = "file://" + streamingAssetsPath; #endif var www = new WWW(streamingAssetsPath + "/scenarioList.txt"); yield return(www); if (!string.IsNullOrEmpty(www.error)) { m_dialogController.AddDialogLine("Error: " + www.error); yield break; } var entries = www.text.Split(new[] { "\n", "\r\n" }, StringSplitOptions.None); if ((entries.Length % 2) != 0) { m_dialogController.AddDialogLine("Error: Scenario entries must in groups of 2 to identify the scenario file, and TTS directory"); yield break; } { List <ScenarioData> data = new List <ScenarioData>(); for (int i = 0; i < entries.Length; i += 2) { var path = entries[i].Trim(); var tts = entries[i + 1].Trim(); data.Add(new ScenarioData(path, tts)); } m_scenarios = data.ToArray(); } m_dialogController.Clear(); LoadScenarioMenu(); }
// Use this for initialization private IEnumerator Start() { waitingforReply = false; Initialized = false; _finalScore = GameObject.FindGameObjectWithTag("FinalScore"); _finalScore.SetActive(false); AssetManager.Instance.Bridge = new AssetManagerBridge(); ; // m_dialogController.AddDialogLine("Loading..."); alreadyUsedDialogs = new Dictionary <string, string>(); var streamingAssetsPath = Application.streamingAssetsPath; counter = 0; #if UNITY_EDITOR || UNITY_STANDALONE streamingAssetsPath = "file://" + streamingAssetsPath; #endif var www = new WWW(streamingAssetsPath + "/MultiCharacterScenarioList.txt"); yield return(www); if (!string.IsNullOrEmpty(www.error)) { m_dialogController.AddDialogLine("Error: " + www.error); yield break; } rpcList = new List <RolePlayCharacterAsset>(); m_characterAnchors = new List <Transform>(); foreach (var anc in GameObject.FindGameObjectsWithTag("Anchor")) { m_characterAnchors.Add(anc.transform); } _agentControllers = new List <MultiCharacterAgentController>(); justSpokeAgent = null; var entries = www.text.Split(new[] { "\n", "\r\n" }, StringSplitOptions.None); if ((entries.Length % 2) != 0) { m_dialogController.AddDialogLine("Error: Scenario entries must in groups of 2, to identify the scenario file, and TTS directory"); yield break; } { List <SingleCharacterDemo.ScenarioData> data = new List <SingleCharacterDemo.ScenarioData>(); for (int i = 0; i < entries.Length; i += 2) { var path = entries[i].Trim(); var tts = entries[i + 1].Trim(); // Debug.Log(path + " e " + tts); data.Add(new SingleCharacterDemo.ScenarioData(path, tts)); } m_scenarios = data.ToArray(); } _events = new List <Name>(); _actions = new List <IAction>(); LoadScenarioMenu(); }
public IEnumerator UpdateCoroutine() { while (m_rpc.GetBeliefValue(string.Format(IATConsts.DIALOGUE_STATE_PROPERTY, IATConsts.PLAYER)) != IATConsts.TERMINAL_DIALOGUE_STATE) { yield return(new WaitForSeconds(1)); if (_body._speechController.IsPlaying) { continue; } var action = m_rpc.Decide().FirstOrDefault(); if (action == null) { Debug.Log(RPC.CharacterName.ToString() + " decided: nothing"); } else { Debug.Log(RPC.CharacterName.ToString() + " decided: " + action.Key); } _events.Clear(); m_rpc.Update(); UpdateEmotionExpression(); if (action == null) { continue; } lastAction = action; if (action != null) { Debug.Log(RPC.CharacterName.ToString() + " decision is:" + action.Name + " towards " + action.Target); switch (action.Key.ToString()) { case "Speak": updateHeadController(action.Target.ToString()); GameObject.FindGameObjectWithTag(action.Target.ToString()) .GetComponentInChildren <HeadLookController>()._target = this._body.gameObject; m_activeController.StartCoroutine(HandleSpeak(action)); break; case "Disconnect": m_activeController.StartCoroutine(newHandleDisconnect()); m_dialogController.AddDialogLine(string.Format("- {0} disconnects -", m_rpc.CharacterName)); _currentCoroutine = null; Object.Destroy(_body.Body); break; default: Debug.LogWarning("Unknown action: " + action.Key); break; } } } }
// Use this for initialization private void Start() { startingTime = DateTime.Now; sentencesToMatch = new List <string>(); rand = new System.Random(10); if (UnityEngine.XR.XRDevice.isPresent == false) { // Debug.Log("No VIVE detected"); foreach (var cam in cameras) { if (cam.tag == "MainCamera") { Debug.Log("no vr device detected"); SteamVR.SafeDispose(); UnityEngine.XR.XRSettings.enabled = false; GameObject.Find("[CameraRig]").SetActive(false); cam.SetActive(false); } if (cam.name == "2DCamera") { cam.SetActive(true); cam.tag = "MainCamera"; } } vr = false; } else { vr = true; UnityEngine.XR.XRSettings.enabled = true; SteamVR.enabled = true; } Initialized = false; // _finalScore = GameObject.FindGameObjectWithTag("FinalScore"); _finalScore.SetActive(false); AssetManager.Instance.Bridge = new AssetManagerBridge(); m_dialogController.AddDialogLine("Loading..."); alreadyUsedDialogs = new Dictionary <string, string>(); _questionsAnswers = new Dictionary <string, string>(); var streamingAssetsPath = Application.streamingAssetsPath; #if UNITY_EDITOR || UNITY_STANDALONE streamingAssetsPath = "file://" + streamingAssetsPath; #endif var www = new WWW(streamingAssetsPath + "/scenarioList.txt"); // yield return www; if (!string.IsNullOrEmpty(www.error)) { m_dialogController.AddDialogLine("Error: " + www.error); // yield break; } var entries = www.text.Split(new[] { "\n", "\r\n" }, StringSplitOptions.None); if ((entries.Length % 2) != 0) { m_dialogController.AddDialogLine("Error: Scenario entries must in groups of 2, to identify the scenario file, and TTS directory"); // yield break; } { List <ScenarioData> data = new List <ScenarioData>(); for (int i = 0; i < entries.Length; i += 2) { var path = entries[i].Trim(); var tts = entries[i + 1].Trim(); data.Add(new ScenarioData(path, tts)); } m_scenarios = data.ToArray(); } var unorganizedPaperList = GameObject.FindGameObjectsWithTag("DialogHistory").ToList(); _paperList = unorganizedPaperList.OrderByDescending(p => p.transform.position.y).ToList(); // _paperList = GameObject.FindGameObjectsWithTag("DialogHistory").ToList(); currentOptions = new List <string>(); keyValuePairs = new Dictionary <string, float>(); alternativeKeyValuePairs = new Dictionary <string, float>(); MyStringBuilder = new StringBuilder(); m_dialogController.Clear(); LoadScenarioMenu(); }