LiveAtlas/src/store/getters.ts

45 lines
1.3 KiB
TypeScript
Raw Normal View History

2020-11-23 16:16:26 +00:00
import {GetterTree} from "vuex";
import {State} from "@/store/state";
2020-12-10 02:22:29 +00:00
import Util from "@/util";
2020-11-23 16:16:26 +00:00
export type Getters = {
playerMarkersEnabled(state: State): boolean;
2020-12-01 23:20:38 +00:00
coordinatesControlEnabled(state: State): boolean;
clockControlEnabled(state: State): boolean;
2020-12-10 02:22:29 +00:00
night(state: State): boolean;
mapBackground(state: State, getters: GetterTree<State, State> & Getters): string;
2020-11-23 16:16:26 +00:00
}
export const getters: GetterTree<State, State> & Getters = {
playerMarkersEnabled(state: State): boolean {
return state.components.playerMarkers !== undefined;
2020-12-01 23:20:38 +00:00
},
coordinatesControlEnabled(state: State): boolean {
return state.components.coordinatesControl !== undefined;
},
clockControlEnabled(state: State): boolean {
return state.components.clockControl !== undefined;
2020-12-10 02:22:29 +00:00
},
night(state: State): boolean {
return Util.getMinecraftTime(state.currentWorldState.timeOfDay).night;
},
mapBackground(state: State): string {
if(!state.currentMap) {
return 'transparent';
}
if(state.currentMap.nightAndDay) {
if(Util.getMinecraftTime(state.currentWorldState.timeOfDay).night) {
2020-12-10 02:22:29 +00:00
return state.currentMap.backgroundNight || state.currentMap.background || 'transparent';
}
return state.currentMap.backgroundDay || state.currentMap.background || 'transparent';
}
return state.currentMap.background || 'transparent';
}
2020-11-23 16:16:26 +00:00
}