![]() |
TopDown Engine v4.3
|
Add this script to a trigger collider2D or collider to teleport objects from that object to its destination More...
Public Types | |
enum | CameraModes { DoNothing , TeleportCamera , CinemachinePriority } |
the possible modes the teleporter can interact with the camera system on activation, either doing nothing, teleporting the camera to a new position, or blending between Cinemachine virtual cameras More... | |
enum | TeleportationModes { Instant , Tween } |
the possible teleportation modes (either 1-frame instant teleportation, or tween between this teleporter and its destination) More... | |
enum | TimeModes { Unscaled , Scaled } |
the possible time modes More... | |
![]() | |
enum | ButtonActivatedRequirements { Character , ButtonActivator , Either , None } |
enum | InputTypes { Default , Button , Key } |
Public Member Functions | |
override void | TriggerButtonAction () |
If we're button activated and if the button is pressed, we teleport More... | |
override void | TriggerExitAction (GameObject collider) |
When something exits the teleporter, if it's on the ignore list, we remove it from it, so it'll be considered next time it enters. More... | |
virtual void | AddToIgnoreList (Transform objectToIgnore) |
Adds an object to the ignore list, which will prevent that object to be moved by the teleporter while it's in that list More... | |
![]() | |
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 () |
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 | |
bool | OnlyAffectsPlayer = true |
if true, this won't teleport non player characters More... | |
Vector3 | ExitOffset |
the offset to apply when exiting this teleporter More... | |
TeleportationModes | TeleportationMode = TeleportationModes.Instant |
the selected teleportation mode More... | |
MMTween.MMTweenCurve | TweenCurve = MMTween.MMTweenCurve.EaseInCubic |
the curve to apply to the teleportation tween More... | |
bool | MaintainXEntryPositionOnExit = false |
whether or not to maintain the x value of the teleported object on exit More... | |
bool | MaintainYEntryPositionOnExit = false |
whether or not to maintain the y value of the teleported object on exit More... | |
bool | MaintainZEntryPositionOnExit = false |
whether or not to maintain the z value of the teleported object on exit More... | |
Teleporter | Destination |
the teleporter's destination More... | |
bool | AddToDestinationIgnoreList = true |
CameraModes | CameraMode = CameraModes.TeleportCamera |
the chosen camera mode More... | |
Room | CurrentRoom |
the room this teleporter belongs to More... | |
Room | TargetRoom |
the target room More... | |
bool | TriggerFade = false |
if this is true, a fade to black will occur when teleporting More... | |
int | FaderID = 0 |
the ID of the fader to target More... | |
MMTweenType | FadeTween = new MMTweenType(MMTween.MMTweenCurve.EaseInCubic) |
the curve to use to fade to black More... | |
bool | FadeIgnoresTimescale = false |
if this is true, fade events will ignore timescale More... | |
bool | MoveMask = true |
whether or not we should ask to move a MMSpriteMask on activation More... | |
MMTween.MMTweenCurve | MoveMaskCurve = MMTween.MMTweenCurve.EaseInCubic |
the curve to move the mask along to More... | |
MMSpriteMaskEvent.MMSpriteMaskEventTypes | MoveMaskMethod = MMSpriteMaskEvent.MMSpriteMaskEventTypes.ExpandAndMoveToNewPosition |
the method to move the mask More... | |
float | MoveMaskDuration = 0.2f |
the duration of the mask movement (usually the same as the DelayBetweenFades More... | |
bool | FreezeTime = false |
whether or not time should be frozen during the transition More... | |
bool | FreezeCharacter = true |
whether or not the character should be frozen (input blocked) for the duration of the transition More... | |
TimeModes | TimeMode = TimeModes.Unscaled |
the timescale to use for the teleport sequence More... | |
float | InitialDelay = 0.1f |
the delay (in seconds) to apply before running the sequence More... | |
float | FadeOutDuration = 0.2f |
the duration (in seconds) after the initial delay covering for the fade out of the scene More... | |
float | DelayBetweenFades = 0.3f |
the duration (in seconds) to wait for after the fade out and before the fade in More... | |
float | FadeInDuration = 0.2f |
the duration (in seconds) after the initial delay covering for the fade in of the scene More... | |
float | FinalDelay = 0.1f |
the duration (in seconds) to apply after the fade in of the scene More... | |
![]() | |
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 | |
virtual void | Awake () |
On start we initialize our ignore list More... | |
virtual void | InitializeTeleporter () |
Grabs the current room in the parent if needed More... | |
override void | TriggerEnter (GameObject collider) |
Triggered when something enters the teleporter More... | |
virtual void | Teleport (GameObject collider) |
Teleports whatever enters the portal to a new destination More... | |
virtual IEnumerator | TeleportSequence (GameObject collider) |
Handles the teleport sequence (fade in, pause, fade out) More... | |
virtual void | SequenceStart (GameObject collider) |
Describes the events happening before the initial fade in More... | |
virtual void | AfterInitialDelay (GameObject collider) |
Describes the events happening after the initial delay has passed More... | |
virtual void | AfterFadeOut (GameObject collider) |
Describes the events happening once the initial fade in is complete More... | |
virtual void | TeleportCollider (GameObject collider) |
Teleports the object going through the teleporter, either instantly or by tween More... | |
virtual IEnumerator | TeleportTweenCo (GameObject collider, Vector3 origin, Vector3 destination) |
Tweens the object from origin to destination More... | |
virtual void | AfterDelayBetweenFades (GameObject collider) |
Describes the events happening after the pause between the fade in and the fade out More... | |
virtual void | AfterFadeIn (GameObject collider) |
Describes the events happening after the fade in of the scene More... | |
virtual void | SequenceEnd (GameObject collider) |
Describes the events happening after the fade out is complete, so at the end of the teleport sequence More... | |
virtual void | OnDrawGizmos () |
On draw gizmos, we draw arrows to the target destination and target room if there are any More... | |
![]() | |
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 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 | 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 | |
Character | _player |
Character | _characterTester |
CharacterGridMovement | _characterGridMovement |
List< Transform > | _ignoreList |
Vector3 | _entryPosition |
Vector3 | _newPosition |
![]() | |
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 |
Properties | |
virtual float | LocalTime [get] |
virtual float | LocalDeltaTime [get] |
![]() | |
virtual bool | AutoActivationInProgress [getset] |
virtual float | AutoActivationStartedAt [getset] |
bool | InputActionPerformed [get] |
Add this script to a trigger collider2D or collider to teleport objects from that object to its destination
|
virtual |
Adds an object to the ignore list, which will prevent that object to be moved by the teleporter while it's in that list
objectToIgnore | Object to ignore. |
|
protectedvirtual |
Describes the events happening after the pause between the fade in and the fade out
|
protectedvirtual |
Describes the events happening after the fade in of the scene
collider |
|
protectedvirtual |
Describes the events happening once the initial fade in is complete
|
protectedvirtual |
Describes the events happening after the initial delay has passed
collider |
|
protectedvirtual |
On start we initialize our ignore list
|
protectedvirtual |
Grabs the current room in the parent if needed
|
protectedvirtual |
On draw gizmos, we draw arrows to the target destination and target room if there are any
|
protectedvirtual |
Describes the events happening after the fade out is complete, so at the end of the teleport sequence
|
protectedvirtual |
Describes the events happening before the initial fade in
collider |
|
protectedvirtual |
Teleports whatever enters the portal to a new destination
|
protectedvirtual |
Teleports the object going through the teleporter, either instantly or by tween
collider |
|
protectedvirtual |
Handles the teleport sequence (fade in, pause, fade out)
collider |
|
protectedvirtual |
Tweens the object from origin to destination
collider | |
origin | |
destination |
|
virtual |
If we're button activated and if the button is pressed, we teleport
Reimplemented from MoreMountains.TopDownEngine.ButtonActivated.
|
protectedvirtual |
Triggered when something enters the teleporter
collider | Collider. |
Reimplemented from MoreMountains.TopDownEngine.ButtonActivated.
|
virtual |
When something exits the teleporter, if it's on the ignore list, we remove it from it, so it'll be considered next time it enters.
collider | Collider. |
Reimplemented from MoreMountains.TopDownEngine.ButtonActivated.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
bool MoreMountains.TopDownEngine.Teleporter.AddToDestinationIgnoreList = true |
if this is true, the teleported object will be put on the destination's ignore list, to prevent immediate re-entry. If your destination's offset is far enough from its center, you can set that to false
CameraModes MoreMountains.TopDownEngine.Teleporter.CameraMode = CameraModes.TeleportCamera |
the chosen camera mode
Room MoreMountains.TopDownEngine.Teleporter.CurrentRoom |
the room this teleporter belongs to
float MoreMountains.TopDownEngine.Teleporter.DelayBetweenFades = 0.3f |
the duration (in seconds) to wait for after the fade out and before the fade in
Teleporter MoreMountains.TopDownEngine.Teleporter.Destination |
the teleporter's destination
Vector3 MoreMountains.TopDownEngine.Teleporter.ExitOffset |
the offset to apply when exiting this teleporter
bool MoreMountains.TopDownEngine.Teleporter.FadeIgnoresTimescale = false |
if this is true, fade events will ignore timescale
float MoreMountains.TopDownEngine.Teleporter.FadeInDuration = 0.2f |
the duration (in seconds) after the initial delay covering for the fade in of the scene
float MoreMountains.TopDownEngine.Teleporter.FadeOutDuration = 0.2f |
the duration (in seconds) after the initial delay covering for the fade out of the scene
int MoreMountains.TopDownEngine.Teleporter.FaderID = 0 |
the ID of the fader to target
MMTweenType MoreMountains.TopDownEngine.Teleporter.FadeTween = new MMTweenType(MMTween.MMTweenCurve.EaseInCubic) |
the curve to use to fade to black
float MoreMountains.TopDownEngine.Teleporter.FinalDelay = 0.1f |
the duration (in seconds) to apply after the fade in of the scene
bool MoreMountains.TopDownEngine.Teleporter.FreezeCharacter = true |
whether or not the character should be frozen (input blocked) for the duration of the transition
bool MoreMountains.TopDownEngine.Teleporter.FreezeTime = false |
whether or not time should be frozen during the transition
float MoreMountains.TopDownEngine.Teleporter.InitialDelay = 0.1f |
the delay (in seconds) to apply before running the sequence
bool MoreMountains.TopDownEngine.Teleporter.MaintainXEntryPositionOnExit = false |
whether or not to maintain the x value of the teleported object on exit
bool MoreMountains.TopDownEngine.Teleporter.MaintainYEntryPositionOnExit = false |
whether or not to maintain the y value of the teleported object on exit
bool MoreMountains.TopDownEngine.Teleporter.MaintainZEntryPositionOnExit = false |
whether or not to maintain the z value of the teleported object on exit
bool MoreMountains.TopDownEngine.Teleporter.MoveMask = true |
whether or not we should ask to move a MMSpriteMask on activation
MMTween.MMTweenCurve MoreMountains.TopDownEngine.Teleporter.MoveMaskCurve = MMTween.MMTweenCurve.EaseInCubic |
the curve to move the mask along to
float MoreMountains.TopDownEngine.Teleporter.MoveMaskDuration = 0.2f |
the duration of the mask movement (usually the same as the DelayBetweenFades
MMSpriteMaskEvent.MMSpriteMaskEventTypes MoreMountains.TopDownEngine.Teleporter.MoveMaskMethod = MMSpriteMaskEvent.MMSpriteMaskEventTypes.ExpandAndMoveToNewPosition |
the method to move the mask
bool MoreMountains.TopDownEngine.Teleporter.OnlyAffectsPlayer = true |
if true, this won't teleport non player characters
Room MoreMountains.TopDownEngine.Teleporter.TargetRoom |
the target room
TeleportationModes MoreMountains.TopDownEngine.Teleporter.TeleportationMode = TeleportationModes.Instant |
the selected teleportation mode
TimeModes MoreMountains.TopDownEngine.Teleporter.TimeMode = TimeModes.Unscaled |
the timescale to use for the teleport sequence
bool MoreMountains.TopDownEngine.Teleporter.TriggerFade = false |
if this is true, a fade to black will occur when teleporting
MMTween.MMTweenCurve MoreMountains.TopDownEngine.Teleporter.TweenCurve = MMTween.MMTweenCurve.EaseInCubic |
the curve to apply to the teleportation tween
|
get |
|
get |