public void Talk() { if (state != states.RUNNING) { return; } disparatorSignalsData = Data.Instance.settings.GetSignalsByDisparadorNpc(disparadorID); actualSignal = GetSignalByID(signalID); if (actualSignal == null) { NextDisparador(); return; } if (actualSignal.multiplechoice != null && actualSignal.multiplechoice.Length > 0) { state = states.MULTIPLECHOICE; } else { float timer = 2 + ((float)actualSignal.text.Length * 0.08f); Invoke("Talk", timer); signalID++; // print("timer : " + timer + " actualSignal.text.Length: " + actualSignal.text.Length); } // print("Talk state : " + state + " signalID: " + signalID + " disparadorID " + disparadorID + " --->> Talk actualSignal: " + actualSignal.text); simpleNPCDialogueSignal.Init(this, actualSignal); simpleNPCDialogueSignal.SetOn(signalID, Data.Instance.settings.GetTotalLinesInDisparadorNpc(disparadorID)); }
void SetNewSignals() { disparatorSignalsData = Data.Instance.settings.GetSignalsByDisparador(disparadorID); if (disparatorSignalsData.Count > 0) { actualSignal = disparatorSignalsData[0]; } signalID = 0; AddSignal(); }
public void Init(NpcRunner manager, Settings.SignalData data) { fieldColor = Color.white; //fieldColor = Data.Instance.settings.disparadoresColors[data.disparador_id]; // bar.color = fieldColor; container = transform.parent; SetCanvasAlpha(0.5f); canvas.worldCamera = Game.Instance.Character.cam; this.data = data; multiplechoiceAll = new List <RunMultiplechoiceButton>(); view_multiplechoice.SetActive(false); if (data.multiplechoice != null && data.multiplechoice.Length > 0) { Utils.RemoveAllChildsIn(view_multiplechoice.transform); view_multiplechoice.SetActive(true); isMultiplechoice = true; foreach (Settings.SignalDataMultipleContent d in data.multiplechoice) { RunMultiplechoiceButton button = Instantiate(mButton); button.transform.SetParent(view_multiplechoice.transform); button.InitNpc(this, d, fieldColor); multiplechoiceAll.Add(button); } // SetBarOff(); } else { isMultiplechoice = false; } settings = Data.Instance.settings.runSignalSettings; npcFace.SetActive(false); this.manager = manager; target = Game.Instance.Character.cam.transform; if (data.character == "npc") { if (data.multiplechoice == null || data.multiplechoice.Length == 0) { npcFace.SetActive(true); } field.text = data.text; fieldMy.text = ""; } else { fieldMy.text = data.text; field.text = ""; } fillImage.fillAmount = 0f; fillImageMy.fillAmount = 0f; }
void AddDisparador() { if (allDisparadoresDone) { return; } Reset(); actualSignal = Data.Instance.settings.GetNextDisparador(); if (actualSignal == null) { allDisparadoresDone = true; // Events.ChangeGameState(Game.states.AVATAR_TALK); Debug.Log("All disparadores DONE"); return; } nextDistance = distance + actualSignal.distance + viewDistance; print("sale disparadorID: " + actualSignal.id + " nextDistance: " + nextDistance + " distance: " + distance); }
void AddSignal() { Settings.SignalData sData = GetNewSignal(); if (sData == null) { actualSignal = null; nextDistance = distance + viewDistance; Data.Instance.settings.SetDisparadorDone(disparadorID); Invoke("ForceFinishDisparador", Data.Instance.settings.timeToFinishLastText); } else { Data.Instance.settings.SetDisparadorDone(disparadorID); actualSignal = sData; nextDistance = distance + actualSignal.distance; print(signalID + "NextDistance: " + nextDistance + " distance: " + distance + " state: " + state); } }
public void Init(RunSignalsManager manager, Settings.SignalData data) { barAsset.SetActive(false); fieldColor = Data.Instance.settings.disparadoresColors[data.disparador_id]; bar.color = fieldColor; container = transform.parent; SetCanvasAlpha(0.5f); canvas.worldCamera = Game.Instance.Character.cam; this.data = data; multiplechoiceAll = new List <RunMultiplechoiceButton>(); if (data.multiplechoice != null && data.multiplechoice.Length > 0) { isMultiplechoice = true; foreach (Settings.SignalDataMultipleContent d in data.multiplechoice) { RunMultiplechoiceButton button = Instantiate(mButton); button.transform.SetParent(view_multiplechoice.transform); button.Init(this, d, fieldColor); multiplechoiceAll.Add(button); } SetBarOff(); } settings = Data.Instance.settings.runSignalSettings; this.manager = manager; target = Game.Instance.Character.cam.transform; field.text = data.text; field.color = fieldColor; //if (data.sprite == null) // image.enabled = false; //else // image.sprite = data.sprite; if (!data.isDisparador) { fillImage.fillAmount = 0f; } }
void OutOfSight() { if (state == states.WAITING) { actualSignal = null; } if (state != states.NONE) { CheckGameOver(); RemoveAllActiveSignals(); } Events.ChangeCursor(CursorUI.types.SIMPLE, Color.white); state = states.NONE; if (actualSignal == null) { SetNextSignal(); nextDistance += viewDistance; } }