MCPcopy Create free account
hub / github.com/melonjs/melonJS / get

Function get

packages/melonjs/src/math/observableVector3d_old.ts:124–197  ·  view source on GitHub ↗
(target, prop: keyof ObservableVector3d, receiver)

Source from the content-addressed store, hash-verified

122 return true;
123 },
124 get(target, prop: keyof ObservableVector3d, receiver) {
125 if (prop === "toVector3d") {
126 return () => {
127 return vector3dPool.get(target.x, target.y, target.z);
128 };
129 }
130
131 if (prop === "setMuted") {
132 return (x: number, y: number, z: number) => {
133 target.x = x;
134 target.y = y;
135 target.z = z;
136
137 return receiver;
138 };
139 }
140
141 if (prop === "set") {
142 return (x: number, y: number, z: number) => {
143 const retVal = options.updateFn({
144 newX: x,
145 newY: y,
146 newZ: z,
147 currentX: target.x,
148 currentY: target.y,
149 currentZ: target.z,
150 });
151 if (
152 retVal &&
153 typeof retVal.x === "number" &&
154 typeof retVal.y === "number" &&
155 typeof retVal.z === "number"
156 ) {
157 target.x = retVal.x;
158 target.y = retVal.y;
159 target.z = retVal.z;
160 } else {
161 target.x = x;
162 target.y = y;
163 target.z = z;
164 }
165 return receiver;
166 };
167 }
168
169 if (prop === "clone") {
170 return () =>
171 createObservableVector3d({
172 target: new Vector3d(target.x, target.y, target.z),
173 updateFn: options.updateFn,
174 });
175 }
176
177 if (prop === "clamp") {
178 return (low: number, high: number) =>
179 createObservableVector3d({
180 target: new Vector3d(
181 clamp(target.x, low, high),

Callers

nothing calls this directly

Calls 3

clampFunction · 0.90
createObservableVector3dFunction · 0.85
getMethod · 0.65

Tested by

no test coverage detected