Files
GdevelopMMOTestv2/GdevelopMMOTestv2.json.autosave

1 line
41 KiB
Plaintext

{"firstLayout":"","gdVersion":{"build":274,"major":5,"minor":6,"revision":0},"initialGDVersion":"5.6.274","properties":{"adaptGameResolutionAtRuntime":true,"antialiasingMode":"MSAA","antialisingEnabledOnMobile":false,"folderProject":false,"orientation":"landscape","packageName":"com.example.gamename","pixelsRounding":true,"projectUuid":"84c990c5-3f6f-4eda-be3c-0860bfe9e159","scaleMode":"nearest","sizeOnStartupMode":"adaptWidth","templateSlug":"","version":"1.0.0","name":"GdevelopMMOTestv2","description":"","author":"","windowWidth":480,"windowHeight":320,"latestCompilationDirectory":"","maxFPS":60,"minFPS":20,"verticalSync":false,"platformSpecificAssets":{"android-icon-144":"","android-icon-192":"","android-icon-36":"","android-icon-48":"","android-icon-72":"","android-icon-96":"","android-windowSplashScreenAnimatedIcon":"","desktop-icon-512":"","ios-icon-100":"","ios-icon-1024":"","ios-icon-114":"","ios-icon-120":"","ios-icon-144":"","ios-icon-152":"","ios-icon-167":"","ios-icon-180":"","ios-icon-20":"","ios-icon-29":"","ios-icon-40":"","ios-icon-50":"","ios-icon-57":"","ios-icon-58":"","ios-icon-60":"","ios-icon-72":"","ios-icon-76":"","ios-icon-80":"","ios-icon-87":""},"loadingScreen":{"backgroundColor":0,"backgroundFadeInDuration":0.2,"backgroundImageResourceName":"","gdevelopLogoStyle":"light","logoAndProgressFadeInDuration":0.2,"logoAndProgressLogoFadeInDelay":0.0,"minDuration":1.5,"progressBarColor":16777215,"progressBarHeight":20.0,"progressBarMaxWidth":200.0,"progressBarMinWidth":40.0,"progressBarWidthPercent":30.0,"showGDevelopSplash":true,"showProgressBar":true},"watermark":{"placement":"bottom-left","showWatermark":true},"authorIds":[],"authorUsernames":[],"categories":[],"playableDevices":[],"extensionProperties":[],"platforms":[{"name":"GDevelop JS platform"}],"currentPlatform":"GDevelop JS platform"},"resources":{"resources":[{"file":"assets/NewSprite.png","kind":"image","metadata":"{\"extension\":\".png\"}","name":"NewSprite","smoothed":false,"userAdded":false},{"file":"assets/NewSprite2.png","kind":"image","metadata":"{\"extension\":\".png\"}","name":"NewSprite2","smoothed":false,"userAdded":false},{"file":"Route101.png","kind":"image","metadata":"","name":"Route101.png","smoothed":false,"userAdded":false},{"file":"assets/NewSprite3.png","kind":"image","metadata":"{\"extension\":\".png\"}","name":"NewSprite3","smoothed":false,"userAdded":false},{"file":"assets/Sprites/Player/0.png","kind":"image","metadata":"","name":"assets/Sprites/Player/0.png","smoothed":false,"userAdded":false},{"file":"assets/Sprites/Player/1.png","kind":"image","metadata":"","name":"assets/Sprites/Player/1.png","smoothed":false,"userAdded":false},{"file":"assets/Sprites/Player/2.png","kind":"image","metadata":"","name":"assets/Sprites/Player/2.png","smoothed":false,"userAdded":false},{"file":"assets/Sprites/Player/6.png","kind":"image","metadata":"","name":"assets/Sprites/Player/6.png","smoothed":false,"userAdded":false},{"file":"assets/Sprites/Player/7.png","kind":"image","metadata":"","name":"assets/Sprites/Player/7.png","smoothed":false,"userAdded":false},{"file":"assets/Sprites/Player/8.png","kind":"image","metadata":"","name":"assets/Sprites/Player/8.png","smoothed":false,"userAdded":false},{"file":"assets/Sprites/Player/3.png","kind":"image","metadata":"","name":"assets/Sprites/Player/3.png","smoothed":false,"userAdded":false},{"file":"assets/Sprites/Player/4.png","kind":"image","metadata":"","name":"assets/Sprites/Player/4.png","smoothed":false,"userAdded":false},{"file":"assets/Sprites/Player/5.png","kind":"image","metadata":"","name":"assets/Sprites/Player/5.png","smoothed":false,"userAdded":false},{"file":"assets/Maps/Kanto/WorldMap/PalletTown.png","kind":"image","metadata":"","name":"assets/Maps/Kanto/WorldMap/PalletTown.png","smoothed":false,"userAdded":false}]},"objects":[],"objectsFolderStructure":{"folderName":"__ROOT"},"objectsGroups":[],"variables":[],"layouts":[{"b":255,"disableInputWhenNotFocused":true,"mangledName":"Game","name":"Game","r":247,"standardSortMethod":true,"stopSoundsOnStartup":true,"title":"","v":249,"uiSettings":{"grid":true,"gridType":"rectangular","gridWidth":16.0,"gridHeight":16.0,"gridDepth":32.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridOffsetZ":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":true,"zoomFactor":0.5117784035210186,"windowMask":false,"selectedLayer":"","gameEditorMode":"instances-editor"},"objectsGroups":[{"name":"WorlMap","objects":[{"name":"spr_PalletTown"},{"name":"spr_route101"}]}],"variables":[],"instances":[{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"spr_PalletTown","persistentUuid":"8910ef5d-095c-4396-abbb-d825bf2436e8","width":0.0,"x":0.0,"y":0.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"spr_route101","persistentUuid":"4e1f00f8-017b-40c2-ad0f-f8961304e632","width":0.0,"x":0.0,"y":-640.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"spr_player","persistentUuid":"a1c6b635-579d-4e16-954b-c6e6b2f9996f","width":0.0,"x":176.0,"y":144.0,"zOrder":300,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"objects":[{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"spr_PalletTown","persistentUuid":"6aa6fe2d-5018-4105-9471-f36f6cf806f3","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[],"animations":[{"name":"NewSprite","useMultipleDirections":false,"directions":[{"looping":false,"metadata":"{\"pskl\":{}}","timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/Maps/Kanto/WorldMap/PalletTown.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":480.0,"y":0.0},{"x":480.0,"y":640.0},{"x":0.0,"y":640.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"spr_route101","persistentUuid":"29468b4b-b355-4ef6-bfe8-74179a6a17c2","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"InOnScreen","type":"IsOnScreen::InOnScreen"}],"animations":[{"name":"NewSprite","useMultipleDirections":false,"directions":[{"looping":false,"metadata":"{\"pskl\":{}}","timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"NewSprite3","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":480.0,"y":0.0},{"x":480.0,"y":640.0},{"x":0.0,"y":640.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"spr_player","persistentUuid":"c77d303b-de93-4e1f-a666-515b30a83c2d","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"maxSpeed":100.0,"name":"TopDownMovement","type":"TopDownMovementBehavior::TopDownMovementBehavior","acceleration":999999.0,"allowDiagonals":false,"angleOffset":0.0,"angularMaxSpeed":180.0,"customIsometryAngle":30.0,"deceleration":999999.0,"ignoreDefaultControls":false,"movementAngleOffset":0.0,"rotateObject":false,"useLegacyTurnBack":false,"viewpoint":"TopDown"}],"animations":[{"name":"01Down","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.2,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/0.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]},{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]},{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]},{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"01Left","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.2,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]},{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]},{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/8.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]},{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"02Up","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.2,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]},{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]},{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/5.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]},{"hasCustomCollisionMask":true,"image":"assets/Sprites/Player/4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":24.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":5.0},{"x":15.0,"y":5.0},{"x":15.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]}]}],"objectsFolderStructure":{"folderName":"__ROOT","children":[{"folderName":"Maps","children":[{"folderName":"Kanto","children":[{"folderName":"WorldMap","children":[{"objectName":"spr_PalletTown"},{"objectName":"spr_route101"}]}]}]},{"folderName":"Sprites","children":[{"folderName":"Player","children":[{"objectName":"spr_player"}]}]}]},"events":[{"type":"BuiltinCommonInstructions::Link","include":{"includeConfig":0},"target":"Functions"}],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera2DPlaneMaxDrawingDistance":5000.0,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":3.0,"cameraType":"","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[{"effectType":"Scene3D::HemisphereLight","name":"3D Ambient Hemisphere Light","doubleParameters":{"elevation":40.0,"intensity":0.33,"rotation":300.0},"stringParameters":{"groundColor":"127;127;127","skyColor":"255;255;255","top":"Z+"},"booleanParameters":{}},{"effectType":"Scene3D::DirectionalLight","name":"3D Sun Light","doubleParameters":{"distanceFromCamera":1500.0,"elevation":40.0,"frustumSize":4000.0,"intensity":0.75,"minimumShadowBias":0.0,"rotation":300.0},"stringParameters":{"color":"255;255;255","shadowQuality":"medium","top":"Z+"},"booleanParameters":{"isCastingShadow":true}}]}],"behaviorsSharedData":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"InOnScreen","type":"IsOnScreen::InOnScreen"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"TopDownMovement","type":"TopDownMovementBehavior::TopDownMovementBehavior"}]}],"externalEvents":[{"associatedLayout":"Game","name":"Functions","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Camera","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"RoomBasedCameraMovement::MoveCameraToActiveRoom"},"parameters":["","WorlMap","spr_player","","0","3","1","0","",""]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Sprite Control","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"TopDownMovementBehavior::TopDownMovementBehavior::IsUsingControl"},"parameters":["spr_player","TopDownMovement","\"Down\""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"FlippableCapability::FlippableBehavior::FlipX"},"parameters":["spr_player","Flippable","no"]},{"type":{"value":"AnimatableCapability::AnimatableBehavior::SetName"},"parameters":["spr_player","Animation","=","\"01Down\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"TopDownMovementBehavior::TopDownMovementBehavior::IsUsingControl"},"parameters":["spr_player","TopDownMovement","\"Left\""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"FlippableCapability::FlippableBehavior::FlipX"},"parameters":["spr_player","Flippable","no"]},{"type":{"value":"AnimatableCapability::AnimatableBehavior::SetName"},"parameters":["spr_player","Animation","=","\"01Left\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"TopDownMovementBehavior::TopDownMovementBehavior::IsUsingControl"},"parameters":["spr_player","TopDownMovement","\"Right\""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"FlippableCapability::FlippableBehavior::FlipX"},"parameters":["spr_player","Flippable","yes"]},{"type":{"value":"AnimatableCapability::AnimatableBehavior::SetName"},"parameters":["spr_player","Animation","=","\"01Left\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"TopDownMovementBehavior::TopDownMovementBehavior::IsUsingControl"},"parameters":["spr_player","TopDownMovement","\"Up\""]},{"type":{"value":"BuiltinCommonInstructions::Once"},"parameters":[]}],"actions":[{"type":{"value":"FlippableCapability::FlippableBehavior::FlipX"},"parameters":["spr_player","Flippable","no"]},{"type":{"value":"AnimatableCapability::AnimatableBehavior::SetName"},"parameters":["spr_player","Animation","=","\"02Up\""]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"TopDownMovementBehavior::IsMoving"},"parameters":["spr_player","TopDownMovement"]}],"actions":[{"type":{"value":"ChangeSprite"},"parameters":["spr_player","=","1"]}]}],"parameters":[]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"inverted":true,"value":"IsOnScreen::InOnScreen::IsOnScreen"},"parameters":["spr_route101","InOnScreen","",""]}],"actions":[{"type":{"value":"Hide"},"parameters":["spr_route101"]}]}]}],"eventsFunctionsExtensions":[{"author":"","category":"Camera","dimension":"2D","extensionNamespace":"","fullName":"Room-based camera movement","gdevelopVersion":">=5.5.222","helpPath":"https://victrisgames.itch.io/room-based-camera-movement","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGc+DQoJPHBhdGggZD0iTTE0LDNINEMzLjQsMywzLDMuNCwzLDR2MTBjMCwwLjYsMC40LDEsMSwxaDEwYzAuNiwwLDEtMC40LDEtMVY0QzE1LDMuNCwxNC42LDMsMTQsM3oiLz4NCgk8cGF0aCBkPSJNMTQsMTdINGMtMC42LDAtMSwwLjQtMSwxdjEwYzAsMC42LDAuNCwxLDEsMWgxMGMwLjYsMCwxLTAuNCwxLTFWMThDMTUsMTcuNCwxNC42LDE3LDE0LDE3eiIvPg0KCTxwYXRoIGQ9Ik0yOCwzSDE4Yy0wLjYsMC0xLDAuNC0xLDF2MTBjMCwwLjYsMC40LDEsMSwxaDEwYzAuNiwwLDEtMC40LDEtMVY0QzI5LDMuNCwyOC42LDMsMjgsM3oiLz4NCgk8cGF0aCBkPSJNMjgsMTdIMThjLTAuNiwwLTEsMC40LTEsMXYxMGMwLDAuNiwwLjQsMSwxLDFoMTBjMC42LDAsMS0wLjQsMS0xVjE4QzI5LDE3LjQsMjguNiwxNywyOCwxN3oiLz4NCjwvZz4NCjwvc3ZnPg0K","name":"RoomBasedCameraMovement","previewIconUrl":"https://resources.gdevelop-app.com/assets/Icons/Glyphster Pack/Master/SVG/Applications and Programming/Applications and Programming_app_apps_applications_tiles.svg","shortDescription":"Move/zoom camera to frame the room object containing the player.","version":"1.0.5","description":["Move camera to the room that contains the trigger object (usually the player). If desired, change zoom to show the entire room or keep zoom static.","","How to use:","- Place room objects on scene","- Select camera zoom limits, how fast the camera should move, and the visible buffer around each room","- Run the \"Move and zoom camera\" action on every frame","- Move the trigger object (player) between rooms and the camera will center on the room that contains the trigger object.","","Tips:","- Use these conditions for custom logic when changing rooms : \"Camera moving\", \"Camera zooming\", and \"Room changed\"","- Set \"Lerp Speed\" to \"1\" to change the camera instantly"],"origin":{"identifier":"RoomBasedCameraMovement","name":"gdevelop-extension-store"},"tags":["camera","follow","room","trigger","zoom","move","smooth"],"authorIds":["gqDaZjCfevOOxBYkK6zlhtZnXCg1","8Ih1aa8f5gWUp4UB2BdhQ2iXWxJ3","dt0tRnf2kHWJnjkrpnzTzNj9Yc63"],"dependencies":[],"globalVariables":[],"sceneVariables":[],"eventsFunctions":[{"description":"Move and zoom camera to the room object that contains the trigger object (usually the player).","fullName":"Move and zoom camera to the room object that contains the trigger object (player)","functionType":"Action","group":"Layers and cameras","name":"MoveCameraToActiveRoom","sentence":"Move camera to room object _PARAM1_ that contains trigger object _PARAM2_ (Layer: _PARAM3_, Lerp speed: _PARAM4_, Max zoom: _PARAM5_, Min zoom: _PARAM6_, Border buffer: _PARAM7_px)","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Initialize","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Save input values"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.MaxZoom","=","MaxZoom"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.LerpSpeed","=","LerpSpeed"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Set default values if none provided"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.MaxZoom","<=","0"]}],"actions":[{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.MaxZoom","=","1"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.LerpSpeed","<=","0"]}],"actions":[{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.LerpSpeed","=","0.1"]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Main","source":"","type":"BuiltinCommonInstructions::Group","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Identify the current room","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Detect which room is the current one"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"CollisionPoint"},"parameters":["RoomObject","TriggerObject.CenterX()","TriggerObject.CenterY()"]}],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Room has NOT changed"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["TriggerObject","__RoomBasedCameraMovement.CurrentRoomID","=","RoomObject.Variable(__RoomBasedCameraMovement.RoomID)"]}],"actions":[{"type":{"value":"SetObjectVariableAsBoolean"},"parameters":["TriggerObject","__RoomBasedCameraMovement.RoomChanged","False"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Room has changed"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["TriggerObject","__RoomBasedCameraMovement.CurrentRoomID","!=","RoomObject.Variable(__RoomBasedCameraMovement.RoomID)"]}],"actions":[{"type":{"value":"SetObjectVariableAsBoolean"},"parameters":["TriggerObject","__RoomBasedCameraMovement.RoomChanged","True"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Update CurrentRoomID variable"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarObjet"},"parameters":["TriggerObject","__RoomBasedCameraMovement.CurrentRoomID","=","RoomObject.Variable(__RoomBasedCameraMovement.RoomID)"]}]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Move camera","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::ForEach","object":"RoomObject","conditions":[],"actions":[],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Assign each room a unique ID if they don't have one yet"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["RoomObject","__RoomBasedCameraMovement.RoomID","=","0"]}],"actions":[{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.MaxRoomID","+","1"]},{"type":{"value":"ModVarObjet"},"parameters":["RoomObject","__RoomBasedCameraMovement.RoomID","=","Variable(__RoomBasedCameraMovement.MaxRoomID)"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Check if this room is the current room"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarObjet"},"parameters":["RoomObject","__RoomBasedCameraMovement.RoomID","=","TriggerObject.Variable(__RoomBasedCameraMovement.CurrentRoomID)"]}],"actions":[],"events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Change zoom","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Calculate the camera dimensions"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.CameraWidth","=","RoomObject.Width()+2*OutsideBuffer"]},{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.CameraHeight","=","RoomObject.Height()+2*OutsideBuffer"]},{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.CameraZoom","=","min(SceneWindowHeight() / Variable(__RoomBasedCameraMovement.CameraHeight), SceneWindowWidth() / Variable(__RoomBasedCameraMovement.CameraWidth))"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Adjust zoom to stay within min/max values"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.CameraZoom","=","clamp(Variable(__RoomBasedCameraMovement.CameraZoom),MinZoom,Variable(__RoomBasedCameraMovement.MaxZoom))"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Change camera zoom"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ZoomCamera"},"parameters":["","ceil(lerp(CameraZoom(Layer,Camera),Variable(__RoomBasedCameraMovement.CameraZoom),Variable(__RoomBasedCameraMovement.LerpSpeed))*1000)/1000","Layer","Camera"]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Move camera position","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"For rooms smaller than the viewable screen, center the camera on the center of the room"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.CameraWidth","<=","SceneWindowWidth()"]}],"actions":[{"type":{"value":"SetCameraCenterX"},"parameters":["","=","ceil(lerp(CameraX(Layer,Camera), RoomObject.CenterX(), Variable(__RoomBasedCameraMovement.LerpSpeed))*100)/100","Layer","Camera"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.CameraHeight","<=","SceneWindowHeight()"]}],"actions":[{"type":{"value":"SetCameraCenterY"},"parameters":["","=","ceil(lerp(CameraY(Layer,Camera), RoomObject.CenterY(), Variable(__RoomBasedCameraMovement.LerpSpeed))*100)/100","Layer","Camera"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"For rooms larger than the viewable screen, center the camera on the TriggerObject and clamp camera so it only shows the room + buffer"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.CameraWidth",">","SceneWindowWidth()"]}],"actions":[{"type":{"value":"SetCameraCenterX"},"parameters":["","=","ceil(lerp(CameraX(Layer,Camera), clamp(TriggerObject.CenterX(), \nRoomObject.CenterX() - RoomObject.Width()/2 + SceneWindowWidth()/2 - OutsideBuffer, RoomObject.CenterX() + RoomObject.Width()/2 - SceneWindowWidth()/2 + OutsideBuffer), Variable(__RoomBasedCameraMovement.LerpSpeed))*100)/100","Layer","Camera"]}]},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.CameraHeight",">","SceneWindowHeight()"]}],"actions":[{"type":{"value":"SetCameraCenterY"},"parameters":["","=","ceil(lerp(CameraY(Layer,Camera), clamp(TriggerObject.CenterY(), \nRoomObject.CenterY() - RoomObject.Height()/2 + SceneWindowHeight()/2 - OutsideBuffer, RoomObject.CenterY() + RoomObject.Height()/2 - SceneWindowHeight()/2 + OutsideBuffer), Variable(__RoomBasedCameraMovement.LerpSpeed))*100)/100","Layer","Camera"]}]}],"parameters":[]}]}]}],"parameters":[]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Calculate \"IsCameraMoving\" condition","source":"","type":"BuiltinCommonInstructions::Group","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Initialize","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.PrevCameraX","=","0"]},{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.PrevCameraY","=","0"]}],"actions":[{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.PrevCameraX","=","CameraX(Layer, Camera)"]},{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.PrevCameraY","=","CameraY(Layer, Camera)"]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Check if camera position changed","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Camera has NOT moved"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.PrevCameraX","=","CameraX(Layer,Camera)"]},{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.PrevCameraY","=","CameraY(Layer,Camera)"]}],"actions":[{"type":{"value":"SetSceneVariableAsBoolean"},"parameters":["__RoomBasedCameraMovement.CameraMoving","False"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Camera has moved"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"BuiltinCommonInstructions::Or"},"parameters":[],"subInstructions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.PrevCameraX","!=","CameraX(Layer,Camera)"]},{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.PrevCameraY","!=","CameraY(Layer,Camera)"]}]}],"actions":[{"type":{"value":"SetSceneVariableAsBoolean"},"parameters":["__RoomBasedCameraMovement.CameraMoving","True"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Update with current camera position"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.PrevCameraX","=","CameraX(Layer, Camera)"]},{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.PrevCameraY","=","CameraY(Layer, Camera)"]}]}]}],"parameters":[]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Calculate \"IsCameraZooming\" condition","source":"","type":"BuiltinCommonInstructions::Group","events":[{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Initialize","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.PreviousZoom","=","0"]}],"actions":[{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.PreviousZoom","=","CameraZoom(Layer, Camera)"]}]}],"parameters":[]},{"colorB":228,"colorG":176,"colorR":74,"creationTime":0,"name":"Check if camera zoom changed","source":"","type":"BuiltinCommonInstructions::Group","events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Camera zoom has NOT changed"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.PreviousZoom","=","CameraZoom(Layer,Camera)"]}],"actions":[{"type":{"value":"SetSceneVariableAsBoolean"},"parameters":["__RoomBasedCameraMovement.CameraZooming","False"]}]},{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Camera zoom has changed"},{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"VarScene"},"parameters":["__RoomBasedCameraMovement.PreviousZoom","!=","CameraZoom(Layer,Camera)"]}],"actions":[{"type":{"value":"SetSceneVariableAsBoolean"},"parameters":["__RoomBasedCameraMovement.CameraZooming","True"]}],"events":[{"type":"BuiltinCommonInstructions::Comment","color":{"b":109,"g":230,"r":255,"textB":0,"textG":0,"textR":0},"comment":"Update with current camera zoom"},{"type":"BuiltinCommonInstructions::Standard","conditions":[],"actions":[{"type":{"value":"ModVarScene"},"parameters":["__RoomBasedCameraMovement.PreviousZoom","=","CameraZoom(Layer, Camera)"]}]}]}],"parameters":[]}],"parameters":[]}],"parameters":[{"description":"Room object","longDescription":"Room objects are used to mark areas that should be seen by the camera.","name":"RoomObject","type":"objectList"},{"description":"Trigger object (player)","longDescription":"When the Trigger Object touches a new Room Object, the camera will move to the new room","name":"TriggerObject","type":"objectList"},{"description":"Layer","name":"Layer","type":"layer"},{"description":"Lerp speed","longDescription":"Range: 0 to 1","name":"LerpSpeed","type":"expression"},{"description":"Maximum zoom","name":"MaxZoom","type":"expression"},{"description":"Minimum zoom","name":"MinZoom","type":"expression"},{"description":"Outside buffer (pixels)","longDescription":"Minimum extra space displayed around each side the room","name":"OutsideBuffer","type":"expression"},{"description":"Camera","name":"Camera","type":"expression"}],"objectGroups":[]},{"description":"Check if trigger object (usually the player) has entered a new room on this frame.","fullName":"Check if trigger object (player) has entered a new room","functionType":"Condition","name":"ActiveRoomChanged","sentence":"_PARAM1_ has just entered a new room","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"ObjectVariableAsBoolean"},"parameters":["TriggerObject","__RoomBasedCameraMovement.RoomChanged","True"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[{"description":"Trigger object (player)","name":"TriggerObject","type":"objectList"}],"objectGroups":[]},{"description":"Check if camera is zooming (requires the use of \"Move and zoom camera\" action in this extension).","fullName":"Check if camera is zooming","functionType":"Condition","name":"IsCameraZooming","sentence":"Camera is zooming","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SceneVariableAsBoolean"},"parameters":["__RoomBasedCameraMovement.CameraZooming","True"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[],"objectGroups":[]},{"description":"Check if camera is moving (requires the use of \"Move and zoom camera\" action in this extension).","fullName":"Check if camera is moving","functionType":"Condition","name":"IsCameraMoving","sentence":"Camera is moving","events":[{"type":"BuiltinCommonInstructions::Standard","conditions":[{"type":{"value":"SceneVariableAsBoolean"},"parameters":["__RoomBasedCameraMovement.CameraMoving","True"]}],"actions":[{"type":{"value":"SetReturnBoolean"},"parameters":["True"]}]}],"parameters":[],"objectGroups":[]}],"eventsFunctionsFolderStructure":{"folderName":"__ROOT","children":[{"folderName":"Layers and cameras","children":[{"functionName":"MoveCameraToActiveRoom"}]},{"functionName":"ActiveRoomChanged"},{"functionName":"IsCameraZooming"},{"functionName":"IsCameraMoving"}]},"eventsBasedBehaviors":[],"eventsBasedObjects":[]},{"author":"Silver-Streak, @Bouh, Tristan Rhodes","category":"Game mechanic","dimension":"2D","extensionNamespace":"","fullName":"Object \"Is On Screen\" Detection","gdevelopVersion":"","helpPath":"","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLW1vbml0b3Itc2NyZWVuc2hvdCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik05LDZINVYxMEg3VjhIOU0xOSwxMEgxN1YxMkgxNVYxNEgxOU0yMSwxNkgzVjRIMjFNMjEsMkgzQzEuODksMiAxLDIuODkgMSw0VjE2QTIsMiAwIDAsMCAzLDE4SDEwVjIwSDhWMjJIMTZWMjBIMTRWMThIMjFBMiwyIDAgMCwwIDIzLDE2VjRDMjMsMi44OSAyMi4xLDIgMjEsMiIgLz48L3N2Zz4=","name":"IsOnScreen","previewIconUrl":"https://resources.gdevelop-app.com/assets/Icons/monitor-screenshot.svg","shortDescription":"Condition to check if an object is visible in its layer's camera viewport.","version":"1.2.2","description":["This extension adds conditions to check if an object is located within the visible portion of its layer's camera. The condition also allows for specifying padding to the virtual screen border.","","Note that this does not take into account any object visibility, such as being hidden or 0 opacity, but can be combined with those existing conditions."],"origin":{"identifier":"IsOnScreen","name":"gdevelop-extension-store"},"tags":["is on screen","condition","visible","hide","screen"],"authorIds":["2OwwM8ToR9dx9RJ2sAKTcrLmCB92","8Ih1aa8f5gWUp4UB2BdhQ2iXWxJ3","gqDaZjCfevOOxBYkK6zlhtZnXCg1"],"dependencies":[],"globalVariables":[],"sceneVariables":[],"eventsFunctions":[],"eventsFunctionsFolderStructure":{"folderName":"__ROOT"},"eventsBasedBehaviors":[{"description":"This behavior provides a condition to check if the object is located within the visible portion of its layer's camera. The condition also allows for specifying padding to the virtual screen border.\nNote that object visibility, such as being hidden or 0 opacity, is not considered (but you can use those existing conditions in addition to this behavior).","fullName":"Is on screen","helpPath":"","iconUrl":"","name":"InOnScreen","objectType":"","previewIconUrl":"","quickCustomizationVisibility":"hidden","eventsFunctions":[{"description":"Checks if an object position is within the viewport of its layer.","fullName":"Is on screen","functionType":"Condition","name":"IsOnScreen","sentence":"_PARAM0_ is on screen (padded by _PARAM2_ pixels)","events":[{"type":"BuiltinCommonInstructions::JsCode","inlineCode":["/*","Get the object layer, convert the position from this layer to the screen coordinates.","Get the point on each side on the object on screen, and compare with the screen area.","","This way even if the camera has a rotation or custom scale the object is always compared to the screen area.","*/","","","// Get the layer of the object.","const object = objects[0];","const layer = runtimeScene.getLayer(object.getLayer());","","// Get the aabb of the object on his layer.","const aabb = object.getVisibilityAABB();","","// Get the layer to convert the coordinates of the AABB to the screen coordinates","const topLeft = layer.convertInverseCoords(aabb.min[0], aabb.min[1]);","const topRight = layer.convertInverseCoords(aabb.max[0], aabb.min[1]);","const bottomRight = layer.convertInverseCoords(aabb.max[0], aabb.max[1]);","const bottomLeft = layer.convertInverseCoords(aabb.min[0], aabb.max[1]);","","// Get the points on each side of the object on screen.","const posLeftObjectOnScreen = Math.min(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);","const posRightObjectOnScreen = Math.max(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);","const posUpObjectOnScreen = Math.min(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);","const posDownObjectOnScreen = Math.max(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);","","const padding = eventsFunctionContext.getArgument(\"Padding\");","","if ("," !(posLeftObjectOnScreen - padding > runtimeScene.getGame().getGameResolutionWidth() ||"," posUpObjectOnScreen - padding > runtimeScene.getGame().getGameResolutionHeight() ||"," posRightObjectOnScreen + padding < 0 ||"," posDownObjectOnScreen + padding < 0"," )",") {"," eventsFunctionContext.returnValue = true;","}",""],"parameterObjects":"Object","useStrict":true,"eventsSheetExpanded":true}],"parameters":[{"description":"Object","name":"Object","type":"object"},{"description":"Behavior","name":"Behavior","supplementaryInformation":"IsOnScreen::InOnScreen","type":"behavior"},{"description":"Padding (in pixels)","longDescription":"Number of pixels to pad the screen border. Zero by default. A negative value goes inside the screen, a positive value go outside.","name":"Padding","type":"expression"}],"objectGroups":[{"name":"Group","objects":[]}]}],"eventsFunctionsFolderStructure":{"folderName":"__ROOT","children":[{"functionName":"IsOnScreen"}]},"propertyDescriptors":[],"propertiesFolderStructure":{"folderName":"__ROOT"}}],"eventsBasedObjects":[]}],"externalLayouts":[]}