Пример #1
0
    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));
    }
Пример #2
0
 void SetNewSignals()
 {
     disparatorSignalsData = Data.Instance.settings.GetSignalsByDisparador(disparadorID);
     if (disparatorSignalsData.Count > 0)
     {
         actualSignal = disparatorSignalsData[0];
     }
     signalID = 0;
     AddSignal();
 }
Пример #3
0
    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;
    }
Пример #4
0
 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);
 }
Пример #5
0
 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);
     }
 }
Пример #6
0
    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;
        }
    }
Пример #7
0
    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;
        }
    }