An error occurred while loading the file. Please try again.
-
Hannes Reichle authored
changed avatar selector at start of game made play-buttons in same design as other game stuff
56066425
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
SkribblAvatar.js 2.03 KiB
import { SkribblCanvasOverlay } from "./SkribblCanvas.js";
/**
* Custom element `<skribbl-avatar>` to remember how the player looks like and for configuration.
*/
export default class SkribblAvatar extends HTMLElement {
constructor(){
super();
this.attachShadow({mode:"open"});
this.shadowRoot.innerHTML = `
<style>
:host {
display: block;
position: relative;
overflow: hidden;
background: #ffffff;
border-radius: 5px;
}
.container-character{
border: 2px solid #777;
border-radius: 10px;
}
.character-eyes{
height: 34px;
width: 34px;
background:url("/res/MouthsAndEyes.png");
background-position: 10px 0;
}
.character-mouth{
height: 34px;
width: 34x;
background:url("/res/MouthsAndEyes.png");
background-position: 0px -52px;
}
</style>
<div class="container-character">
<div id="eyes" class="character-eyes" alt="CharacterLook"></div>
<div id="mouth" class="character-mouth" alt="CharacterLook"></div>
</div>
`;
this.eyesDisplacement = 10;
this.mouthDisplacement = 0;
}
/** @param {boolean} toTheRight */
changeEye(toTheRight) {
let displacement = 80;
if (toTheRight){
this.eyesDisplacement += displacement;
}else{
this.eyesDisplacement -= displacement;
}
const eye = this.shadowRoot.getElementById("eyes");
eye.style.backgroundPositionX = this.eyesDisplacement+"px";
}
/** @param {boolean} toTheRight */
changeMouth(toTheRight) {
let displacement = 80;
if (toTheRight){
this.mouthDisplacement += displacement;
}else{
this.mouthDisplacement -= displacement;
}
const mouth = this.shadowRoot.getElementById("mouth");
mouth.style.backgroundPositionX = this.mouthDisplacement+"px";
}
/** @param {string} unique_title */
getStyleSheet(unique_title) {
for(var i=0; i<document.styleSheets.length; i++) {
var sheet = document.styleSheets[i];
if(sheet.title == unique_title) {
return sheet;
}
}
}
}
customElements.define("skribbl-avatar",SkribblAvatar);