Improve resources sending

Configure rounding values and postpone timeout
This commit is contained in:
2020-05-17 22:16:01 +03:00
parent 0625abd4eb
commit 3b34e06a7d
7 changed files with 90 additions and 14 deletions

View File

@ -14,6 +14,7 @@ export enum Mutations {
SetVillageSettings = 'set_village_settings',
UpdateVillageSendResourceThreshold = 'UpdateVillageSendResourceThreshold',
UpdateVillageSendResourceTimeout = 'UpdateVillageSendResourceTimeout',
UpdateVillageSendResourcesMultiplier = 'UpdateVillageSendResourcesMultiplier',
}
export enum Actions {
@ -34,6 +35,7 @@ export function createStore(villageStateRepository: VillageStateRepository) {
villageName: '',
sendResourcesThreshold: 0,
sendResourcesTimeout: 0,
sendResourcesMultiplier: 0,
},
},
getters: {
@ -66,6 +68,9 @@ export function createStore(villageStateRepository: VillageStateRepository) {
[Mutations.UpdateVillageSendResourceTimeout](state, value) {
state.villageSettings.sendResourcesTimeout = getNumber(value);
},
[Mutations.UpdateVillageSendResourcesMultiplier](state, value) {
state.villageSettings.sendResourcesMultiplier = getNumber(value);
},
},
actions: {
[Actions.OpenVillageEditor]({ commit }, { villageId }) {
@ -76,6 +81,7 @@ export function createStore(villageStateRepository: VillageStateRepository) {
villageName: state.village.name,
sendResourcesThreshold: settings.sendResourcesThreshold,
sendResourcesTimeout: settings.sendResourcesTimeout,
sendResourcesMultiplier: settings.sendResourcesMultiplier,
});
commit(Mutations.ToggleVillageEditor, true);
},
@ -87,6 +93,9 @@ export function createStore(villageStateRepository: VillageStateRepository) {
state.villageSettings.sendResourcesThreshold || VillageSettingsDefaults.sendResourcesThreshold,
sendResourcesTimeout:
state.villageSettings.sendResourcesTimeout || VillageSettingsDefaults.sendResourcesTimeout,
sendResourcesMultiplier:
state.villageSettings.sendResourcesMultiplier ||
VillageSettingsDefaults.sendResourcesMultiplier,
};
const storage = new VillageStorage(villageId);
storage.storeSettings(newSettings);

View File

@ -13,6 +13,10 @@
<label class="label" title="Таймаут отправки (мин)">Таймаут отправки (мин)</label>
<input class="input" type="text" v-model="sendResourcesTimeout" />
</div>
<div class="form-input">
<label class="label" title="Множитель отправки (up to)">Множитель отправки (up to)</label>
<input class="input" type="text" v-model="sendResourcesMultiplier" />
</div>
<div class="form-actions">
<button class="btn">Сохранить</button>
</div>
@ -45,6 +49,14 @@ export default {
this.$store.commit(Mutations.UpdateVillageSendResourceTimeout, value);
},
},
sendResourcesMultiplier: {
get() {
return this.$store.state.villageSettings.sendResourcesMultiplier;
},
set(value) {
this.$store.commit(Mutations.UpdateVillageSendResourcesMultiplier, value);
},
},
},
methods: {
close() {

View File

@ -231,14 +231,13 @@ export default {
villageHint(villageState) {
const id = villageState.id;
const name = villageState.village.name;
const timeout = villageState.settings.sendResourcesTimeout;
const threshold = villageState.settings.sendResourcesThreshold;
return `${name}, ${id}, отправка ${timeout} мин, порог ${threshold}`;
return `${name}, ${id}`;
},
villageStatus(villageState) {
const timeout = villageState.settings.sendResourcesTimeout;
const threshold = villageState.settings.sendResourcesThreshold;
return `отправка ${timeout} мин, порог ${threshold}`;
const multiplier = villageState.settings.sendResourcesMultiplier;
return `отправка ${timeout} мин, порог ${threshold}, множ. ${multiplier}`;
},
path(name, args) {
return path(name, args);