public void addStoryTag(StoryTag sTag, StoryLink sLink)
    {
        storytags.Add(sTag);
        storylinks.Add(sLink);

        foreach (var onNewSTag in newStoryTagListeners)
        {
            onNewSTag(sTag, sLink);
        }
    }
Exemplo n.º 2
0
 IEnumerator her_alarm(StoryLink continueLink)
 {
     SoundAlarm();
     for (float t = 0; t <= alarmWakeUpDelay; t += Time.deltaTime)
     {
         her_sfxBreathing.volume = 1f - (t / alarmWakeUpDelay);
         yield return(null);
     }
     her_sfxBreathing.Stop();
     story.DoLink(continueLink);
 }
        public void InsertOption(StoryLink link)
        {
            options[currentOptionIndex].InsertLink(link);
            currentOptionIndex++;

            if (currentOptionIndex >= options.Length)
            {
                Debug.LogError("ERROR in DialogOptionGroup: number of links surpassed array size!");
                currentOptionIndex = 0;
            }
        }
 public void onNewStoryTagAdded(StoryTag sTag, StoryLink sLink)
 {
     foreach (var sTagE in storyTagElements)
     {
         if (sTagE.StoryTagObject == sTag)
         {
             return;
         }
     }
     addStoryTag(sTag);
     addStoryLink(sLink);
 }
Exemplo n.º 5
0
    public void DoLink(StoryLink link)
    {
        LinkButton[]      links    = dialogueContainer.GetComponentsInChildren <LinkButton>();
        List <GameObject> toRemove = new List <GameObject>();

        for (int i = 0; i < links.Length; i++)
        {
            if (links[i].live)
            {
                toRemove.Add(links[i].gameObject);
                //queue.Enqueue(removeAction);
            }
        }
        queue.Enqueue(new QueuedRemoveElements(toRemove));
        this.story.DoLink(link);
    }
Exemplo n.º 6
0
    IEnumerator ClickForAlarm(StoryLink continueLink, System.Action action = null)
    {
        // Wait for a click, play alarm and then advance
        do
        {
            yield return(null);
        }while (!Clicked);

        if (action != null)
        {
            action.Invoke();
        }

        SoundAlarm();
        yield return(new WaitForSeconds(alarmWakeUpDelay));

        story.DoLink(continueLink);
    }
Exemplo n.º 7
0
        public ActionResult SubmitArticle(NewArticleModel article)
        {
            if (ModelState.IsValid)
            {
                StoryLink articleEntity = new StoryLink()
                {
                    Title     = article.title,
                    Url       = article.Site,
                    DateAdded = DateTime.UtcNow
                };

                Storage.AddArticle(articleEntity);

                return(RedirectToAction("Index"));
            }

            return(View(article));
        }
        private void DisplayNextLink()
        {
            StoryLink nextLink = passageLinks.Dequeue();

            if (!ignoreNextLinkAction)
            {
                if (PassageHasOneLink())
                {
                    DialogManager.instance.CurrentStory.DoLink(nextLink);
                }
                else
                {
                    DisplayLinkOption(nextLink);
                }
            }

            ignoreNextLinkAction = false;
            NextAction();
        }
Exemplo n.º 9
0
    void Start()
    {
        nextButton.interactable = false;

        storyView.attachTraitClickListener(SelectLinkToTrait);
        storyView.attachStoryTagClickListener(SelectLinkToStoryTag);

        linkEnd = FindObjectOfType <LinkEndScript>();

        newLink             = new StoryLink();
        newLink.endStoryTag = gameManager.selectedStoryTag;

        foreach (var sTag in FindObjectsOfType <StoryTagScript>())
        {
            if (sTag.GetComponentInChildren <LinkAnchorScript>() == null)
            {
                var newAnchor = Instantiate(linkAnchorPrefab);
                newAnchor.GetComponent <RectTransform>().SetParent(sTag.transform, false);
                //newAnchor.transform.parent = sTag.transform;

                //newAnchor.transform.localPosition -= new Vector3(0, 10, 0);
            }
        }
    }
 private void AddLinkListener(StoryLink link)
 {
     button.onClick.AddListener(() => DialogManager.instance.CurrentStory.DoLink((StoryLink)link));
 }
 public void InsertLink(StoryLink link)
 {
     InsertText(link.Text);
     AddLinkListener(link);
     Show();
 }
    public void addStoryLink(StoryLink sLink)
    {
        storyLinks.Add(sLink);

        var endStoryTag = sLink.endStoryTag;

        Transform startPos = null;
        Transform endPos   = null;

        foreach (StoryTagScript sTag in storyTagElements)
        {
            //print("Found end stag: " + sTag.StoryTagObject.description
            //   + ", match: " + endStoryTag.description);
            if (sTag.StoryTagObject.description == endStoryTag.description)
            {
                endPos = sTag.transform;
                break;
            }
        }

        if (sLink.storyTagLink != null)
        {
            var linkedStoryTag = sLink.storyTagLink;
            foreach (StoryTagScript sTag in storyTagElements)
            {
                //print("Found stag: " + sTag.StoryTagObject.description
                //    + ", match: " + linkedStoryTag.description);
                if (sTag.StoryTagObject.description == linkedStoryTag.description)
                {
                    startPos = sTag.transform;
                    break;
                }
            }

            if (startPos == null)
            {
                print("unable to find storytag in story");
            }
        }
        else
        {
            var linkedtrait = sLink.traitLink;
            foreach (TraitScript traitS in traitElements)
            {
                //print("Found trait: " + traitS.TraitObject.description + ", match: " + linkedtrait.description);
                if (traitS.TraitObject.description == linkedtrait.description)
                {
                    startPos = traitS.GetComponent <Text>().transform;
                    break;
                }
            }

            if (startPos == null)
            {
                print("unable to find trait in story");
            }
        }


        makeLink(startPos, endPos);
    }
 public void EnqueueLink(StoryLink link)
 {
     passageLinks.Enqueue(link);
 }
 private void DisplayLinkOption(StoryLink outputLink)
 {
     dialogOptionGroup.PositionToCharacter(player);
     dialogOptionGroup.InsertOption(outputLink);
 }
Exemplo n.º 15
0
 public void InsertLink(StoryLink link)
 {
     ClearLinks();
     button.onClick.AddListener(() => DialogManager.instance.CurrentStory.DoLink((StoryLink)link));
 }