-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgdjs-evtsext__curvedmovement__addcubiccurve-func.js
121 lines (102 loc) · 4.27 KB
/
gdjs-evtsext__curvedmovement__addcubiccurve-func.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
if (typeof gdjs.evtsExt__CurvedMovement__AddCubicCurve !== "undefined") {
gdjs.evtsExt__CurvedMovement__AddCubicCurve.registeredGdjsCallbacks.forEach(callback =>
gdjs._unregisterCallback(callback)
);
}
gdjs.evtsExt__CurvedMovement__AddCubicCurve = {};
gdjs.evtsExt__CurvedMovement__AddCubicCurve.userFunc0x897a90 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) {
"use strict";
const pathName = eventsFunctionContext.getArgument("PathName");
/** @type {Map<string, gdjs.__curvedMovementExtension.CurvedPath>} */
const curvedPaths = runtimeScene.__curvedMovementExtension.curvedPaths;
let curvedPath = curvedPaths.get(pathName);
if (!curvedPath) {
curvedPath = new gdjs.__curvedMovementExtension.CurvedPath();
curvedPaths.set(pathName, curvedPath);
}
let firstControlX = eventsFunctionContext.getArgument("FirstControlX");
let firstControlY = eventsFunctionContext.getArgument("FirstControlY");
let secondControlX = eventsFunctionContext.getArgument("SecondControlX");
let secondControlY = eventsFunctionContext.getArgument("SecondControlY");
let destinationX = eventsFunctionContext.getArgument("DestinationX");
let destinationY = eventsFunctionContext.getArgument("DestinationY");
let isRelative = eventsFunctionContext.getArgument("IsRelative");
curvedPath.addCurve(
firstControlX,
firstControlY,
secondControlX,
secondControlY,
destinationX,
destinationY,
isRelative
);
};
gdjs.evtsExt__CurvedMovement__AddCubicCurve.eventsList0 = function(runtimeScene, eventsFunctionContext) {
{
gdjs.evtsExt__CurvedMovement__AddCubicCurve.userFunc0x897a90(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined);
}
};
gdjs.evtsExt__CurvedMovement__AddCubicCurve.func = function(runtimeScene, PathName, FirstControlX, FirstControlY, SecondControlX, SecondControlY, DestinationX, DestinationY, IsRelative, parentEventsFunctionContext) {
var eventsFunctionContext = {
_objectsMap: {
},
_objectArraysMap: {
},
_behaviorNamesMap: {
},
globalVariablesForExtension: runtimeScene.getGame().getVariablesForExtension("CurvedMovement"),
sceneVariablesForExtension: runtimeScene.getScene().getVariablesForExtension("CurvedMovement"),
localVariables: [],
getObjects: function(objectName) {
return eventsFunctionContext._objectArraysMap[objectName] || [];
},
getObjectsLists: function(objectName) {
return eventsFunctionContext._objectsMap[objectName] || null;
},
getBehaviorName: function(behaviorName) {
return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName;
},
createObject: function(objectName) {
const objectsList = eventsFunctionContext._objectsMap[objectName];
if (objectsList) {
const object = parentEventsFunctionContext ?
parentEventsFunctionContext.createObject(objectsList.firstKey()) :
runtimeScene.createObject(objectsList.firstKey());
if (object) {
objectsList.get(objectsList.firstKey()).push(object);
eventsFunctionContext._objectArraysMap[objectName].push(object);
}
return object; }
return null;
},
getInstancesCountOnScene: function(objectName) {
const objectsList = eventsFunctionContext._objectsMap[objectName];
let count = 0;
if (objectsList) {
for(const objectName in objectsList.items)
count += parentEventsFunctionContext ?
parentEventsFunctionContext.getInstancesCountOnScene(objectName) :
runtimeScene.getInstancesCountOnScene(objectName);
}
return count;
},
getLayer: function(layerName) {
return runtimeScene.getLayer(layerName);
},
getArgument: function(argName) {
if (argName === "PathName") return PathName;
if (argName === "FirstControlX") return FirstControlX;
if (argName === "FirstControlY") return FirstControlY;
if (argName === "SecondControlX") return SecondControlX;
if (argName === "SecondControlY") return SecondControlY;
if (argName === "DestinationX") return DestinationX;
if (argName === "DestinationY") return DestinationY;
if (argName === "IsRelative") return IsRelative;
return "";
},
getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); }
};
gdjs.evtsExt__CurvedMovement__AddCubicCurve.eventsList0(runtimeScene, eventsFunctionContext);
return;
}
gdjs.evtsExt__CurvedMovement__AddCubicCurve.registeredGdjsCallbacks = [];