This commit is contained in:
syuilo
2026-02-20 13:15:34 +09:00
parent cdc9b47b78
commit aae03a914d
38 changed files with 199 additions and 39 deletions

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const aircon = defineObject({
id: 'aircon',
defaultOptions: {},
name: 'Air Conditioner',
options: {
schema: {},
default: {},
},
placement: 'wall',
createInstance: () => {
return {

View File

@@ -8,7 +8,11 @@ import { defineObject } from '../engine.js';
export const aquarium = defineObject({
id: 'aquarium',
defaultOptions: {},
name: 'Aquarium',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: ({ room, root }) => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const banknote = defineObject({
id: 'banknote',
defaultOptions: {},
name: 'Banknote',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const bed = defineObject({
id: 'bed',
defaultOptions: {},
name: 'Bed',
options: {
schema: {},
default: {},
},
placement: 'floor',
createInstance: () => {
return {

View File

@@ -7,8 +7,18 @@ import { defineObject } from '../engine.js';
export const book = defineObject({
id: 'book',
defaultOptions: {
variation: null as number | null,
name: 'Book',
options: {
schema: {
variation: {
type: 'enum',
label: 'Variation',
enum: [0, 1],
},
},
default: {
variation: 0,
},
},
placement: 'top',
createInstance: ({ options, root }) => {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const cactusS = defineObject({
id: 'cactusS',
defaultOptions: {},
name: 'Cactus S',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -8,8 +8,18 @@ import { defineObject } from '../engine.js';
export const cardboardBox = defineObject({
id: 'cardboardBox',
defaultOptions: {
variation: null as string | null,
name: 'Cardboard Box',
options: {
schema: {
variation: {
type: 'enum',
label: 'Variation',
enum: ['default', 'mikan', 'aizon'],
},
},
default: {
variation: 'default',
},
},
placement: 'top',
createInstance: ({ room, options, root }) => {

View File

@@ -8,7 +8,11 @@ import { defineObject } from '../engine.js';
export const ceilingFanLight = defineObject({
id: 'ceilingFanLight',
defaultOptions: {},
name: 'Ceiling Fan Light',
options: {
schema: {},
default: {},
},
placement: 'ceiling',
createInstance: ({ room, root }) => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const chair = defineObject({
id: 'chair',
defaultOptions: {},
name: 'Chair',
options: {
schema: {},
default: {},
},
placement: 'floor',
isChair: true,
createInstance: () => {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const colorBox = defineObject({
id: 'colorBox',
defaultOptions: {},
name: 'Color Box',
options: {
schema: {},
default: {},
},
placement: 'floor',
createInstance: () => {
return {

View File

@@ -9,7 +9,11 @@ import { yuge } from '../utility.js';
export const cupNoodle = defineObject({
id: 'cupNoodle',
defaultOptions: {},
name: 'Cup Noodle',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: ({ room, root }) => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const desk = defineObject({
id: 'desk',
defaultOptions: {},
name: 'Desk',
options: {
schema: {},
default: {},
},
placement: 'floor',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const ductTape = defineObject({
id: 'ductTape',
defaultOptions: {},
name: 'Duct Tape',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const energyDrink = defineObject({
id: 'energyDrink',
defaultOptions: {},
name: 'Energy Drink',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const facialTissue = defineObject({
id: 'facialTissue',
defaultOptions: {},
name: 'Facial Tissue',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const keyboard = defineObject({
id: 'keyboard',
defaultOptions: {},
name: 'Keyboard',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const lavaLamp = defineObject({
id: 'lavaLamp',
defaultOptions: {},
name: 'Lava Lamp',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: ({ room, root }) => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const letterCase = defineObject({
id: 'letterCase',
defaultOptions: {},
name: 'Letter Case',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const milk = defineObject({
id: 'milk',
defaultOptions: {},
name: 'Milk',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const monitor = defineObject({
id: 'monitor',
defaultOptions: {},
name: 'Monitor',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const monstera = defineObject({
id: 'monstera',
defaultOptions: {},
name: 'Monstera',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -9,7 +9,11 @@ import { yuge } from '../utility.js';
export const mug = defineObject({
id: 'mug',
defaultOptions: {},
name: 'Mug',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: ({ room, root }) => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const openedCardboardBox = defineObject({
id: 'openedCardboardBox',
defaultOptions: {},
name: 'Opened Cardboard Box',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const pachira = defineObject({
id: 'pachira',
defaultOptions: {},
name: 'Pachira',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const plant = defineObject({
id: 'plant',
defaultOptions: {},
name: 'Plant',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const plant2 = defineObject({
id: 'plant2',
defaultOptions: {},
name: 'Plant 2',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const powerStrip = defineObject({
id: 'powerStrip',
defaultOptions: {},
name: 'Power Strip',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const rolledUpPoster = defineObject({
id: 'rolledUpPoster',
defaultOptions: {},
name: 'Rolled-up Poster',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const roundRug = defineObject({
id: 'roundRug',
defaultOptions: {},
name: 'Round Rug',
options: {
schema: {},
default: {},
},
placement: 'floor',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const snakeplant = defineObject({
id: 'snakeplant',
defaultOptions: {},
name: 'Snake Plant',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const steelRack = defineObject({
id: 'steelRack',
defaultOptions: {},
name: 'Steel Rack',
options: {
schema: {},
default: {},
},
placement: 'floor',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const tabletopCalendar = defineObject({
id: 'tabletopCalendar',
defaultOptions: {},
name: 'Tabletop Calendar',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const tv = defineObject({
id: 'tv',
defaultOptions: {},
name: 'TV',
options: {
schema: {},
default: {},
},
placement: 'top',
createInstance: () => {
return {

View File

@@ -8,7 +8,11 @@ import { defineObject } from '../engine.js';
export const wallClock = defineObject({
id: 'wallClock',
defaultOptions: {},
name: 'Wall Clock',
options: {
schema: {},
default: {},
},
placement: 'side',
createInstance: ({ room, root }) => {
return {

View File

@@ -14,7 +14,7 @@ export const wallShelf = defineObject({
style: {
type: 'enum',
label: 'Style',
enum: ['A', 'B'],
enum: ['A', 'B', 'C', 'D'],
},
boardStyle: {
type: 'enum',
@@ -37,6 +37,8 @@ export const wallShelf = defineObject({
const applyStyle = () => {
const aMeshes = root.getChildMeshes().filter(m => m.name.includes('__X_VARIATION_A__'));
const bMeshes = root.getChildMeshes().filter(m => m.name.includes('__X_VARIATION_B__'));
const cMeshes = root.getChildMeshes().filter(m => m.name.includes('__X_VARIATION_C__'));
const dMeshes = root.getChildMeshes().filter(m => m.name.includes('__X_VARIATION_D__'));
for (const m of aMeshes) {
(m as BABYLON.Mesh).setEnabled(options.style === 'A');
@@ -44,11 +46,17 @@ export const wallShelf = defineObject({
for (const m of bMeshes) {
(m as BABYLON.Mesh).setEnabled(options.style === 'B');
}
for (const m of cMeshes) {
(m as BABYLON.Mesh).setEnabled(options.style === 'C');
}
for (const m of dMeshes) {
(m as BABYLON.Mesh).setEnabled(options.style === 'D');
}
};
applyStyle();
const bodyMesh = root.getChildMeshes().find(m => m.name.includes('__X_BOARD__')) as BABYLON.Mesh;
const bodyMesh = root.getChildMeshes().find(m => m.name.includes('__X_BODY__')) as BABYLON.Mesh;
const bodyMaterial = bodyMesh.material as BABYLON.PBRMaterial;
const bodyTexture = bodyMaterial.albedoTexture as BABYLON.Texture;

View File

@@ -7,7 +7,11 @@ import { defineObject } from '../engine.js';
export const woodSoundAbsorbingPanel = defineObject({
id: 'woodSoundAbsorbingPanel',
defaultOptions: {},
name: 'Wood Sound Absorbing Panel',
options: {
schema: {},
default: {},
},
placement: 'side',
createInstance: () => {
return {