TopDown Engine
v4.1
|
Add this class to an empty component. It requires a Collider or Collider2D, set to "is trigger". You can then customize the dialogue zone through the inspector. More...
Public Member Functions | |
override void | TriggerButtonAction () |
When the button is pressed we start the dialogue More... | |
virtual void | StartDialogue () |
When triggered, either by button press or simply entering the zone, starts the dialogue More... | |
Public Member Functions inherited from MoreMountains.TopDownEngine.ButtonActivated | |
virtual void | Initialization () |
Grabs components and shows prompt if needed More... | |
virtual void | TriggerExitAction (GameObject collider) |
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 () |
Disables 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 | |
DialogueBox | DialogueBoxPrefab |
the prefab to use to display the dialogue More... | |
Color | TextBackgroundColor = Color.black |
the color of the text background. More... | |
Color | TextColor = Color.white |
the color of the text More... | |
Font | TextFont |
the font that should be used to display the text More... | |
int | TextSize = 40 |
the size of the font More... | |
TextAnchor | Alignment = TextAnchor.MiddleCenter |
the text alignment in the box used to display the text More... | |
float | FadeDuration = 0.2f |
the duration of the in and out fades More... | |
float | TransitionTime = 0.2f |
the time between two dialogues More... | |
Vector3 | Offset = Vector3.zero |
the distance from the top of the box collider the dialogue box should appear at More... | |
bool | BoxesFollowZone = false |
if this is true, the dialogue boxes will follow the zone's position More... | |
bool | CanMoveWhileTalking = true |
if this is set to true, the character will be able to move while dialogue is in progress More... | |
bool | ButtonHandled = true |
whether or not this zone is handled by a button or not More... | |
float | MessageDuration = 3f |
duration of the message. only considered if the box is not button handled More... | |
bool | ActivableMoreThanOnce = true |
true if can be activated more than once More... | |
float | InactiveTime = 2f |
if the zone is activable more than once, how long should it remain inactive between up times? More... | |
DialogueElement[] | Dialogue |
the dialogue lines More... | |
Public Attributes inherited from MoreMountains.TopDownEngine.ButtonActivated | |
ButtonActivatedRequirements | ButtonActivatedRequirement = ButtonActivatedRequirements.Either |
if this is true, objects with a ButtonActivator class will be able to interact with 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 | 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... | |
float | AutoActivationDelay = 0f |
the delay, in seconds, during which the character has to be within the zone to activate it More... | |
bool | AutoActivationDelayResetsOnExit = true |
if this is true, exiting the zone will reset the auto activation delay 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... | |
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... | |
int | NumberOfActivationsLeft |
the amount of remaining activations on this zone 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, button or key) More... | |
string | InputButton = "Interact" |
the selected button string used to activate this zone More... | |
KeyCode | InputKey = KeyCode.Space |
the key used to activate this zone 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... | |
Vector3 | PromptRotation = Vector3.zero |
the rotation of the actual buttonA prompt 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 |
a UnityEvent to trigger when this zone gets activated More... | |
UnityEvent | OnExit |
a UnityEvent to trigger when this zone gets exited More... | |
UnityEvent | OnStay |
a UnityEvent to trigger when a character is within the zone More... | |
Protected Member Functions | |
override void | OnEnable () |
Initializes the dialogue zone More... | |
virtual void | EnableCollider (bool status) |
Turns collider on or off More... | |
virtual IEnumerator | PlayNextDialogue () |
Plays the next dialogue in the queue More... | |
virtual IEnumerator | AutoNextDialogue () |
Automatically goes to the next dialogue line More... | |
virtual IEnumerator | Reactivate () |
Reactivate the dialogue zone More... | |
Protected Member Functions inherited from MoreMountains.TopDownEngine.ButtonActivated | |
virtual void | OnDisable () |
On disable we disable our input action if needed More... | |
virtual IEnumerator | TriggerButtonActionCo () |
virtual void | Update () |
virtual void | ActivateZone () |
Activates the zone More... | |
virtual void | OnTriggerEnter2D (Collider2D collidingObject) |
Handles enter collision with 2D triggers More... | |
virtual void | OnTriggerExit2D (Collider2D collidingObject) |
Handles enter collision with 2D triggers More... | |
virtual void | OnTriggerEnter (Collider collidingObject) |
Handles enter collision with 2D triggers More... | |
virtual void | OnTriggerExit (Collider 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 | |
DialogueBox | _dialogueBox |
private variables More... | |
bool | _activated = false |
bool | _playing = false |
int | _currentIndex |
bool | _activable = true |
WaitForSeconds | _transitionTimeWFS |
WaitForSeconds | _messageDurationWFS |
WaitForSeconds | _inactiveTimeWFS |
Protected Attributes inherited from MoreMountains.TopDownEngine.ButtonActivated | |
Animator | _buttonPromptAnimator |
ButtonPrompt | _buttonPrompt |
Collider | _collider |
Collider2D | _collider2D |
bool | _promptHiddenForever = false |
CharacterButtonActivation | _characterButtonActivation |
float | _lastActivationTimestamp |
List< GameObject > | _collidingObjects |
Character | _currentCharacter |
bool | _staying = false |
Coroutine | _autoActivationCoroutine |
Additional Inherited Members | |
Public Types inherited from MoreMountains.TopDownEngine.ButtonActivated | |
enum | ButtonActivatedRequirements { ButtonActivatedRequirements.Character, ButtonActivatedRequirements.ButtonActivator, ButtonActivatedRequirements.Either, ButtonActivatedRequirements.None } |
enum | InputTypes { InputTypes.Default, InputTypes.Button, InputTypes.Key } |
Properties inherited from MoreMountains.TopDownEngine.ButtonActivated | |
virtual bool | AutoActivationInProgress [get, set] |
virtual float | AutoActivationStartedAt [get, set] |
bool | InputActionPerformed [get] |
Add this class to an empty component. It requires a Collider or Collider2D, set to "is trigger". You can then customize the dialogue zone through the inspector.
|
protectedvirtual |
Automatically goes to the next dialogue line
|
protectedvirtual |
Turns collider on or off
status |
|
protectedvirtual |
Initializes the dialogue zone
Reimplemented from MoreMountains.TopDownEngine.ButtonActivated.
|
protectedvirtual |
Plays the next dialogue in the queue
|
protectedvirtual |
Reactivate the dialogue zone
|
virtual |
When triggered, either by button press or simply entering the zone, starts the dialogue
|
virtual |
When the button is pressed we start the dialogue
Reimplemented from MoreMountains.TopDownEngine.ButtonActivated.
|
protected |
|
protected |
|
protected |
|
protected |
private variables
|
protected |
|
protected |
|
protected |
|
protected |
bool MoreMountains.TopDownEngine.DialogueZone.ActivableMoreThanOnce = true |
true if can be activated more than once
TextAnchor MoreMountains.TopDownEngine.DialogueZone.Alignment = TextAnchor.MiddleCenter |
the text alignment in the box used to display the text
bool MoreMountains.TopDownEngine.DialogueZone.BoxesFollowZone = false |
if this is true, the dialogue boxes will follow the zone's position
bool MoreMountains.TopDownEngine.DialogueZone.ButtonHandled = true |
whether or not this zone is handled by a button or not
bool MoreMountains.TopDownEngine.DialogueZone.CanMoveWhileTalking = true |
if this is set to true, the character will be able to move while dialogue is in progress
DialogueElement [] MoreMountains.TopDownEngine.DialogueZone.Dialogue |
the dialogue lines
DialogueBox MoreMountains.TopDownEngine.DialogueZone.DialogueBoxPrefab |
the prefab to use to display the dialogue
float MoreMountains.TopDownEngine.DialogueZone.FadeDuration = 0.2f |
the duration of the in and out fades
float MoreMountains.TopDownEngine.DialogueZone.InactiveTime = 2f |
if the zone is activable more than once, how long should it remain inactive between up times?
float MoreMountains.TopDownEngine.DialogueZone.MessageDuration = 3f |
duration of the message. only considered if the box is not button handled
Vector3 MoreMountains.TopDownEngine.DialogueZone.Offset = Vector3.zero |
the distance from the top of the box collider the dialogue box should appear at
Color MoreMountains.TopDownEngine.DialogueZone.TextBackgroundColor = Color.black |
the color of the text background.
Color MoreMountains.TopDownEngine.DialogueZone.TextColor = Color.white |
the color of the text
Font MoreMountains.TopDownEngine.DialogueZone.TextFont |
the font that should be used to display the text
int MoreMountains.TopDownEngine.DialogueZone.TextSize = 40 |
the size of the font
float MoreMountains.TopDownEngine.DialogueZone.TransitionTime = 0.2f |
the time between two dialogues