@dcl/ecs
Version:
Decentraland ECS
51 lines (50 loc) • 1.2 kB
JavaScript
import { Material } from '../generated/index.gen';
const TextureHelper = {
Common(texture) {
return {
tex: {
$case: 'texture',
texture
}
};
},
Avatar(avatarTexture) {
return {
tex: {
$case: 'avatarTexture',
avatarTexture
}
};
},
Video(videoTexture) {
return {
tex: {
$case: 'videoTexture',
videoTexture
}
};
}
};
export function defineMaterialComponent(engine) {
const theComponent = Material(engine);
return {
...theComponent,
Texture: TextureHelper,
setBasicMaterial(entity, material) {
theComponent.createOrReplace(entity, {
material: {
$case: 'unlit',
unlit: material
}
});
},
setPbrMaterial(entity, material) {
theComponent.createOrReplace(entity, {
material: {
$case: 'pbr',
pbr: material
}
});
}
};
}