Make model properties readonly
This commit is contained in:
parent
c067541cc6
commit
b1125175be
18
src/model.ts
18
src/model.ts
|
|
@ -39,12 +39,12 @@ const esp = 0.002;
|
||||||
export class SkinObject extends THREE.Group {
|
export class SkinObject extends THREE.Group {
|
||||||
|
|
||||||
// body parts
|
// body parts
|
||||||
head: THREE.Group;
|
readonly head: THREE.Group;
|
||||||
body: THREE.Group;
|
readonly body: THREE.Group;
|
||||||
rightArm: THREE.Group;
|
readonly rightArm: THREE.Group;
|
||||||
leftArm: THREE.Group;
|
readonly leftArm: THREE.Group;
|
||||||
rightLeg: THREE.Group;
|
readonly rightLeg: THREE.Group;
|
||||||
leftLeg: THREE.Group;
|
readonly leftLeg: THREE.Group;
|
||||||
|
|
||||||
private modelListeners: Array<() => void> = []; // called when model(slim property) is changed
|
private modelListeners: Array<() => void> = []; // called when model(slim property) is changed
|
||||||
private _slim = false;
|
private _slim = false;
|
||||||
|
|
@ -343,7 +343,7 @@ export class SkinObject extends THREE.Group {
|
||||||
|
|
||||||
export class CapeObject extends THREE.Group {
|
export class CapeObject extends THREE.Group {
|
||||||
|
|
||||||
cape: THREE.Mesh;
|
readonly cape: THREE.Mesh;
|
||||||
|
|
||||||
constructor(capeMaterial: THREE.MeshBasicMaterial) {
|
constructor(capeMaterial: THREE.MeshBasicMaterial) {
|
||||||
super();
|
super();
|
||||||
|
|
@ -368,8 +368,8 @@ export class CapeObject extends THREE.Group {
|
||||||
|
|
||||||
export class PlayerObject extends THREE.Group {
|
export class PlayerObject extends THREE.Group {
|
||||||
|
|
||||||
skin: SkinObject;
|
readonly skin: SkinObject;
|
||||||
cape: CapeObject;
|
readonly cape: CapeObject;
|
||||||
|
|
||||||
constructor(layer1Material: THREE.MeshBasicMaterial, layer2Material: THREE.MeshBasicMaterial, capeMaterial: THREE.MeshBasicMaterial) {
|
constructor(layer1Material: THREE.MeshBasicMaterial, layer2Material: THREE.MeshBasicMaterial, capeMaterial: THREE.MeshBasicMaterial) {
|
||||||
super();
|
super();
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ export function loadCapeToCanvas(canvas: HTMLCanvasElement, image: HTMLImageElem
|
||||||
context.drawImage(image, 0, 0, image.width, image.height);
|
context.drawImage(image, 0, 0, image.width, image.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isSlimSkin(canvasOrImage: HTMLCanvasElement | HTMLImageElement) {
|
export function isSlimSkin(canvasOrImage: HTMLCanvasElement | HTMLImageElement): boolean {
|
||||||
// Detects whether the skin is default or slim.
|
// Detects whether the skin is default or slim.
|
||||||
//
|
//
|
||||||
// The right arm area of *default* skins:
|
// The right arm area of *default* skins:
|
||||||
|
|
@ -183,7 +183,7 @@ export function isSlimSkin(canvasOrImage: HTMLCanvasElement | HTMLImageElement)
|
||||||
checkArea(54, 20, 2, 12) ||
|
checkArea(54, 20, 2, 12) ||
|
||||||
checkArea(42, 48, 2, 4) ||
|
checkArea(42, 48, 2, 4) ||
|
||||||
checkArea(46, 52, 2, 12);
|
checkArea(46, 52, 2, 12);
|
||||||
} else if (canvasOrImage instanceof HTMLImageElement) {
|
} else {
|
||||||
const image = canvasOrImage;
|
const image = canvasOrImage;
|
||||||
const canvas = document.createElement("canvas");
|
const canvas = document.createElement("canvas");
|
||||||
loadSkinToCanvas(canvas, image);
|
loadSkinToCanvas(canvas, image);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue