diff --git a/examples/chat-bubble/README.md b/examples/chat-bubble/README.md new file mode 100644 index 000000000..9c7605428 --- /dev/null +++ b/examples/chat-bubble/README.md @@ -0,0 +1 @@ +A demo for using the chat bubble extension. \ No newline at end of file diff --git a/examples/chat-bubble/chat-bubble.json b/examples/chat-bubble/chat-bubble.json new file mode 100644 index 000000000..14cdca5f9 --- /dev/null +++ b/examples/chat-bubble/chat-bubble.json @@ -0,0 +1,2724 @@ +{ + "firstLayout": "", + "gdVersion": { + "build": 99, + "major": 4, + "minor": 0, + "revision": 0 + }, + "properties": { + "adaptGameResolutionAtRuntime": true, + "folderProject": false, + "orientation": "landscape", + "packageName": "com.mpck.chatbubble", + "pixelsRounding": false, + "projectUuid": "f7d348d7-f7f5-46b8-bb7f-85049d9fa93b", + "scaleMode": "linear", + "sizeOnStartupMode": "", + "templateSlug": "", + "useExternalSourceFiles": false, + "version": "1.0.0", + "name": "Chat Bubble Extension", + "description": "A demo for using the chat bubble extension.", + "author": "", + "windowWidth": 800, + "windowHeight": 600, + "latestCompilationDirectory": "", + "maxFPS": 60, + "minFPS": 20, + "verticalSync": false, + "platformSpecificAssets": {}, + "loadingScreen": { + "backgroundColor": 0, + "backgroundFadeInDuration": 0.2, + "backgroundImageResourceName": "", + "gdevelopLogoStyle": "light", + "logoAndProgressFadeInDuration": 0.2, + "logoAndProgressLogoFadeInDelay": 0.2, + "minDuration": 1.5, + "progressBarColor": 16777215, + "progressBarHeight": 20, + "progressBarMaxWidth": 200, + "progressBarMinWidth": 40, + "progressBarWidthPercent": 30, + "showGDevelopSplash": true, + "showProgressBar": true + }, + "authorIds": [ + "rotBq28wITdtfsrE7McHQri4k2w2" + ], + "categories": [], + "playableDevices": [], + "extensionProperties": [], + "platforms": [ + { + "name": "GDevelop JS platform" + } + ], + "currentPlatform": "GDevelop JS platform" + }, + "resources": { + "resources": [ + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Hit 1_1.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Hit 1_1.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Hit 1_1.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Hit 1_2.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Hit 1_2.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Hit 1_2.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Hit 1_3.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Hit 1_3.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Hit 1_3.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Hit 1_4.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Hit 1_4.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Hit 1_4.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Hit 1_5.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Hit 1_5.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Hit 1_5.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Hit 2_1.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Hit 2_1.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Hit 2_1.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Hit 2_2.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Hit 2_2.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Hit 2_2.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Hit 2_3.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Hit 2_3.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Hit 2_3.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Hit 2_4.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Hit 2_4.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Hit 2_4.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Hit 2_5.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Hit 2_5.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Hit 2_5.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Idle_1.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Idle_1.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Idle_1.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Idle_2.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Idle_2.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Idle_2.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Idle_3.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Idle_3.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Idle_3.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Idle_4.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Idle_4.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Idle_4.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Idle_5.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Idle_5.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Idle_5.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Idle_6.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Idle_6.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Idle_6.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Idle_7.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Idle_7.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Idle_7.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Idle_8.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Idle_8.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Idle_8.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Idle_9.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Idle_9.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Idle_9.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_1.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_1.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_1.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_10.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_10.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_10.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_11.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_11.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_11.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_12.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_12.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_12.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_2.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_2.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_2.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_3.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_3.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_3.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_4.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_4.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_4.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_5.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_5.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_5.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_6.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_6.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_6.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_7.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_7.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_7.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_8.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_8.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_8.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Run_9.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Run_9.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Run_9.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_1.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_1.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_1.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_10.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_10.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_10.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_11.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_11.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_11.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_12.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_12.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_12.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_13.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_13.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_13.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_14.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_14.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_14.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_15.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_15.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_15.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_16.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_16.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_16.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_2.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_2.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_2.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_3.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_3.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_3.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_4.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_4.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_4.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_5.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_5.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_5.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_6.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_6.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_6.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_7.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_7.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_7.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_8.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_8.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_8.png", + "name": "gdevelop-asset-store" + } + }, + { + "alwaysLoaded": false, + "file": "assets/AngryPig_Walk_9.png", + "kind": "image", + "metadata": "", + "name": "AngryPig_Walk_9.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://resources.gdevelop-app.com/assets/Pixel Adventure Pack/Enemies/AngryPig/AngryPig_Walk_9.png", + "name": "gdevelop-asset-store" + } + } + ], + "resourceFolders": [] + }, + "objects": [], + "objectsGroups": [], + "variables": [], + "layouts": [ + { + "b": 209, + "disableInputWhenNotFocused": true, + "mangledName": "Main", + "name": "Main", + "oglFOV": 90, + "oglZFar": 500, + "oglZNear": 1, + "r": 209, + "standardSortMethod": true, + "stopSoundsOnStartup": true, + "title": "", + "v": 209, + "uiSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 0.5599999999999996, + "windowMask": false + }, + "objectsGroups": [], + "variables": [ + { + "name": "Dialogs", + "type": "array", + "children": [ + { + "type": "string", + "value": "Hi! I'm norbert!" + }, + { + "type": "string", + "value": "this extension dynamically \ncreate chat bubbles" + }, + { + "folded": true, + "type": "string", + "value": "it can support long descriptions" + }, + { + "type": "string", + "value": "Multiple colors" + }, + { + "type": "string", + "value": "and name tags (Optional)" + }, + { + "type": "string", + "value": "Also support multiple lines!\nI hope..\nLets test it out!" + }, + { + "type": "string", + "value": "one\ntwo\nthree\nfour\nfive.. six\nseven" + } + ] + }, + { + "folded": true, + "name": "index", + "type": "number", + "value": 0 + } + ], + "instances": [ + { + "angle": 0, + "customSize": true, + "height": 73, + "layer": "", + "locked": false, + "name": "AngryPig", + "persistentUuid": "7b52e7e9-e4b6-455e-bc72-192e17230936", + "width": 84, + "x": 278, + "y": 225, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 73, + "layer": "", + "locked": false, + "name": "AngryPig", + "persistentUuid": "c3dba76d-6848-49ef-b44d-610a8bd121e6", + "width": 84, + "x": 280, + "y": 452, + "zOrder": 1, + "numberProperties": [ + { + "name": "animation", + "value": 2 + } + ], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "BubblePainter", + "persistentUuid": "0a912578-54df-4785-b534-71586ce501ad", + "width": 0, + "x": 832, + "y": 383, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "locked": false, + "name": "BubblePainter2", + "persistentUuid": "ed6cdfc4-f7e5-44bf-b7f7-c116fb012323", + "width": 0, + "x": 821, + "y": 260, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "", + "name": "BubblePainter", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [ + { + "folded": true, + "name": "drawing", + "type": "boolean", + "value": false + } + ], + "effects": [], + "behaviors": [ + { + "name": "ChatBubble", + "type": "ChatBubble::ChatBubble", + "WithNameTag": true, + "NameTagColor": "235;114;252", + "NameTagBackgroundColor": "240;114;252" + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "outlineColor": { + "b": 255, + "g": 255, + "r": 255 + }, + "absoluteCoordinates": true, + "clearBetweenFrames": false + }, + { + "assetStoreId": "", + "name": "BubblePainter2", + "tags": "", + "type": "PrimitiveDrawing::Drawer", + "variables": [ + { + "folded": true, + "name": "drawing", + "type": "boolean", + "value": false + } + ], + "effects": [], + "behaviors": [ + { + "name": "ChatBubble", + "type": "ChatBubble::ChatBubble", + "WithNameTag": false + } + ], + "fillOpacity": 255, + "outlineSize": 1, + "outlineOpacity": 255, + "fillColor": { + "b": 157, + "g": 255, + "r": 0 + }, + "outlineColor": { + "b": 157, + "g": 255, + "r": 0 + }, + "absoluteCoordinates": true, + "clearBetweenFrames": false + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "ChatBubbleText", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "my name is norbert!", + "font": "", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "ChatBubbleText2", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "my name is norbert!", + "font": "", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "ChatNameTag", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Norbert", + "font": "", + "characterSize": 15, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "e7c8135f221f7d3c29f58768fee9793147a92aa570a64b98dee46046a0e4a67b", + "name": "AngryPig", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.11110000312328339, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Idle_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Idle_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Idle_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Idle_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Idle_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Idle_6.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Idle_7.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Idle_8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Idle_9.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Walk", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.0625, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_6.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_7.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_9.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_10.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_11.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_12.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_13.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_14.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_15.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Walk_16.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Run", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.08330000191926956, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_6.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_7.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_9.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_10.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_11.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Run_12.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Hit 1", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.20000000298023224, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Hit 1_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Hit 1_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Hit 1_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Hit 1_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Hit 1_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Hit 2", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.20000000298023224, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Hit 2_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Hit 2_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Hit 2_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Hit 2_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "AngryPig_Hit 2_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "index", + "+", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "VariableChildCount(Dialogs)", + "<=", + "Variable(index)" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "index", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ChatBubbleText", + "=", + "VariableString(Dialogs[Variable(index)])" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "ChatBubbleText2", + "=", + "VariableString(Dialogs[Variable(index)])" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ChatBubble::ChatBubble::DrawChatBubbleWithNameTag" + }, + "parameters": [ + "BubblePainter", + "ChatBubble", + "359", + "214", + "ChatBubbleText", + "\"\"", + "ChatNameTag", + "" + ] + }, + { + "type": { + "value": "ChatBubble::ChatBubble::DrawChatBubble" + }, + "parameters": [ + "BubblePainter2", + "ChatBubble", + "359", + "445", + "ChatBubbleText2", + "\"\"", + "" + ] + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 0, + "ambientLightColorG": 0, + "ambientLightColorR": 16, + "followBaseLayerCamera": false, + "isLightingLayer": false, + "name": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + } + ], + "behaviorsSharedData": [ + { + "name": "ChatBubble", + "type": "ChatBubble::ChatBubble" + } + ] + } + ], + "externalEvents": [], + "eventsFunctionsExtensions": [ + { + "author": "", + "category": "General", + "description": "Create chat bubbles dynamically\n\ncurrently support:\n- auto adjustments for text width\n- auto adjustments for text height\n- chat bubble colors\n- name tags\n\nfuture support:\n- different positions for the chat bubble tail\n- adjustable paddings.", + "extensionNamespace": "", + "fullName": "ChatBubble", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWNoYXQtb3V0bGluZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMiwzQzYuNSwzIDIsNi41OCAyLDExQzIuMDUsMTMuMTUgMy4wNiwxNS4xNyA0Ljc1LDE2LjVDNC43NSwxNy4xIDQuMzMsMTguNjcgMiwyMUM0LjM3LDIwLjg5IDYuNjQsMjAgOC40NywxOC41QzkuNjEsMTguODMgMTAuODEsMTkgMTIsMTlDMTcuNSwxOSAyMiwxNS40MiAyMiwxMUMyMiw2LjU4IDE3LjUsMyAxMiwzTTEyLDE3QzcuNTgsMTcgNCwxNC4zMSA0LDExQzQsNy42OSA3LjU4LDUgMTIsNUMxNi40Miw1IDIwLDcuNjkgMjAsMTFDMjAsMTQuMzEgMTYuNDIsMTcgMTIsMTdaIiAvPjwvc3ZnPg==", + "name": "ChatBubble", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/chat-outline.svg", + "shortDescription": "Create chat bubbles dynamically. ", + "version": "1.6.1", + "tags": [ + "bubble", + "chat", + "ui" + ], + "authorIds": [ + "rotBq28wITdtfsrE7McHQri4k2w2" + ], + "dependencies": [], + "eventsFunctions": [], + "eventsBasedBehaviors": [ + { + "description": "Draws a chat bubble into a text object.", + "fullName": "Chat Bubble Behavior", + "name": "ChatBubble", + "objectType": "PrimitiveDrawing::Drawer", + "eventsFunctions": [ + { + "description": "", + "fullName": "", + "functionType": "Action", + "group": "", + "name": "onCreated", + "private": false, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::ClearBetweenFrames" + }, + "parameters": [ + "Object", + "" + ] + }, + { + "type": { + "value": "ChatBubble::ChatBubble::SetPropertyDefaultColor" + }, + "parameters": [ + "Object", + "Behavior", + "ToString(Object.FillColorRed()) + \";\" +\nToString(Object.FillColorGreen()) + \";\" +\nToString(Object.FillColorBlue())" + ] + }, + { + "type": { + "value": "ChatBubble::ChatBubble::SetPropertyDefaultOutlineColor" + }, + "parameters": [ + "Object", + "Behavior", + "ToString(Object.OutlineColorRed()) + \";\" +\nToString(Object.OutlineColorGreen()) + \";\" +\nToString(Object.OutlineColorBlue())" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "ChatBubble::ChatBubble", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Draw a chat bubble.", + "fullName": "Draw a chat bubble", + "functionType": "Action", + "group": "ChatBubbleExtension", + "name": "DrawChatBubble", + "private": false, + "sentence": "Draw a chat bubble at point _PARAM2_, _PARAM3_ using text object _PARAM4_, shape painter _PARAM0_, layer: _PARAM5_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "ChatBubbleText", + "=", + "0" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "ChatBubbleText", + "0", + "0", + "GetArgumentAsString(\"Layer\")" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ChatBubble.DrawWidth", + "=", + "ChatBubbleText.Width()" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ChatBubble.DrawHeight", + "=", + "ChatBubbleText.Height()" + ] + }, + { + "type": { + "value": "ChangePlan" + }, + "parameters": [ + "ChatBubbleText", + "+", + "ChatBubbleText.ZOrder()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate positions", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::OutlineColor" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyDefaultOutlineColor()" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::FillColor" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyDefaultColor()" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__ChatBubble.DrawChatX", + "=", + "GetArgumentAsNumber(\"PointX\")-32" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__ChatBubble.DrawChatY", + "=", + "GetArgumentAsNumber(\"PointY\")-18-24-18" + ] + }, + { + "type": { + "value": "MettreXY" + }, + "parameters": [ + "ChatBubbleText", + "=", + "Variable(__ChatBubble.DrawChatX)+24", + "=", + "Variable(__ChatBubble.DrawChatY)+18-ChatBubbleText.Height()" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ChatBubble.DrawWidth", + "=", + "lerp(Object.Variable(__ChatBubble.DrawWidth),ChatBubbleText.Width(),0.08)" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ChatBubble.DrawHeight", + "=", + "lerp(Object.Variable(__ChatBubble.DrawHeight),ChatBubbleText.Height(),0.08)" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "ChatBubbleText" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Variable(__ChatBubble.DrawWidth)", + ">=", + "ChatBubbleText.Width()-24" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Variable(__ChatBubble.DrawHeight)", + ">=", + "ChatBubbleText.Height()-24" + ] + } + ], + "actions": [ + { + "type": { + "value": "Montre" + }, + "parameters": [ + "ChatBubbleText", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Draw ChatBubble", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::RoundedRectangle" + }, + "parameters": [ + "Object", + "Variable(__ChatBubble.DrawChatX)", + "Variable(__ChatBubble.DrawChatY)-Object.Variable(__ChatBubble.DrawHeight)", + "Variable(__ChatBubble.DrawChatX)+24+max(40,Object.Variable(__ChatBubble.DrawWidth))+24", + "Variable(__ChatBubble.DrawChatY)+18+18", + "40" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::BeginFillPath" + }, + "parameters": [ + "Object", + "Variable(__ChatBubble.DrawChatX)+32", + "Variable(__ChatBubble.DrawChatY)+18+18" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::PathLineTo" + }, + "parameters": [ + "Object", + "Variable(__ChatBubble.DrawChatX)+32", + "Variable(__ChatBubble.DrawChatY)+18+24+18" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::PathLineTo" + }, + "parameters": [ + "Object", + "Variable(__ChatBubble.DrawChatX)+32+24", + "Variable(__ChatBubble.DrawChatY)+18+18" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::closePath" + }, + "parameters": [ + "Object" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "ChatBubble::ChatBubble", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "X position", + "longDescription": "", + "name": "PointX", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Y position", + "longDescription": "", + "name": "PointY", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Chat bubble text object", + "longDescription": "", + "name": "ChatBubbleText", + "optional": false, + "supplementaryInformation": "TextObject::Text", + "type": "objectList" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Layer", + "longDescription": "", + "name": "Layer", + "optional": false, + "supplementaryInformation": "", + "type": "layer" + } + ], + "objectGroups": [] + }, + { + "description": "Draw a chat bubble with name tag.", + "fullName": "Draw a chat bubble with name tag", + "functionType": "Action", + "group": "ChatBubbleExtension", + "name": "DrawChatBubbleWithNameTag", + "private": false, + "sentence": "Draw a chat bubble at point _PARAM2_, _PARAM3_ using text object _PARAM4_, shape painter _PARAM0_, name tag text object: _PARAM6_, layer: _PARAM5_", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Draw Chat Bubble", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ChatBubble::ChatBubble::DrawChatBubble" + }, + "parameters": [ + "Object", + "Behavior", + "GetArgumentAsNumber(\"PointX\")", + "GetArgumentAsNumber(\"PointY\")", + "ChatBubbleText", + "\"\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Draw Nametag", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneInstancesCount" + }, + "parameters": [ + "", + "NameTagText", + "=", + "0" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "NameTagText", + "0", + "0", + "GetArgumentAsString(\"Layer\")" + ] + }, + { + "type": { + "value": "ChangePlan" + }, + "parameters": [ + "NameTagText", + "+", + "ChatBubbleText.ZOrder()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "MettreXY" + }, + "parameters": [ + "NameTagText", + "=", + "Variable(__ChatBubble.DrawChatX)-18+17+5", + "=", + "Variable(__ChatBubble.DrawChatY)-Object.Variable(__ChatBubble.DrawHeight)-18+3+9" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PrimitiveDrawing::OutlineColor" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyNameTagBackgroundColor()" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::FillColor" + }, + "parameters": [ + "Object", + "Object.Behavior::PropertyNameTagBackgroundColor()" + ] + }, + { + "type": { + "value": "PrimitiveDrawing::RoundedRectangle" + }, + "parameters": [ + "Object", + "Variable(__ChatBubble.DrawChatX)-18+15", + "Variable(__ChatBubble.DrawChatY)-Object.Variable(__ChatBubble.DrawHeight)-9", + "Variable(__ChatBubble.DrawChatX)+NameTagText.Width()+5+5", + "Variable(__ChatBubble.DrawChatY)-Object.Variable(__ChatBubble.DrawHeight)-18+24+7", + "10" + ] + } + ] + } + ], + "parameters": [ + { + "codeOnly": false, + "defaultValue": "", + "description": "Object", + "longDescription": "", + "name": "Object", + "optional": false, + "supplementaryInformation": "PrimitiveDrawing::Drawer", + "type": "object" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Behavior", + "longDescription": "", + "name": "Behavior", + "optional": false, + "supplementaryInformation": "ChatBubble::ChatBubble", + "type": "behavior" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "X position", + "longDescription": "", + "name": "PointX", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Y position", + "longDescription": "", + "name": "PointY", + "optional": false, + "supplementaryInformation": "", + "type": "expression" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Chat bubble text object", + "longDescription": "", + "name": "ChatBubbleText", + "optional": false, + "supplementaryInformation": "TextObject::Text", + "type": "objectList" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Layer", + "longDescription": "", + "name": "Layer", + "optional": false, + "supplementaryInformation": "", + "type": "layer" + }, + { + "codeOnly": false, + "defaultValue": "", + "description": "Name tag text object (optional)", + "longDescription": "", + "name": "NameTagText", + "optional": false, + "supplementaryInformation": "TextObject::Text", + "type": "objectList" + } + ], + "objectGroups": [] + } + ], + "propertyDescriptors": [ + { + "value": "155;155;155", + "type": "Color", + "label": "Name Tag Background Color (if you only call draw with name tag)", + "description": "", + "group": "Name Tag Properties", + "extraInformation": [], + "hidden": false, + "name": "NameTagBackgroundColor" + }, + { + "value": "", + "type": "Color", + "label": "", + "description": "", + "group": "Chat Bubble Properties", + "extraInformation": [], + "hidden": true, + "name": "DefaultColor" + }, + { + "value": "", + "type": "Color", + "label": "", + "description": "", + "group": "Chat Bubble Properties", + "extraInformation": [], + "hidden": true, + "name": "DefaultOutlineColor" + }, + { + "value": "", + "type": "Number", + "label": "Draw Chat Width", + "description": "", + "group": "Chat Bubble Properties", + "extraInformation": [], + "hidden": true, + "name": "DrawChatWidth" + }, + { + "value": "", + "type": "Number", + "label": "Draw Chat Height", + "description": "", + "group": "Chat Bubble Properties", + "extraInformation": [], + "hidden": true, + "name": "DrawChatHeight" + } + ] + } + ] + } + ], + "externalLayouts": [], + "externalSourceFiles": [] +} \ No newline at end of file