outline color is decided from particular system level
This commit is contained in:
parent
862c502bea
commit
72b4438d1e
@ -455,16 +455,16 @@ export abstract class Character extends Container implements OutlineableInterfac
|
||||
this.outlineColorStore.removeApiColor();
|
||||
}
|
||||
|
||||
public pointerOverOutline(): void {
|
||||
this.outlineColorStore.pointerOver();
|
||||
public pointerOverOutline(color: number): void {
|
||||
this.outlineColorStore.pointerOver(color);
|
||||
}
|
||||
|
||||
public pointerOutOutline(): void {
|
||||
this.outlineColorStore.pointerOut();
|
||||
}
|
||||
|
||||
public characterCloseByOutline(): void {
|
||||
this.outlineColorStore.characterCloseBy();
|
||||
public characterCloseByOutline(color: number): void {
|
||||
this.outlineColorStore.characterCloseBy(color);
|
||||
}
|
||||
|
||||
public characterFarAwayOutline(): void {
|
||||
|
@ -11,6 +11,8 @@ export class ActivatablesManager {
|
||||
|
||||
private currentPlayer: Player;
|
||||
|
||||
private readonly outlineColor = 0xffff00;
|
||||
|
||||
constructor(currentPlayer: Player) {
|
||||
this.currentPlayer = currentPlayer;
|
||||
}
|
||||
@ -27,7 +29,7 @@ export class ActivatablesManager {
|
||||
}
|
||||
this.selectedActivatableObjectByPointer = object;
|
||||
if (isOutlineable(this.selectedActivatableObjectByPointer)) {
|
||||
this.selectedActivatableObjectByPointer?.pointerOverOutline();
|
||||
this.selectedActivatableObjectByPointer?.pointerOverOutline(this.outlineColor);
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,7 +39,7 @@ export class ActivatablesManager {
|
||||
}
|
||||
this.selectedActivatableObjectByPointer = undefined;
|
||||
if (isOutlineable(this.selectedActivatableObjectByDistance)) {
|
||||
this.selectedActivatableObjectByDistance?.characterCloseByOutline();
|
||||
this.selectedActivatableObjectByDistance?.characterCloseByOutline(this.outlineColor);
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,7 +62,7 @@ export class ActivatablesManager {
|
||||
}
|
||||
this.selectedActivatableObjectByDistance = newNearestObject;
|
||||
if (isOutlineable(this.selectedActivatableObjectByDistance)) {
|
||||
this.selectedActivatableObjectByDistance?.characterCloseByOutline();
|
||||
this.selectedActivatableObjectByDistance?.characterCloseByOutline(this.outlineColor);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1737,6 +1737,12 @@ ${escapedMessage}
|
||||
emoteMenuStore.openEmoteMenu();
|
||||
}
|
||||
});
|
||||
this.CurrentPlayer.on(Phaser.Input.Events.POINTER_OVER, (pointer: Phaser.Input.Pointer) => {
|
||||
this.CurrentPlayer.pointerOverOutline(0x00ffff);
|
||||
});
|
||||
this.CurrentPlayer.on(Phaser.Input.Events.POINTER_OUT, (pointer: Phaser.Input.Pointer) => {
|
||||
this.CurrentPlayer.pointerOutOutline();
|
||||
});
|
||||
this.CurrentPlayer.on(requestEmoteEventName, (emoteKey: string) => {
|
||||
this.connection?.emitEmoteEvent(emoteKey);
|
||||
analyticsClient.launchEmote(emoteKey);
|
||||
|
@ -3,8 +3,8 @@ export interface OutlineableInterface {
|
||||
removeFollowOutlineColor(): void;
|
||||
setApiOutlineColor(color: number): void;
|
||||
removeApiOutlineColor(): void;
|
||||
pointerOverOutline(): void;
|
||||
pointerOverOutline(color: number): void;
|
||||
pointerOutOutline(): void;
|
||||
characterCloseByOutline(): void;
|
||||
characterCloseByOutline(color: number): void;
|
||||
characterFarAwayOutline(): void;
|
||||
}
|
||||
|
@ -5,38 +5,36 @@ export function createColorStore() {
|
||||
|
||||
let followColor: number | undefined = undefined;
|
||||
let apiColor: number | undefined = undefined;
|
||||
let pointedByPointer: number | undefined = undefined;
|
||||
let pointedByCharacter: number | undefined = undefined;
|
||||
|
||||
let pointedByPointer: boolean = false;
|
||||
let pointedByCharacter: boolean = false;
|
||||
|
||||
const updateColor = () => {
|
||||
if (pointedByPointer || pointedByCharacter) {
|
||||
set(0xffff00);
|
||||
} else {
|
||||
set(followColor ?? apiColor);
|
||||
}
|
||||
console.log('update color');
|
||||
console.log(pointedByPointer, pointedByCharacter, followColor, apiColor);
|
||||
set(pointedByPointer ?? pointedByCharacter ?? followColor ?? apiColor);
|
||||
};
|
||||
|
||||
return {
|
||||
subscribe,
|
||||
|
||||
pointerOver() {
|
||||
pointedByPointer = true;
|
||||
pointerOver(color: number) {
|
||||
pointedByPointer = color;
|
||||
updateColor();
|
||||
},
|
||||
|
||||
pointerOut() {
|
||||
pointedByPointer = false;
|
||||
pointedByPointer = undefined;
|
||||
updateColor();
|
||||
},
|
||||
|
||||
characterCloseBy() {
|
||||
pointedByCharacter = true;
|
||||
characterCloseBy(color: number) {
|
||||
pointedByCharacter = color;
|
||||
updateColor();
|
||||
},
|
||||
|
||||
characterFarAway() {
|
||||
pointedByCharacter = false;
|
||||
pointedByCharacter = undefined;
|
||||
updateColor();
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user