Corgi Engine
v9.0
|
Add this class to a trigger and it will allow you to modify the time scale when entering it, for the specified duration and settings More...
Public Types | |
enum | Modes { Modes.DurationBased, Modes.ExitBased } |
the possible modes for this zone More... | |
Public Types inherited from MoreMountains.CorgiEngine.ButtonActivated | |
enum | ButtonActivatedRequirements { ButtonActivatedRequirements.Character, ButtonActivatedRequirements.ButtonActivator, ButtonActivatedRequirements.Either, ButtonActivatedRequirements.None } |
the different possible requirements for this activated zone, which can be either a character, a button activator, one or the other, or none More... | |
enum | InputTypes { InputTypes.Default, InputTypes.Button, InputTypes.Key } |
how input gets detected for this zone (default : default binding from the InputManager for Interact, button (type in an axis button name), or key) More... | |
Public Member Functions | |
override void | TriggerButtonAction (GameObject instigator) |
When the button is pressed we start modifying the timescale More... | |
override void | TriggerExitAction (GameObject collider) |
On exit, we reset our staying bool and invoke our OnExit event More... | |
virtual void | ControlTime () |
Modifies the timescale More... | |
Public Member Functions inherited from MoreMountains.CorgiEngine.ButtonActivated | |
virtual void | Initialization () |
Grabs components and shows prompt if needed More... | |
virtual void | MakeActivable () |
Makes the zone activable More... | |
virtual void | MakeUnactivable () |
Makes the zone unactivable More... | |
virtual void | ToggleActivable () |
Makes the zone activable if it wasn't, unactivable if it was activable. More... | |
virtual void | PromptError () |
Triggers an error More... | |
virtual void | ShowPrompt () |
Shows the button A prompt. More... | |
virtual void | HidePrompt () |
Hides the button A prompt. More... | |
virtual void | DisableZone () |
Enables the button activated zone More... | |
virtual void | EnableZone () |
Enables the button activated zone More... | |
virtual bool | CheckNumberOfUses () |
Checks the remaining number of uses and eventual delay between uses and returns true if the zone can be activated. More... | |
Public Attributes | |
Modes | Mode = Modes.DurationBased |
whether this zone will modify time on entry for a certain duration, or until it is exited More... | |
float | TimeScale = 0.5f |
the new timescale to apply More... | |
float | Duration = 1f |
the duration to apply the new timescale for More... | |
bool | LerpTimeScale = true |
whether or not the timescale should be lerped More... | |
float | LerpSpeed = 5f |
the speed at which to lerp the timescale More... | |
Public Attributes inherited from MoreMountains.CorgiEngine.ButtonActivated | |
ButtonActivatedRequirements | ButtonActivatedRequirement = ButtonActivatedRequirements.Either |
the requirement(s) for this zone More... | |
bool | RequiresPlayerType = true |
if this is true, this can only be activated by player Characters More... | |
bool | RequiresButtonActivationAbility = true |
if this is true, this zone can only be activated if the character has the required ability More... | |
bool | PreventJumpsWhileInThisZone = false |
if this is true, characters won't be able to jump when in that zone, regardless of the settings on their CharacterButtonActivation ability More... | |
bool | Activable = true |
if this is false, the zone won't be activable More... | |
bool | AutoActivation = false |
if true, the zone will activate whether the button is pressed or not More... | |
bool | AutoActivationAndButtonInteraction = false |
if true, this zone will be auto activated but will still allow button interaction More... | |
bool | CanOnlyActivateIfGrounded = false |
if this is set to false, the zone won't be activable while not grounded More... | |
bool | ShouldUpdateState = true |
Set this to true if you want the CharacterBehaviorState to be notified of the player's entry into the zone. More... | |
bool | OnlyOneActivationAtOnce = true |
if this is true, enter won't be retriggered if another object enters, and exit will only be triggered when the last object exits More... | |
bool | AlsoPerformChecksOnStay = false |
if this is true, extra enter checks will be performed on TriggerStay, to handle edge cases like a zone that'd prevent activation when not grounded, and a character enters it airborne, but then lands More... | |
LayerMask | TargetLayerMask = ~0 |
a layermask with all the layers that can interact with this specific button activated zone More... | |
bool | UnlimitedActivations = true |
if this is set to false, your number of activations will be MaxNumberOfActivations More... | |
int | MaxNumberOfActivations = 0 |
the number of times the zone can be interacted with More... | |
float | DelayBetweenUses = 0f |
the delay (in seconds) after an activation during which the zone can't be activated More... | |
bool | DisableAfterUse = false |
if this is true, the zone will disable itself (forever or until you manually reactivate it) after its last use More... | |
InputTypes | InputType = InputTypes.Default |
the selected input type (default : default binding from the InputManager for Interact, button (type in an axis button name), or key) More... | |
string | InputButton = "Interact" |
the button axis name to use for this button activated object More... | |
KeyCode | InputKey = KeyCode.Space |
the key to use for this More... | |
string | AnimationTriggerParameterName |
an (absolutely optional) animation parameter that can be triggered on the character when activating the zone More... | |
bool | UseVisualPrompt = true |
if this is true, a prompt will be shown if setup properly More... | |
ButtonPrompt | ButtonPromptPrefab |
the gameobject to instantiate to present the prompt More... | |
string | ButtonPromptText = "A" |
the text to display in the button prompt More... | |
Color | ButtonPromptColor = MMColors.LawnGreen |
the text to display in the button prompt More... | |
Color | ButtonPromptTextColor = MMColors.White |
the color for the prompt's text More... | |
bool | AlwaysShowPrompt = true |
If true, the "buttonA" prompt will always be shown, whether the player is in the zone or not. More... | |
bool | ShowPromptWhenColliding = true |
If true, the "buttonA" prompt will be shown when a player is colliding with the zone. More... | |
bool | HidePromptAfterUse = false |
If true, the prompt will hide after use. More... | |
Vector3 | PromptRelativePosition = Vector3.zero |
the position of the actual buttonA prompt relative to the object's center More... | |
MMFeedbacks | ActivationFeedback |
a feedback to play when the zone gets activated More... | |
MMFeedbacks | DeniedFeedback |
a feedback to play when the zone tries to get activated but can't More... | |
MMFeedbacks | EnterFeedback |
a feedback to play when the zone gets entered More... | |
MMFeedbacks | ExitFeedback |
a feedback to play when the zone gets exited More... | |
UnityEvent | OnActivation |
an action to trigger when this gets activated More... | |
UnityEvent | OnExit |
an action to trigger when exiting this zone More... | |
UnityEvent | OnStay |
an action to trigger when staying in the zone More... | |
Additional Inherited Members | |
Protected Member Functions inherited from MoreMountains.CorgiEngine.ButtonActivated | |
virtual void | OnEnable () |
On Enable, we initialize our ButtonActivated zone More... | |
virtual void | OnDisable () |
On disable we disable our input action if needed More... | |
virtual void | ActivateZone () |
Activates the zone More... | |
virtual void | DisableAfterActivation () |
Handles the disabling of the zone after activation More... | |
virtual void | OnTriggerEnter2D (Collider2D collidingObject) |
Handles enter collision with 2D triggers More... | |
virtual void | OnTriggerStay2D (Collider2D collidingObject) |
On stay we invoke our stay event if needed, and perform a trigger enter check if it hasn't been done already More... | |
virtual void | OnTriggerExit2D (Collider2D collidingObject) |
Handles enter collision with 2D triggers More... | |
virtual void | TriggerEnter (GameObject collider) |
Triggered when something collides with the button activated zone More... | |
virtual void | TriggerExit (GameObject collider) |
Triggered when something exits the water More... | |
virtual bool | TestForLastObject (GameObject collider) |
Tests if the object exiting our zone is the last remaining one More... | |
virtual bool | CheckConditions (GameObject collider) |
Determines whether or not this zone should be activated More... | |
Protected Attributes inherited from MoreMountains.CorgiEngine.ButtonActivated | |
Animator | _buttonPromptAnimator |
ButtonPrompt | _buttonPrompt |
bool | _promptHiddenForever = false |
int | _numberOfActivationsLeft |
float | _lastActivationTimestamp |
Collider2D | _buttonActivatedZoneCollider |
CharacterButtonActivation | _characterButtonActivation |
Character | _currentCharacter |
List< GameObject > | _collidingObjects |
List< GameObject > | _stayingGameObjects |
List< Collider2D > | _enteredColliders |
int | _inputActionPressedAtFrame |
Properties inherited from MoreMountains.CorgiEngine.ButtonActivated | |
bool | InputActionPerformed [get] |
Add this class to a trigger and it will allow you to modify the time scale when entering it, for the specified duration and settings
|
strong |
|
virtual |
Modifies the timescale
|
virtual |
When the button is pressed we start modifying the timescale
Reimplemented from MoreMountains.CorgiEngine.ButtonActivated.
|
virtual |
On exit, we reset our staying bool and invoke our OnExit event
collider |
Reimplemented from MoreMountains.CorgiEngine.ButtonActivated.
float MoreMountains.CorgiEngine.TimeZone.Duration = 1f |
the duration to apply the new timescale for
float MoreMountains.CorgiEngine.TimeZone.LerpSpeed = 5f |
the speed at which to lerp the timescale
bool MoreMountains.CorgiEngine.TimeZone.LerpTimeScale = true |
whether or not the timescale should be lerped
Modes MoreMountains.CorgiEngine.TimeZone.Mode = Modes.DurationBased |
whether this zone will modify time on entry for a certain duration, or until it is exited
float MoreMountains.CorgiEngine.TimeZone.TimeScale = 0.5f |
the new timescale to apply