Ejemplo n.º 1
0
    public override void Initialize(Transform[] objects)
    {
        // list because I don't know size here
        List <Filter> tmpFilters = new List <Filter>();
        int           index      = 0;

        for (int i = 0; i < objects.Length; i++)
        {
            // check performance
            StoryBeatComponent sbc = objects[i].GetComponent <StoryBeatComponent>();

            if (sbc)
            {
                storyBeats.Add(sbc);

                tmpFilters.Add(new Filter(index, objects[i].gameObject, sbc));
            }
        }

        player.playerStoryComponent.currentStoryBeat = storyBeats[0];

        /*if (storyBeats.Count != 0)
         * {
         *  ProceedToNextBeat(storyBeats[0]);
         * }*/
        filters = tmpFilters.ToArray();
    }
Ejemplo n.º 2
0
    public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat)
    {
        if (torchCheck)
        {
            float dst = Vector3.Distance(player.go.transform.position, player.conditionsComponent.firstInteractable.position);
            return(dst < compareDistance);
        }

        return(false);
    }
Ejemplo n.º 3
0
        public Filter(
            int id,
            GameObject go,
            StoryBeatComponent sbc
            )
        {
            this.id = id;

            gameObject         = go;
            storyBeatComponent = sbc;
        }
Ejemplo n.º 4
0
    private void ProceedToNextBeat(StoryBeatComponent newBeat)
    {
        newBeat.currentStoryBeat++;
        if (newBeat.currentStoryBeat >= newBeat.beatCollections.Length)
        {
            storyBeats.Remove(newBeat);
        }

        //player.playerStoryComponent.currentStoryBeat = newBeat;
        player.playerStoryComponent.currentBeat++;
        //player.playerStoryComponent.currentStoryCollection = newBeat.beatCollections[newBeat.currentStoryBeat];
    }
Ejemplo n.º 5
0
    public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat)
    {
        if (!subbed)
        {
            player.healthComponent.OnPlayerDecreaseGranularHealth += SetHasTakenDamageTrue;
        }
        else
        {
            player.healthComponent.OnPlayerDecreaseGranularHealth -= SetHasTakenDamageTrue;
            Debug.Log("unsubbed");
        }

        return(hasTakenDamage);
    }
Ejemplo n.º 6
0
    public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat)
    {
        float dst = Vector3.Distance(player.go.transform.position, currentBeat.transform.position);

        if (dst < (useBeatDistanceThreshold ? currentBeat.firstTriggerThreshold : triggerDistance))
        {
            if (player.inputComponent.aButtonDown)
            {
                return(true);
            }
        }

        return(false);
    }
Ejemplo n.º 7
0
    public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat)
    {
        if (!hasReset)
        {
            Reset();
            hasReset = true;
        }

        if (player.inputComponent.leftStickInput.magnitude != 0)
        {
            playerMoved = true;
        }

        if (playerMoved)
        {
            currentTime += Time.deltaTime;
        }

        bool returnVal = playerMoved && currentTime >= waitTime;

        hasReset = !returnVal;
        return(returnVal);
    }
Ejemplo n.º 8
0
 public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat)
 {
     return(player.inputComponent.rightShoulderDown);
 }
Ejemplo n.º 9
0
    public override void Tick(float deltaTime)
    {
        /*for (int i = 0; i < filters.Length; i++)
         * {
         *  // cache variables
         *  Filter filter = filters[i];
         *
         *  StoryBeatComponent sbcComp = filter.storyBeatComponent;
         *
         *  // ----- logic -----
         *
         * }*/
        //if (player.playerStoryComponent.currentStoryBeat == null) { return; }

        StoryBeatComponent sbc = player.playerStoryComponent.currentStoryBeat;

        if (player.playerStoryComponent.currentBeat >= sbc.beatCollections.Length)
        {
            return;
        }
        StoryBeatComponent.StoryBeatCollection sc = sbc.GetCurrentBeatCollection();
        int index = player.playerStoryComponent.currentBeat;

        if (sc.progression == OwlStoryBeatProgression.None)
        {
            if (!sbc.CurrentDelaySet())
            {
                sbc.SetCurrentDelay();
            }
            if (sbc.WaitDelay())
            {
                return;
            }
        }
        switch (sc.progression)
        {
        case OwlStoryBeatProgression.None:
            if (sc.enterBeatCondition == null)
            {
                return;
            }
            if (sc.enterBeatCondition.ConditionMet(player, storyBeats[0]))
            {
                sc.storyEvent.TriggerStoryEvent(player, sc.storyBeatObject);
                player.playerStoryComponent.currentStoryCollection = sc;
                sc.progression++;
                if (sc.pausePlay)
                {
                    player.gameManagerComponent.OnStopGameTick();
                }
            }
            break;

        case OwlStoryBeatProgression.InProgress:
            if (sc.exitBeatCondition == null)
            {
                return;
            }
            if (sc.exitBeatCondition.ConditionMet(player, storyBeats[0]))
            {
                sc.isStoryBeatDone = true;
                sc.storyEvent.TriggerStoryEnd(player, sc.storyBeatObject);
                sc.progression++;
                if (sc.pausePlay)
                {
                    player.gameManagerComponent.OnStartGameTick();
                }
            }
            break;

        case OwlStoryBeatProgression.End:
            if (sc.isStoryBeatDone)
            {
                TryProceedToNextBeat(index);
            }
            break;

        default:
            break;
        }

        /*switch (player.playerStoryComponent.currentStoryBeat.currentBeatProgression)
         * {
         *  case OwlStoryBeatProgression.None:
         *      BeatBeginningCheck();
         *      break;
         *  case OwlStoryBeatProgression.Begun:
         *      BeatProgressCheck();
         *      break;
         *  case OwlStoryBeatProgression.InProgress:
         *      BeatEndCheck();
         *      break;
         *  case OwlStoryBeatProgression.End:
         *      TryProceedToNextBeat(player.playerStoryComponent.currentBeat);
         *      break;
         *  default:
         *      break;
         * }*/
    }
Ejemplo n.º 10
0
    public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat)
    {
        float dst = Vector3.Distance(player.go.transform.position, player.gameManagerComponent.cartInteraction.cart.transform.position);

        return(dst < distance);
    }
Ejemplo n.º 11
0
 public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat)
 {
     return(true);
 }
Ejemplo n.º 12
0
 public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat)
 {
     return(player.inputComponent.bButtonDown);
 }
Ejemplo n.º 13
0
 public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat)
 {
     return(player.playerStoryComponent.introSequenceDone);
 }
Ejemplo n.º 14
0
 public abstract bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat);
Ejemplo n.º 15
0
    public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat)
    {
        float dst = Vector3.Distance(player.go.transform.position, currentBeat.transform.position);

        return(dst < (useBeatDistanceThreshold ? currentBeat.firstTriggerThreshold : triggerDistance));
    }
Ejemplo n.º 16
0
 public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat)
 {
     return(player.gameManagerComponent.isInsideCart);
 }