예제 #1
0
 void Start()
 {
     animator                  = GetComponentInChildren <Animator>();
     promptedTrigger           = GetComponentInChildren <PromptedTrigger>();
     promptedTrigger.Accepted += TriggerAccepted;
     plane = GetComponentsInChildren <Transform>().ToList().Find(t => t.gameObject.name == "Plane").gameObject;
 }
예제 #2
0
    void Start()
    {
        promptedTrigger = GetComponentInChildren <PromptedTrigger>();
        animator        = GetComponentInChildren <Animator>();
        collider        = GetComponentInChildren <BoxCollider>();

        promptedTrigger.Accepted += (object source, bool hit) => {
            var effect = Game.New(Prefabs.Get("SimpleEffect"));
            effect.transform.position = Game.Player.transform.position;

            animator.SetInteger("State", 1);
            Sound.Play("WoodFalling", true, 0.25f);
            Game.CutGrassCount += 1;
        };
    }
예제 #3
0
    void Start()
    {
        GiftButterKnife = GameObject.Find("GiftButterKnife");
        GrassContainer  = GameObject.Find("GrassContainer");

        GiftAxe        = GameObject.Find("GiftAxe");
        TreeTrigger    = GameObject.Find("TreeTrigger").GetComponent <PromptedTrigger>();
        HouseContainer = GameObject.Find("HouseContainer");

        Song.Play("Overworld");

        ExitTrigger.TriggerEnter += ExitTriggered;
        HouseTrigger.Accepted    += HouseAccepted;
        HouseTrigger.Entered     += HouseEntered;
        HouseTrigger.Exited      += HouseExited;

        if (Story.Flags.Contains("ButterKnifeGet") || Game.CurrentDay != 0)
        {
            GiftButterKnife.SetActive(false);
        }
        if (Story.Flags.Contains("Grass3") || Game.CurrentDay != 0)
        {
            GrassContainer.SetActive(false);
        }

        if (Game.Inventory.Contains("Axe"))
        {
            GiftAxe.SetActive(false);
        }

        if (Game.CurrentDay != 2)
        {
            GiftAxe.SetActive(false);
        }
        else
        {
            TreeTrigger.Accepted += async(object source, bool hit) =>
            {
                treeHitCount += 1;

                if (treeHitCount == 1)
                {
                    Story.Flags.Add("Tree1");
                    _ = Dialogue.Single(new TextBoxModel(
                                            text: "Nice hit! Keep going!",
                                            speaker: $"{Story.Narrator}"
                                            ));
                }

                if (treeHitCount == 4)
                {
                    Story.Flags.Add("Tree2");
                    _ = Dialogue.Single(new TextBoxModel(
                                            text: "Okay I know what you're thinking. \"This tree is going to fall onto my house.\" Well you're wrong. I'm an expert trust me.",
                                            speaker: $"{Story.Narrator}"
                                            ));
                }

                if (treeHitCount == 9)
                {
                    TreeTrigger.Deactivate();
                    HouseContainer.GetComponent <Animator>().SetInteger("State", 2);

                    Story.Flags.Add("Tree3");
                    Song.ChangePitch(0f, 0.5f);
                    HouseTrigger.gameObject.SetActive(false);
                    await Dialogue.Single(new TextBoxModel(
                                              text : "Oh!",
                                              speaker : $"{Story.Narrator}"
                                              ));

                    await new WaitForSeconds(2.5f);
                    Story.Flags.Add("Tree4");
                    await Dialogue.Single(new TextBoxModel(
                                              text : "...",
                                              speaker : $"{Story.Narrator}"
                                              ));

                    await new WaitForSeconds(2.5f);
                    Story.Flags.Add("Tree5");
                    Song.ChangePitch(1f, 0.125f);
                    var textBox = await Dialogue.Begin(new TextBoxModel(
                                                           text : "Oh well!",
                                                           speaker : $"{Story.Narrator}"
                                                           ));

                    Story.Flags.Add("Tree6");
                    await Dialogue.Next(textBox, new TextBoxModel(
                                            text : "It was kind of an eye sore anyways.",
                                            speaker : $"{Story.Narrator}"
                                            ));

                    Story.Flags.Add("Tree7");
                    await Dialogue.End(textBox, new TextBoxModel(
                                           text : "I think that's enough for now anyways. Thanks for being such a good listener :)",
                                           speaker : $"{Story.Narrator}"
                                           ));

                    await new WaitForSeconds(0.5f);

                    await Game.LoadAsync("End", Prefabs.Get <SceneTransition>("FadeSceneTransition"));
                }
                else if (treeHitCount < 9)
                {
                    HouseContainer.GetComponent <Animator>().SetInteger("State", 1);
                    await new WaitForUpdate();
                    HouseContainer.GetComponent <Animator>().SetInteger("State", -1);
                }
            };
        }
    }