示例#1
0
        protected void OnPointTargetDialogue(ContractorTopic topic)
        {
            Vector3 pos = topic.targetWorldPos;

            if (topic.arrowIcon != null)
            {
                UIObjectPointIcon nArrow = ArrowDisplayer.Instances("NotePad").UseArrow <UIObjectPointIcon>(250f, 0, true, pos, topic.arrowIcon, "NotePad");
                BillboardElement  be     = Instantiate(itemBillboard, pos + (pos.normalized * 0.15f), Quaternion.identity) as BillboardElement;
                approachedItemsPos.Add(be);
                DontDestroyOnLoad(be);
                if (FtueManager.instance.active)
                {
                    nArrow.AddCallBack(FtueManager.instance.ValidStep);
                }
                else
                {
                    nArrow.AddCallBackPos(CleanBillboard, pos);
                }
            }
            else
            {
                UIObjectPointer  nArrow = ArrowDisplayer.Instances("NotePad").UseArrow <UIObjectPointer>(250f, 0, true, pos, "NotePad");
                BillboardElement be     = Instantiate(itemBillboard, pos + (pos.normalized * 0.15f), Quaternion.identity) as BillboardElement;
                approachedItemsPos.Add(be);
                DontDestroyOnLoad(be);
                if (FtueManager.instance.active)
                {
                    nArrow.AddCallBack(FtueManager.instance.ValidStep);
                }
                else
                {
                    nArrow.AddCallBackPos(CleanBillboard, pos);
                }
            }
        }
示例#2
0
 public void CloseNotePad()
 {
     foreach (NotepadTopic topic in topics)
     {
         topic.contractorTopic = null;
         topic.govTopic        = null;
         topic.clickEnable     = false;
     }
     _open            = false;
     govSelected      = null;
     contSelected     = null;
     selectedDialogue = null;
     selectedNpc      = null;
     activeDialogue   = null;
     ControllerInput.RemoveScreen(transform);
     StartCoroutine(DisplayCoroutine());
     Events.Instance.RemoveListener <OnActiveSelectTopic>(SelectTopic);
 }
示例#3
0
        protected void SelectTopic(OnActiveSelectTopic e)
        {
            Events.Instance.RemoveListener <OnActiveSelectTopic>(SelectTopic);
            PointingBubble.instance.LinkTopic(topics[e.notepadIndex]);
            if (e.topicItem.contractorTopic != null)
            {
                contSelected = e.topicItem.contractorTopic;
                if (activeDialogue != null)
                {
                    activeDialogue = activeDialogue.nextTexts[e.notepadIndex];
                }
                else
                {
                    activeDialogue = contSelected.text;
                }
            }
            else if (e.topicItem.govTopic != null)
            {
                govSelected = e.topicItem.govTopic;
                if (activeDialogue != null)
                {
                    activeDialogue = activeDialogue.nextTexts[e.notepadIndex];
                }
                else
                {
                    activeDialogue = govSelected.texts;
                }
            }

            if (activeDialogue.nextTexts.Count <= 0)
            {
                PointingBubble.instance.NextDialogueStep(true);
                ShowNextAnswer(true);
                CloseNotePad();
            }
            else
            {
                ShowNextAnswer(false);
                PointingBubble.instance.NextDialogueStep(false);
                SetNextDialogue();
            }
        }
示例#4
0
 public OnSetDialogueTarget(ContractorTopic pTopic)
 {
     topic = pTopic;
 }
示例#5
0
 public OnClickSelectTopicContractor(ContractorTopic pCont)
 {
     contractorTarget = pCont;
 }
 public void Clear()
 {
     npcAnswer       = string.Empty;
     contractorTopic = null;
     govTopic        = null;
 }