aboutsummaryrefslogtreecommitdiff
path: root/features/settings
diff options
context:
space:
mode:
Diffstat (limited to 'features/settings')
-rw-r--r--features/settings/locationSettingHolder.js20
-rw-r--r--features/settings/settingThings/location.js4
2 files changed, 16 insertions, 8 deletions
diff --git a/features/settings/locationSettingHolder.js b/features/settings/locationSettingHolder.js
index 14256d3..af6f507 100644
--- a/features/settings/locationSettingHolder.js
+++ b/features/settings/locationSettingHolder.js
@@ -1,21 +1,25 @@
class LocationSettingHolder {
constructor() {
- this.data = [];
+ this.data = new Set();
}
- addLocationSetting(setting){
- this.data.push(setting)
+ addLocationSetting(setting) {
+ this.data.add(setting)
}
- getData(){
- return this.data
+ removeLocationSetting(setting) {
+ this.data.delete(setting)
+ }
+
+ getData() {
+ return [...this.data]
}
}
-if(!global.LocationSettingHolder){
+if (!global.LocationSettingHolder) {
global.LocationSettingHolder = new LocationSettingHolder();
-
- register("gameUnload", ()=>{
+
+ register("gameUnload", () => {
global.LocationSettingHolder = undefined
})
}
diff --git a/features/settings/settingThings/location.js b/features/settings/settingThings/location.js
index 9cd13af..c9587eb 100644
--- a/features/settings/settingThings/location.js
+++ b/features/settings/settingThings/location.js
@@ -146,6 +146,10 @@ class LocationSetting extends ButtonSetting {
return this
}
+ delete() {
+ locationSettingHolder.removeLocationSetting(this)
+ }
+
_updateValue() {
this.setValue([this.x, this.y, this.scale, this.shadowType])
if (this.onChange) this.onChange()