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(); }
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); }
public Filter( int id, GameObject go, StoryBeatComponent sbc ) { this.id = id; gameObject = go; storyBeatComponent = sbc; }
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]; }
public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat) { if (!subbed) { player.healthComponent.OnPlayerDecreaseGranularHealth += SetHasTakenDamageTrue; } else { player.healthComponent.OnPlayerDecreaseGranularHealth -= SetHasTakenDamageTrue; Debug.Log("unsubbed"); } return(hasTakenDamage); }
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); }
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); }
public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat) { return(player.inputComponent.rightShoulderDown); }
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; * }*/ }
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); }
public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat) { return(true); }
public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat) { return(player.inputComponent.bButtonDown); }
public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat) { return(player.playerStoryComponent.introSequenceDone); }
public abstract bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat);
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)); }
public override bool ConditionMet(PlayerFilter player, StoryBeatComponent currentBeat) { return(player.gameManagerComponent.isInsideCart); }