warscript 0.0.1-dev.8717dbb → 0.0.1-dev.87bdb89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/attributes.d.ts +17 -0
- package/attributes.lua +23 -0
- package/binaryreader.d.ts +1 -0
- package/binaryreader.lua +3 -0
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/types/effect.d.ts +14 -6
- package/core/types/effect.lua +131 -35
- package/core/types/frame.d.ts +8 -1
- package/core/types/frame.lua +93 -1
- package/core/types/group.d.ts +0 -1
- package/core/types/handle.d.ts +2 -1
- package/core/types/handle.lua +5 -0
- package/core/types/image.d.ts +0 -1
- package/core/types/missile.d.ts +2 -2
- package/core/types/missile.lua +8 -2
- package/core/types/order.d.ts +1 -0
- package/core/types/order.lua +11 -1
- package/core/types/sound.d.ts +17 -24
- package/core/types/sound.lua +99 -24
- package/core/types/timer.d.ts +6 -7
- package/core/types/timer.lua +18 -21
- package/core/types/unit.lua +8 -0
- package/core/util.d.ts +1 -1
- package/core/util.lua +18 -1
- package/decl/index.d.ts +1 -0
- package/decl/native.d.ts +840 -786
- package/engine/ability.d.ts +1 -1
- package/engine/behavior.d.ts +10 -10
- package/engine/behavior.lua +6 -6
- package/engine/behaviour/ability/always-enabled.d.ts +7 -0
- package/engine/behaviour/ability/always-enabled.lua +31 -0
- package/engine/behaviour/ability/apply-buff.d.ts +8 -5
- package/engine/behaviour/ability/apply-buff.lua +32 -0
- package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
- package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
- package/engine/behaviour/ability/damage.d.ts +39 -11
- package/engine/behaviour/ability/damage.lua +83 -37
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +42 -0
- package/engine/behaviour/ability/heal.d.ts +33 -6
- package/engine/behaviour/ability/heal.lua +89 -10
- package/engine/behaviour/ability/instant-impact.d.ts +2 -2
- package/engine/behaviour/ability/instant-impact.lua +4 -15
- package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
- package/engine/behaviour/ability/on-command-impact.lua +25 -0
- package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
- package/engine/behaviour/ability/remove-buffs.lua +28 -0
- package/engine/behaviour/ability/restore-mana.d.ts +15 -0
- package/engine/behaviour/ability/restore-mana.lua +29 -0
- package/engine/behaviour/ability.d.ts +27 -4
- package/engine/behaviour/ability.lua +153 -18
- package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
- package/engine/behaviour/unit.d.ts +25 -2
- package/engine/behaviour/unit.lua +137 -0
- package/engine/buff.d.ts +103 -41
- package/engine/buff.lua +465 -212
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/internal/ability.d.ts +20 -13
- package/engine/internal/ability.lua +97 -76
- package/engine/internal/item/ability.lua +112 -4
- package/engine/internal/item+owner.lua +2 -2
- package/engine/internal/item.d.ts +7 -4
- package/engine/internal/item.lua +131 -28
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
- package/engine/internal/misc/ability-disable-counter.lua +13 -0
- package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
- package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
- package/engine/internal/object-data/evasion-probability.d.ts +2 -0
- package/engine/internal/object-data/evasion-probability.lua +16 -0
- package/engine/internal/unit/ability.d.ts +15 -1
- package/engine/internal/unit/ability.lua +50 -14
- package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
- package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot.lua +52 -0
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/bonus.d.ts +11 -8
- package/engine/internal/unit/bonus.lua +23 -1
- package/engine/internal/unit/ignore-events-items.d.ts +2 -0
- package/engine/internal/unit/ignore-events-items.lua +5 -0
- package/engine/internal/unit/item.d.ts +24 -0
- package/engine/internal/unit/item.lua +78 -0
- package/engine/internal/unit/main-selected.d.ts +13 -0
- package/engine/internal/unit/main-selected.lua +51 -0
- package/engine/internal/unit+ability.lua +2 -2
- package/engine/internal/unit+damage.d.ts +2 -11
- package/engine/internal/unit+damage.lua +10 -14
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit+transport.lua +4 -10
- package/engine/internal/unit-missile-launch.lua +25 -6
- package/engine/internal/unit.d.ts +84 -19
- package/engine/internal/unit.lua +540 -167
- package/engine/internal/utility.lua +12 -0
- package/engine/lightning.d.ts +12 -5
- package/engine/lightning.lua +48 -14
- package/engine/local-client.d.ts +7 -2
- package/engine/local-client.lua +82 -0
- package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
- package/engine/object-data/auxiliary/animation-name.lua +16 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
- package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
- package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
- package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
- package/engine/object-data/auxiliary/movement-type.lua +22 -0
- package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
- package/engine/object-data/auxiliary/sound-eax.lua +2 -0
- package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
- package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
- package/engine/object-data/entry/ability-type/berserk.lua +13 -0
- package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
- package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
- package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
- package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
- package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
- package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
- package/engine/object-data/entry/ability-type/mine.lua +39 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
- package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
- package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
- package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
- package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
- package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
- package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
- package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
- package/engine/object-data/entry/ability-type/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -0
- package/engine/object-data/entry/ability-type.d.ts +19 -18
- package/engine/object-data/entry/ability-type.lua +89 -33
- package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
- package/engine/object-data/entry/buff-type/applicable.lua +18 -37
- package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
- package/engine/object-data/entry/buff-type.d.ts +6 -13
- package/engine/object-data/entry/buff-type.lua +13 -29
- package/engine/object-data/entry/destructible-type.d.ts +1 -2
- package/engine/object-data/entry/item-type/blank.d.ts +0 -1
- package/engine/object-data/entry/item-type.d.ts +15 -2
- package/engine/object-data/entry/item-type.lua +93 -2
- package/engine/object-data/entry/lightning-type.d.ts +1 -2
- package/engine/object-data/entry/sound-preset.d.ts +33 -0
- package/engine/object-data/entry/sound-preset.lua +140 -0
- package/engine/object-data/entry/unit-type.d.ts +47 -5
- package/engine/object-data/entry/unit-type.lua +421 -74
- package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
- package/engine/object-data/entry/upgrade.d.ts +1 -2
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +18 -17
- package/engine/object-data/entry.lua +60 -32
- package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
- package/engine/object-field/ability.d.ts +26 -3
- package/engine/object-field/ability.lua +54 -1
- package/engine/object-field/unit.d.ts +46 -3
- package/engine/object-field/unit.lua +173 -7
- package/engine/object-field.d.ts +15 -7
- package/engine/object-field.lua +178 -81
- package/engine/random.d.ts +1 -0
- package/engine/random.lua +9 -0
- package/engine/standard/entries/buff-type.d.ts +3 -0
- package/engine/standard/entries/buff-type.lua +3 -0
- package/engine/standard/entries/sound-preset.d.ts +10 -0
- package/engine/standard/entries/sound-preset.lua +10 -0
- package/engine/standard/entries/unit-type.d.ts +39 -1
- package/engine/standard/entries/unit-type.lua +39 -1
- package/engine/standard/fields/ability.d.ts +3 -1
- package/engine/standard/fields/ability.lua +3 -1
- package/engine/text-tag.d.ts +12 -1
- package/engine/text-tag.lua +44 -10
- package/engine/unit.d.ts +3 -0
- package/engine/unit.lua +12 -2
- package/event.d.ts +2 -3
- package/event.lua +9 -5
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/lualib_bundle.lua +146 -42
- package/math/vec2.d.ts +2 -9
- package/math.d.ts +0 -2
- package/net/socket.d.ts +7 -1
- package/net/socket.lua +45 -4
- package/network.d.ts +1 -0
- package/network.lua +3 -2
- package/objutil/ability.d.ts +0 -1
- package/objutil/buff.d.ts +0 -1
- package/objutil/buff.lua +2 -3
- package/objutil/object.d.ts +0 -1
- package/objutil/unit.d.ts +0 -1
- package/objutil/unit.lua +8 -0
- package/package.json +13 -14
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +10 -0
- package/property.d.ts +55 -0
- package/property.lua +374 -0
- package/string.d.ts +30 -0
- package/string.lua +14 -0
- package/util/stream.d.ts +0 -1
- package/utility/arrays.d.ts +12 -5
- package/utility/arrays.lua +37 -3
- package/utility/bit-set.d.ts +0 -2
- package/utility/functions.d.ts +1 -0
- package/utility/functions.lua +1 -0
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-set.d.ts +12 -3
- package/utility/linked-set.lua +8 -2
- package/utility/lua-maps.d.ts +4 -2
- package/utility/lua-maps.lua +16 -0
- package/utility/lua-sets.d.ts +2 -2
- package/utility/lua-sets.lua +3 -0
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +1 -0
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
|
@@ -2,11 +2,22 @@ local ____lualib = require("lualib_bundle")
|
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
4
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
5
6
|
local ____exports = {}
|
|
6
7
|
local ____unit = require("engine.internal.unit")
|
|
7
8
|
local Unit = ____unit.Unit
|
|
8
9
|
local ____object_2Dfield = require("engine.object-field")
|
|
9
10
|
local ObjectField = ____object_2Dfield.ObjectField
|
|
11
|
+
local ObjectLevelField = ____object_2Dfield.ObjectLevelField
|
|
12
|
+
local ____linked_2Dset = require("utility.linked-set")
|
|
13
|
+
local nonEmptyLinkedSetOf = ____linked_2Dset.nonEmptyLinkedSetOf
|
|
14
|
+
local convertUnitBooleanField = ConvertUnitBooleanField
|
|
15
|
+
local convertUnitIntegerField = ConvertUnitIntegerField
|
|
16
|
+
local convertUnitRealField = ConvertUnitRealField
|
|
17
|
+
local convertUnitStringField = ConvertUnitStringField
|
|
18
|
+
local convertUnitWeaponIntegerField = ConvertUnitWeaponIntegerField
|
|
19
|
+
local getUnitWeaponIntegerField = BlzGetUnitWeaponIntegerField
|
|
20
|
+
local setUnitWeaponIntegerField = BlzSetUnitWeaponIntegerField
|
|
10
21
|
____exports.UnitField = __TS__Class()
|
|
11
22
|
local UnitField = ____exports.UnitField
|
|
12
23
|
UnitField.name = "UnitField"
|
|
@@ -14,6 +25,9 @@ __TS__ClassExtends(UnitField, ObjectField)
|
|
|
14
25
|
function UnitField.prototype.getObjectDataEntryId(self, instance)
|
|
15
26
|
return instance.typeId
|
|
16
27
|
end
|
|
28
|
+
function UnitField.prototype.hasNativeFieldValue(self)
|
|
29
|
+
return true
|
|
30
|
+
end
|
|
17
31
|
__TS__SetDescriptor(
|
|
18
32
|
UnitField.prototype,
|
|
19
33
|
"instanceClass",
|
|
@@ -22,22 +36,79 @@ __TS__SetDescriptor(
|
|
|
22
36
|
end},
|
|
23
37
|
true
|
|
24
38
|
)
|
|
39
|
+
____exports.UnitBooleanField = __TS__Class()
|
|
40
|
+
local UnitBooleanField = ____exports.UnitBooleanField
|
|
41
|
+
UnitBooleanField.name = "UnitBooleanField"
|
|
42
|
+
__TS__ClassExtends(UnitBooleanField, ____exports.UnitField)
|
|
43
|
+
function UnitBooleanField.prototype.getNativeFieldById(self, id)
|
|
44
|
+
return convertUnitBooleanField(id)
|
|
45
|
+
end
|
|
46
|
+
function UnitBooleanField.prototype.getNativeFieldValue(self, instance)
|
|
47
|
+
return instance:getField(self.nativeField)
|
|
48
|
+
end
|
|
49
|
+
function UnitBooleanField.prototype.setNativeFieldValue(self, instance, value)
|
|
50
|
+
return instance:setField(self.nativeField, value)
|
|
51
|
+
end
|
|
52
|
+
__TS__SetDescriptor(
|
|
53
|
+
UnitBooleanField.prototype,
|
|
54
|
+
"defaultValue",
|
|
55
|
+
{get = function(self)
|
|
56
|
+
return false
|
|
57
|
+
end},
|
|
58
|
+
true
|
|
59
|
+
)
|
|
60
|
+
____exports.UnitFloatField = __TS__Class()
|
|
61
|
+
local UnitFloatField = ____exports.UnitFloatField
|
|
62
|
+
UnitFloatField.name = "UnitFloatField"
|
|
63
|
+
__TS__ClassExtends(UnitFloatField, ____exports.UnitField)
|
|
64
|
+
function UnitFloatField.prototype.getNativeFieldById(self, id)
|
|
65
|
+
return convertUnitRealField(id)
|
|
66
|
+
end
|
|
67
|
+
function UnitFloatField.prototype.getNativeFieldValue(self, instance)
|
|
68
|
+
return instance:getField(self.nativeField)
|
|
69
|
+
end
|
|
70
|
+
function UnitFloatField.prototype.setNativeFieldValue(self, instance, value)
|
|
71
|
+
return instance:setField(self.nativeField, value)
|
|
72
|
+
end
|
|
73
|
+
__TS__SetDescriptor(
|
|
74
|
+
UnitFloatField.prototype,
|
|
75
|
+
"defaultValue",
|
|
76
|
+
{get = function(self)
|
|
77
|
+
return 0
|
|
78
|
+
end},
|
|
79
|
+
true
|
|
80
|
+
)
|
|
81
|
+
____exports.UnitIntegerField = __TS__Class()
|
|
82
|
+
local UnitIntegerField = ____exports.UnitIntegerField
|
|
83
|
+
UnitIntegerField.name = "UnitIntegerField"
|
|
84
|
+
__TS__ClassExtends(UnitIntegerField, ____exports.UnitField)
|
|
85
|
+
function UnitIntegerField.prototype.getNativeFieldById(self, id)
|
|
86
|
+
return convertUnitIntegerField(id)
|
|
87
|
+
end
|
|
88
|
+
function UnitIntegerField.prototype.getNativeFieldValue(self, instance)
|
|
89
|
+
return instance:getField(self.nativeField)
|
|
90
|
+
end
|
|
91
|
+
function UnitIntegerField.prototype.setNativeFieldValue(self, instance, value)
|
|
92
|
+
return instance:setField(self.nativeField, value)
|
|
93
|
+
end
|
|
94
|
+
__TS__SetDescriptor(
|
|
95
|
+
UnitIntegerField.prototype,
|
|
96
|
+
"defaultValue",
|
|
97
|
+
{get = function(self)
|
|
98
|
+
return 0
|
|
99
|
+
end},
|
|
100
|
+
true
|
|
101
|
+
)
|
|
25
102
|
____exports.UnitStringField = __TS__Class()
|
|
26
103
|
local UnitStringField = ____exports.UnitStringField
|
|
27
104
|
UnitStringField.name = "UnitStringField"
|
|
28
105
|
__TS__ClassExtends(UnitStringField, ____exports.UnitField)
|
|
29
106
|
function UnitStringField.prototype.getNativeFieldById(self, id)
|
|
30
|
-
return
|
|
31
|
-
end
|
|
32
|
-
function UnitStringField.prototype.hasNativeFieldValue(self)
|
|
33
|
-
return true
|
|
107
|
+
return convertUnitStringField(id)
|
|
34
108
|
end
|
|
35
109
|
function UnitStringField.prototype.getNativeFieldValue(self, instance)
|
|
36
110
|
return instance:getField(self.nativeField)
|
|
37
111
|
end
|
|
38
|
-
function UnitStringField.prototype.getObjectDataEntryId(self, instance)
|
|
39
|
-
return instance.typeId
|
|
40
|
-
end
|
|
41
112
|
function UnitStringField.prototype.setNativeFieldValue(self, instance, value)
|
|
42
113
|
return instance:setField(self.nativeField, value)
|
|
43
114
|
end
|
|
@@ -49,4 +120,99 @@ __TS__SetDescriptor(
|
|
|
49
120
|
end},
|
|
50
121
|
true
|
|
51
122
|
)
|
|
123
|
+
____exports.UnitWeaponField = __TS__Class()
|
|
124
|
+
local UnitWeaponField = ____exports.UnitWeaponField
|
|
125
|
+
UnitWeaponField.name = "UnitWeaponField"
|
|
126
|
+
__TS__ClassExtends(UnitWeaponField, ObjectLevelField)
|
|
127
|
+
function UnitWeaponField.prototype.getLevelCount(self)
|
|
128
|
+
return 2
|
|
129
|
+
end
|
|
130
|
+
function UnitWeaponField.prototype.getObjectDataEntryId(self, instance)
|
|
131
|
+
return instance.typeId
|
|
132
|
+
end
|
|
133
|
+
function UnitWeaponField.prototype.hasNativeFieldValue(self)
|
|
134
|
+
return true
|
|
135
|
+
end
|
|
136
|
+
__TS__SetDescriptor(
|
|
137
|
+
UnitWeaponField.prototype,
|
|
138
|
+
"instanceClass",
|
|
139
|
+
{get = function(self)
|
|
140
|
+
return Unit
|
|
141
|
+
end},
|
|
142
|
+
true
|
|
143
|
+
)
|
|
144
|
+
__TS__ObjectDefineProperty(
|
|
145
|
+
UnitWeaponField,
|
|
146
|
+
"valueChangeEvent",
|
|
147
|
+
{get = function(self)
|
|
148
|
+
return self:getOrCreateValueChangeEvent()
|
|
149
|
+
end}
|
|
150
|
+
)
|
|
151
|
+
____exports.UnitNumberWeaponField = __TS__Class()
|
|
152
|
+
local UnitNumberWeaponField = ____exports.UnitNumberWeaponField
|
|
153
|
+
UnitNumberWeaponField.name = "UnitNumberWeaponField"
|
|
154
|
+
__TS__ClassExtends(UnitNumberWeaponField, ____exports.UnitWeaponField)
|
|
155
|
+
__TS__SetDescriptor(
|
|
156
|
+
UnitNumberWeaponField.prototype,
|
|
157
|
+
"defaultValue",
|
|
158
|
+
{get = function(self)
|
|
159
|
+
return 0
|
|
160
|
+
end},
|
|
161
|
+
true
|
|
162
|
+
)
|
|
163
|
+
__TS__ObjectDefineProperty(
|
|
164
|
+
UnitNumberWeaponField,
|
|
165
|
+
"valueChangeEvent",
|
|
166
|
+
{get = function(self)
|
|
167
|
+
return self:getOrCreateValueChangeEvent()
|
|
168
|
+
end}
|
|
169
|
+
)
|
|
170
|
+
____exports.UnitEnumWeaponField = __TS__Class()
|
|
171
|
+
local UnitEnumWeaponField = ____exports.UnitEnumWeaponField
|
|
172
|
+
UnitEnumWeaponField.name = "UnitEnumWeaponField"
|
|
173
|
+
__TS__ClassExtends(UnitEnumWeaponField, ____exports.UnitWeaponField)
|
|
174
|
+
function UnitEnumWeaponField.prototype.getNativeFieldById(self, id)
|
|
175
|
+
return convertUnitWeaponIntegerField(id)
|
|
176
|
+
end
|
|
177
|
+
function UnitEnumWeaponField.prototype.getNativeFieldValue(self, instance, index)
|
|
178
|
+
local value = getUnitWeaponIntegerField(instance.handle, self.nativeField, index)
|
|
179
|
+
if self.values:contains(value) then
|
|
180
|
+
return value
|
|
181
|
+
end
|
|
182
|
+
return self.values:first()
|
|
183
|
+
end
|
|
184
|
+
function UnitEnumWeaponField.prototype.setNativeFieldValue(self, instance, index, value)
|
|
185
|
+
return setUnitWeaponIntegerField(instance.handle, self.nativeField, index, value)
|
|
186
|
+
end
|
|
187
|
+
__TS__SetDescriptor(
|
|
188
|
+
UnitEnumWeaponField.prototype,
|
|
189
|
+
"defaultValue",
|
|
190
|
+
{get = function(self)
|
|
191
|
+
return self.values:first()
|
|
192
|
+
end},
|
|
193
|
+
true
|
|
194
|
+
)
|
|
195
|
+
__TS__ObjectDefineProperty(
|
|
196
|
+
UnitEnumWeaponField,
|
|
197
|
+
"valueChangeEvent",
|
|
198
|
+
{get = function(self)
|
|
199
|
+
return self:getOrCreateValueChangeEvent()
|
|
200
|
+
end}
|
|
201
|
+
)
|
|
202
|
+
____exports.UnitAttackTypeWeaponField = __TS__Class()
|
|
203
|
+
local UnitAttackTypeWeaponField = ____exports.UnitAttackTypeWeaponField
|
|
204
|
+
UnitAttackTypeWeaponField.name = "UnitAttackTypeWeaponField"
|
|
205
|
+
__TS__ClassExtends(UnitAttackTypeWeaponField, ____exports.UnitEnumWeaponField)
|
|
206
|
+
function UnitAttackTypeWeaponField.prototype.____constructor(self, ...)
|
|
207
|
+
UnitAttackTypeWeaponField.____super.prototype.____constructor(self, ...)
|
|
208
|
+
self.values = nonEmptyLinkedSetOf(
|
|
209
|
+
1,
|
|
210
|
+
2,
|
|
211
|
+
3,
|
|
212
|
+
0,
|
|
213
|
+
5,
|
|
214
|
+
4,
|
|
215
|
+
6
|
|
216
|
+
)
|
|
217
|
+
end
|
|
52
218
|
return ____exports
|
package/engine/object-field.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@typescript-to-lua/language-extensions" />
|
|
2
1
|
/** @noSelfInFile */
|
|
3
2
|
import { DispatchingEvent } from "../event";
|
|
4
3
|
import { AbstractConstructor } from "../utility/types";
|
|
@@ -6,9 +5,10 @@ import { ObjectDataEntry, ObjectDataEntryIdType, ObjectDataEntryLevelFieldValueS
|
|
|
6
5
|
export type ObjectFieldId = number & {
|
|
7
6
|
readonly __objectDataEntryFieldId: unique symbol;
|
|
8
7
|
};
|
|
9
|
-
export type ObjectFieldConstructor<T extends ObjectFieldBase<any, any, any, any>> = OmitConstructor<typeof ObjectFieldBase> & (new (id: number) => T);
|
|
8
|
+
export type ObjectFieldConstructor<T extends ObjectFieldBase<any, any, any, any>> = OmitConstructor<typeof ObjectFieldBase> & (new (id: number, isGlobal?: boolean) => T);
|
|
10
9
|
export type ObjectFieldAbstractConstructor<T extends ObjectFieldBase<any, any, any, any>> = OmitConstructor<typeof ObjectFieldBase> & (abstract new (id: number) => T);
|
|
11
10
|
declare abstract class ObjectFieldBase<ObjectDataEntryType extends ObjectDataEntry, InstanceType extends AnyNotNil, ValueType, NativeFieldType> {
|
|
11
|
+
readonly isGlobal: boolean;
|
|
12
12
|
protected abstract readonly instanceClass: AbstractConstructor<InstanceType> | Function;
|
|
13
13
|
supports(instance: AnyNotNil): instance is InstanceType & {
|
|
14
14
|
readonly __oneSidedTypeGuard: unique symbol;
|
|
@@ -17,8 +17,10 @@ declare abstract class ObjectFieldBase<ObjectDataEntryType extends ObjectDataEnt
|
|
|
17
17
|
readonly id: ObjectFieldId;
|
|
18
18
|
protected abstract getNativeFieldById(id: number): NativeFieldType;
|
|
19
19
|
protected abstract getObjectDataEntryId(instance: InstanceType): ObjectDataEntryIdType<ObjectDataEntryType>;
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
protected abstract hasNativeFieldValue(instance: InstanceType): boolean;
|
|
21
|
+
hasValue(instance: InstanceType): boolean;
|
|
22
|
+
constructor(id: number, isGlobal?: boolean);
|
|
23
|
+
static create<T extends ObjectFieldBase<any, any, any, any>>(this: ObjectFieldConstructor<T>, id?: number, isGlobal?: boolean): T & symbol;
|
|
22
24
|
static of<T extends ObjectFieldBase<any, any, any, any>>(this: ObjectFieldAbstractConstructor<T>, id: number): T | undefined;
|
|
23
25
|
}
|
|
24
26
|
export type ObjectFieldValueChangeEvent<T extends ObjectField<any, any, any, any> | ReadonlyObjectFieldType<ObjectField<any, any, any, any>>> = T extends ObjectField<any, infer InstanceType, infer ValueType, any> ? DispatchingEvent<[
|
|
@@ -34,15 +36,22 @@ export type ObjectFieldValueChangeEvent<T extends ObjectField<any, any, any, any
|
|
|
34
36
|
]> : never;
|
|
35
37
|
export type ReadonlyObjectFieldType<T extends ObjectField<any, any, any, any>> = Omit<T, "setValue" | "removeValue" | "trySetValue">;
|
|
36
38
|
type ReadonlyObjectFieldConstructor<T extends ObjectField> = OmitConstructor<typeof ObjectField> & (abstract new (...args: any[]) => ReadonlyObjectFieldType<T>);
|
|
39
|
+
type ObjectFieldModifier<InstanceType extends AnyNotNil, ValueType extends number | string | boolean> = (instance: InstanceType, currentValue: ValueType, originalValue: ValueType) => ValueType;
|
|
37
40
|
export declare abstract class ObjectField<ObjectDataEntryType extends ObjectDataEntry = ObjectDataEntry, InstanceType extends AnyNotNil = AnyNotNil, ValueType extends number | string | boolean = number | string | boolean, NativeFieldType = unknown> extends ObjectFieldBase<ObjectDataEntryType, InstanceType, ValueType, NativeFieldType> {
|
|
38
41
|
protected abstract readonly defaultValue: ValueType;
|
|
39
|
-
protected abstract hasNativeFieldValue(instance: InstanceType): boolean;
|
|
40
42
|
protected abstract getNativeFieldValue(instance: InstanceType): ValueType;
|
|
41
43
|
protected abstract setNativeFieldValue(instance: InstanceType, value: ValueType): boolean;
|
|
42
|
-
|
|
44
|
+
private originalValueByInstance?;
|
|
45
|
+
private modifiersByInstance?;
|
|
46
|
+
getValue(entry: ObjectDataEntryType | InstanceType, includeModifiers?: boolean): ValueType;
|
|
43
47
|
setValue(entry: ObjectDataEntryType | InstanceType, value: ValueType): boolean;
|
|
48
|
+
applyModifier(instance: InstanceType, modifier: ObjectFieldModifier<InstanceType, ValueType>): void;
|
|
49
|
+
removeModifier(instance: InstanceType, modifier: ObjectFieldModifier<InstanceType, ValueType>): boolean;
|
|
44
50
|
removeValue(entry: ObjectDataEntryType): boolean;
|
|
45
51
|
trySetValue(entry: ObjectDataEntryType | InstanceType, value: unknown): boolean;
|
|
52
|
+
private getActualValue;
|
|
53
|
+
private setActualValue;
|
|
54
|
+
private calculateActualValue;
|
|
46
55
|
private invokeValueChangeEvent;
|
|
47
56
|
private invokeValueChangeEventRecursive;
|
|
48
57
|
protected static getOrCreateValueChangeEvent<T extends ObjectField, R extends ReadonlyObjectFieldType<T>>(this: ReadonlyObjectFieldConstructor<T>): ObjectFieldValueChangeEvent<R>;
|
|
@@ -72,7 +81,6 @@ export declare abstract class ObjectArrayField<ObjectDataEntryType extends Objec
|
|
|
72
81
|
}
|
|
73
82
|
export declare abstract class ObjectLevelField<ObjectDataEntryType extends ObjectDataEntry = ObjectDataEntry, InstanceType extends AnyNotNil = AnyNotNil, ValueType extends number | string | boolean = number | string | boolean, InputValueType extends ValueType = never, NativeFieldType = unknown> extends ObjectFieldBase<ObjectDataEntryType, InstanceType, ValueType[], NativeFieldType> {
|
|
74
83
|
protected abstract readonly defaultValue: ValueType;
|
|
75
|
-
protected abstract hasNativeFieldValue(instance: InstanceType): boolean;
|
|
76
84
|
protected abstract getNativeFieldValue(instance: InstanceType, level: number): ValueType;
|
|
77
85
|
protected abstract setNativeFieldValue(instance: InstanceType, level: number, value: ValueType): boolean;
|
|
78
86
|
protected abstract getLevelCount(entry: ObjectDataEntryType | InstanceType): number;
|
package/engine/object-field.lua
CHANGED
|
@@ -20,6 +20,13 @@ local extractObjectDataEntryLevelFieldValue = ____entry.extractObjectDataEntryLe
|
|
|
20
20
|
local ObjectDataEntry = ____entry.ObjectDataEntry
|
|
21
21
|
local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
|
|
22
22
|
local ObjectDataEntryIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.ObjectDataEntryIdGenerator
|
|
23
|
+
local ____linked_2Dset = require("utility.linked-set")
|
|
24
|
+
local mutableLinkedSet = ____linked_2Dset.mutableLinkedSet
|
|
25
|
+
local ____lua_2Dmaps = require("utility.lua-maps")
|
|
26
|
+
local getOrPut = ____lua_2Dmaps.getOrPut
|
|
27
|
+
local mutableWeakLuaMap = ____lua_2Dmaps.mutableWeakLuaMap
|
|
28
|
+
local ____arrays = require("utility.arrays")
|
|
29
|
+
local emptyArray = ____arrays.emptyArray
|
|
23
30
|
local compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId = {}
|
|
24
31
|
local defaultValueByObjectDataEntryIdByObjectFieldId = postcompile(function() return compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId end)
|
|
25
32
|
local objectFieldById = {}
|
|
@@ -29,7 +36,11 @@ local idGenerator = __TS__New(
|
|
|
29
36
|
)
|
|
30
37
|
local ObjectFieldBase = __TS__Class()
|
|
31
38
|
ObjectFieldBase.name = "ObjectFieldBase"
|
|
32
|
-
function ObjectFieldBase.prototype.____constructor(self, id)
|
|
39
|
+
function ObjectFieldBase.prototype.____constructor(self, id, isGlobal)
|
|
40
|
+
if isGlobal == nil then
|
|
41
|
+
isGlobal = true
|
|
42
|
+
end
|
|
43
|
+
self.isGlobal = isGlobal
|
|
33
44
|
self.valueByInstance = setmetatable({}, {__mode = "k"})
|
|
34
45
|
if objectFieldById[id] ~= nil then
|
|
35
46
|
error(
|
|
@@ -46,10 +57,15 @@ end
|
|
|
46
57
|
function ObjectFieldBase.prototype.supports(self, instance)
|
|
47
58
|
return __TS__InstanceOf(instance, self.instanceClass)
|
|
48
59
|
end
|
|
49
|
-
function ObjectFieldBase.
|
|
60
|
+
function ObjectFieldBase.prototype.hasValue(self, instance)
|
|
61
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
62
|
+
return self.isGlobal or defaultValueByObjectDataEntryId ~= nil and defaultValueByObjectDataEntryId[self:getObjectDataEntryId(instance)] ~= nil or self:hasNativeFieldValue(instance)
|
|
63
|
+
end
|
|
64
|
+
function ObjectFieldBase.create(self, id, isGlobal)
|
|
50
65
|
return __TS__New(
|
|
51
66
|
self,
|
|
52
|
-
id or idGenerator:next()
|
|
67
|
+
id or idGenerator:next(),
|
|
68
|
+
isGlobal
|
|
53
69
|
)
|
|
54
70
|
end
|
|
55
71
|
function ObjectFieldBase.of(self, id)
|
|
@@ -71,7 +87,7 @@ ____exports.ObjectField = __TS__Class()
|
|
|
71
87
|
local ObjectField = ____exports.ObjectField
|
|
72
88
|
ObjectField.name = "ObjectField"
|
|
73
89
|
__TS__ClassExtends(ObjectField, ObjectFieldBase)
|
|
74
|
-
function ObjectField.prototype.getValue(self, entry)
|
|
90
|
+
function ObjectField.prototype.getValue(self, entry, includeModifiers)
|
|
75
91
|
if __TS__InstanceOf(entry, ObjectDataEntry) then
|
|
76
92
|
local defaultValueByObjectDataEntryId = (warpack.compiletime and compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId or defaultValueByObjectDataEntryIdByObjectFieldId)[self.id]
|
|
77
93
|
if defaultValueByObjectDataEntryId ~= nil then
|
|
@@ -82,22 +98,16 @@ function ObjectField.prototype.getValue(self, entry)
|
|
|
82
98
|
end
|
|
83
99
|
return self.defaultValue
|
|
84
100
|
end
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
____self_valueByInstance_entry_0 = defaultValue
|
|
101
|
+
if includeModifiers == false then
|
|
102
|
+
local originalValueByInstance = self.originalValueByInstance
|
|
103
|
+
if originalValueByInstance ~= nil then
|
|
104
|
+
local originalValue = originalValueByInstance[entry]
|
|
105
|
+
if originalValue ~= nil then
|
|
106
|
+
return originalValue
|
|
92
107
|
end
|
|
93
|
-
return ____self_valueByInstance_entry_0
|
|
94
108
|
end
|
|
95
109
|
end
|
|
96
|
-
|
|
97
|
-
if ____temp_1 == nil then
|
|
98
|
-
____temp_1 = self.defaultValue
|
|
99
|
-
end
|
|
100
|
-
return ____temp_1
|
|
110
|
+
return self:getActualValue(entry)
|
|
101
111
|
end
|
|
102
112
|
function ObjectField.prototype.setValue(self, entry, value)
|
|
103
113
|
if __TS__InstanceOf(entry, ObjectDataEntry) then
|
|
@@ -112,37 +122,53 @@ function ObjectField.prototype.setValue(self, entry, value)
|
|
|
112
122
|
defaultValueByObjectDataEntryId[entry.id] = value
|
|
113
123
|
return true
|
|
114
124
|
end
|
|
115
|
-
local
|
|
116
|
-
if
|
|
117
|
-
local
|
|
118
|
-
if
|
|
119
|
-
local
|
|
120
|
-
if
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
local ____self_valueByInstance_entry_2_3 = ____self_valueByInstance_entry_2
|
|
124
|
-
if ____self_valueByInstance_entry_2_3 == nil then
|
|
125
|
-
____self_valueByInstance_entry_2_3 = self.defaultValue
|
|
126
|
-
end
|
|
127
|
-
local previousValue = ____self_valueByInstance_entry_2_3
|
|
128
|
-
if value ~= previousValue then
|
|
129
|
-
self.valueByInstance[entry] = value
|
|
130
|
-
self:invokeValueChangeEvent(entry, self, previousValue, value)
|
|
125
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
126
|
+
if modifiersByInstance ~= nil then
|
|
127
|
+
local modifiers = modifiersByInstance[entry]
|
|
128
|
+
if modifiers ~= nil and modifiers.size ~= 0 then
|
|
129
|
+
local originalValueByInstance = self.originalValueByInstance
|
|
130
|
+
if originalValueByInstance == nil then
|
|
131
|
+
originalValueByInstance = mutableWeakLuaMap()
|
|
132
|
+
self.originalValueByInstance = originalValueByInstance
|
|
131
133
|
end
|
|
132
|
-
|
|
134
|
+
originalValueByInstance[entry] = value
|
|
135
|
+
value = self:calculateActualValue(entry)
|
|
133
136
|
end
|
|
134
137
|
end
|
|
135
|
-
|
|
136
|
-
|
|
138
|
+
return self:setActualValue(entry, value)
|
|
139
|
+
end
|
|
140
|
+
function ObjectField.prototype.applyModifier(self, instance, modifier)
|
|
141
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
142
|
+
if modifiersByInstance == nil then
|
|
143
|
+
modifiersByInstance = mutableWeakLuaMap()
|
|
144
|
+
self.modifiersByInstance = modifiersByInstance
|
|
145
|
+
end
|
|
146
|
+
if getOrPut(modifiersByInstance, instance, mutableLinkedSet):add(modifier) then
|
|
147
|
+
local originalValueByInstance = self.originalValueByInstance
|
|
148
|
+
if originalValueByInstance == nil then
|
|
149
|
+
originalValueByInstance = mutableWeakLuaMap()
|
|
150
|
+
self.originalValueByInstance = originalValueByInstance
|
|
151
|
+
end
|
|
152
|
+
originalValueByInstance[instance] = self:getActualValue(instance)
|
|
153
|
+
self:setActualValue(
|
|
154
|
+
instance,
|
|
155
|
+
self:calculateActualValue(instance)
|
|
156
|
+
)
|
|
137
157
|
end
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
158
|
+
end
|
|
159
|
+
function ObjectField.prototype.removeModifier(self, instance, modifier)
|
|
160
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
161
|
+
if modifiersByInstance ~= nil then
|
|
162
|
+
local modifiers = modifiersByInstance[instance]
|
|
163
|
+
if modifiers ~= nil and modifiers:remove(modifier) then
|
|
164
|
+
self:setActualValue(
|
|
165
|
+
instance,
|
|
166
|
+
self:calculateActualValue(instance)
|
|
167
|
+
)
|
|
168
|
+
return true
|
|
142
169
|
end
|
|
143
|
-
self:invokeValueChangeEvent(entry, self, previousValue, value)
|
|
144
170
|
end
|
|
145
|
-
return
|
|
171
|
+
return false
|
|
146
172
|
end
|
|
147
173
|
function ObjectField.prototype.removeValue(self, entry)
|
|
148
174
|
if not warpack.compiletime then
|
|
@@ -164,6 +190,77 @@ function ObjectField.prototype.trySetValue(self, entry, value)
|
|
|
164
190
|
end
|
|
165
191
|
return self:setValue(entry, value)
|
|
166
192
|
end
|
|
193
|
+
function ObjectField.prototype.getActualValue(self, instance)
|
|
194
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
195
|
+
if defaultValueByObjectDataEntryId ~= nil then
|
|
196
|
+
local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(instance)]
|
|
197
|
+
if defaultValue ~= nil or self.isGlobal then
|
|
198
|
+
local ____self_valueByInstance_instance_0 = self.valueByInstance[instance]
|
|
199
|
+
if ____self_valueByInstance_instance_0 == nil then
|
|
200
|
+
____self_valueByInstance_instance_0 = defaultValue
|
|
201
|
+
end
|
|
202
|
+
local ____self_valueByInstance_instance_0_1 = ____self_valueByInstance_instance_0
|
|
203
|
+
if ____self_valueByInstance_instance_0_1 == nil then
|
|
204
|
+
____self_valueByInstance_instance_0_1 = self.defaultValue
|
|
205
|
+
end
|
|
206
|
+
return ____self_valueByInstance_instance_0_1
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
local ____temp_2 = self:getNativeFieldValue(instance)
|
|
210
|
+
if ____temp_2 == nil then
|
|
211
|
+
____temp_2 = self.defaultValue
|
|
212
|
+
end
|
|
213
|
+
return ____temp_2
|
|
214
|
+
end
|
|
215
|
+
function ObjectField.prototype.setActualValue(self, instance, value)
|
|
216
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
217
|
+
if defaultValueByObjectDataEntryId ~= nil then
|
|
218
|
+
local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(instance)]
|
|
219
|
+
if defaultValue ~= nil or self.isGlobal then
|
|
220
|
+
local ____self_valueByInstance_instance_3 = self.valueByInstance[instance]
|
|
221
|
+
if ____self_valueByInstance_instance_3 == nil then
|
|
222
|
+
____self_valueByInstance_instance_3 = defaultValue
|
|
223
|
+
end
|
|
224
|
+
local ____self_valueByInstance_instance_3_4 = ____self_valueByInstance_instance_3
|
|
225
|
+
if ____self_valueByInstance_instance_3_4 == nil then
|
|
226
|
+
____self_valueByInstance_instance_3_4 = self.defaultValue
|
|
227
|
+
end
|
|
228
|
+
local previousValue = ____self_valueByInstance_instance_3_4
|
|
229
|
+
if value ~= previousValue then
|
|
230
|
+
self.valueByInstance[instance] = value
|
|
231
|
+
self:invokeValueChangeEvent(instance, self, previousValue, value)
|
|
232
|
+
end
|
|
233
|
+
return true
|
|
234
|
+
end
|
|
235
|
+
end
|
|
236
|
+
if not self:hasNativeFieldValue(instance) then
|
|
237
|
+
return false
|
|
238
|
+
end
|
|
239
|
+
local previousValue = self:getNativeFieldValue(instance)
|
|
240
|
+
if value ~= previousValue then
|
|
241
|
+
if not self:setNativeFieldValue(instance, value) then
|
|
242
|
+
return false
|
|
243
|
+
end
|
|
244
|
+
self:invokeValueChangeEvent(instance, self, previousValue, value)
|
|
245
|
+
end
|
|
246
|
+
return true
|
|
247
|
+
end
|
|
248
|
+
function ObjectField.prototype.calculateActualValue(self, instance)
|
|
249
|
+
local ____opt_5 = self.originalValueByInstance
|
|
250
|
+
local originalValue = ____opt_5 and ____opt_5[instance]
|
|
251
|
+
local ____opt_7 = self.modifiersByInstance
|
|
252
|
+
local modifiers = ____opt_7 and ____opt_7[instance]
|
|
253
|
+
if originalValue ~= nil then
|
|
254
|
+
local value = originalValue
|
|
255
|
+
if modifiers ~= nil then
|
|
256
|
+
for modifier in pairs(modifiers) do
|
|
257
|
+
value = modifier(instance, value, originalValue)
|
|
258
|
+
end
|
|
259
|
+
end
|
|
260
|
+
return value
|
|
261
|
+
end
|
|
262
|
+
return self.defaultValue
|
|
263
|
+
end
|
|
167
264
|
function ObjectField.prototype.invokeValueChangeEvent(self, ...)
|
|
168
265
|
self:invokeValueChangeEventRecursive(
|
|
169
266
|
getClass(self),
|
|
@@ -217,17 +314,17 @@ function ObjectArrayField.prototype.getValue(self, entry, index)
|
|
|
217
314
|
if defaultValueByObjectDataEntryId ~= nil then
|
|
218
315
|
local value = defaultValueByObjectDataEntryId[entry.id]
|
|
219
316
|
if value ~= nil then
|
|
220
|
-
local
|
|
317
|
+
local ____temp_10
|
|
221
318
|
if index == nil then
|
|
222
|
-
|
|
319
|
+
____temp_10 = value
|
|
223
320
|
else
|
|
224
|
-
local
|
|
225
|
-
if
|
|
226
|
-
|
|
321
|
+
local ____value_index_9 = value[index + 1]
|
|
322
|
+
if ____value_index_9 == nil then
|
|
323
|
+
____value_index_9 = self.defaultValue
|
|
227
324
|
end
|
|
228
|
-
|
|
325
|
+
____temp_10 = ____value_index_9
|
|
229
326
|
end
|
|
230
|
-
return
|
|
327
|
+
return ____temp_10
|
|
231
328
|
end
|
|
232
329
|
end
|
|
233
330
|
return index == nil and ({}) or self.defaultValue
|
|
@@ -237,17 +334,17 @@ function ObjectArrayField.prototype.getValue(self, entry, index)
|
|
|
237
334
|
local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
|
|
238
335
|
if defaultValue ~= nil then
|
|
239
336
|
local value = self.valueByInstance[entry] or defaultValue
|
|
240
|
-
local
|
|
337
|
+
local ____temp_12
|
|
241
338
|
if index == nil then
|
|
242
|
-
|
|
339
|
+
____temp_12 = value
|
|
243
340
|
else
|
|
244
|
-
local
|
|
245
|
-
if
|
|
246
|
-
|
|
341
|
+
local ____value_index_11 = value[index + 1]
|
|
342
|
+
if ____value_index_11 == nil then
|
|
343
|
+
____value_index_11 = self.defaultValue
|
|
247
344
|
end
|
|
248
|
-
|
|
345
|
+
____temp_12 = ____value_index_11
|
|
249
346
|
end
|
|
250
|
-
return
|
|
347
|
+
return ____temp_12
|
|
251
348
|
end
|
|
252
349
|
end
|
|
253
350
|
if index ~= nil then
|
|
@@ -292,11 +389,11 @@ function ObjectLevelField.prototype.getValue(self, entry, level)
|
|
|
292
389
|
if defaultValueByObjectDataEntryId ~= nil then
|
|
293
390
|
local valueByLevel = defaultValueByObjectDataEntryId[entry.id]
|
|
294
391
|
if valueByLevel ~= nil then
|
|
295
|
-
local
|
|
296
|
-
if
|
|
297
|
-
|
|
392
|
+
local ____valueByLevel_index_13 = valueByLevel[level + 1]
|
|
393
|
+
if ____valueByLevel_index_13 == nil then
|
|
394
|
+
____valueByLevel_index_13 = self.defaultValue
|
|
298
395
|
end
|
|
299
|
-
return
|
|
396
|
+
return ____valueByLevel_index_13
|
|
300
397
|
end
|
|
301
398
|
end
|
|
302
399
|
return self.defaultValue
|
|
@@ -304,24 +401,24 @@ function ObjectLevelField.prototype.getValue(self, entry, level)
|
|
|
304
401
|
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
305
402
|
if defaultValueByObjectDataEntryId ~= nil then
|
|
306
403
|
local defaultValueByLevel = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
|
|
307
|
-
if defaultValueByLevel ~= nil then
|
|
308
|
-
local
|
|
309
|
-
local
|
|
310
|
-
if
|
|
311
|
-
|
|
404
|
+
if defaultValueByLevel ~= nil or self.isGlobal then
|
|
405
|
+
local ____opt_14 = self.valueByInstance[entry]
|
|
406
|
+
local ____temp_16 = ____opt_14 and ____opt_14[level + 1]
|
|
407
|
+
if ____temp_16 == nil then
|
|
408
|
+
____temp_16 = (defaultValueByLevel or emptyArray())[level + 1]
|
|
312
409
|
end
|
|
313
|
-
local
|
|
314
|
-
if
|
|
315
|
-
|
|
410
|
+
local ____temp_16_17 = ____temp_16
|
|
411
|
+
if ____temp_16_17 == nil then
|
|
412
|
+
____temp_16_17 = self.defaultValue
|
|
316
413
|
end
|
|
317
|
-
return
|
|
414
|
+
return ____temp_16_17
|
|
318
415
|
end
|
|
319
416
|
end
|
|
320
|
-
local
|
|
321
|
-
if
|
|
322
|
-
|
|
417
|
+
local ____temp_18 = self:getNativeFieldValue(entry, level)
|
|
418
|
+
if ____temp_18 == nil then
|
|
419
|
+
____temp_18 = self.defaultValue
|
|
323
420
|
end
|
|
324
|
-
return
|
|
421
|
+
return ____temp_18
|
|
325
422
|
end
|
|
326
423
|
function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
|
|
327
424
|
if value == nil then
|
|
@@ -364,21 +461,21 @@ function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
|
|
|
364
461
|
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
365
462
|
if defaultValueByObjectDataEntryId ~= nil then
|
|
366
463
|
local defaultValueByLevel = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
|
|
367
|
-
if defaultValueByLevel ~= nil then
|
|
464
|
+
if defaultValueByLevel ~= nil or self.isGlobal then
|
|
368
465
|
local valueByLevel = self.valueByInstance[entry]
|
|
369
466
|
if valueByLevel == nil then
|
|
370
467
|
valueByLevel = {}
|
|
371
468
|
self.valueByInstance[entry] = valueByLevel
|
|
372
469
|
end
|
|
373
|
-
local
|
|
374
|
-
if
|
|
375
|
-
|
|
470
|
+
local ____valueByLevel_index_19 = valueByLevel[level + 1]
|
|
471
|
+
if ____valueByLevel_index_19 == nil then
|
|
472
|
+
____valueByLevel_index_19 = (defaultValueByLevel or emptyArray())[level + 1]
|
|
376
473
|
end
|
|
377
|
-
local
|
|
378
|
-
if
|
|
379
|
-
|
|
474
|
+
local ____valueByLevel_index_19_20 = ____valueByLevel_index_19
|
|
475
|
+
if ____valueByLevel_index_19_20 == nil then
|
|
476
|
+
____valueByLevel_index_19_20 = self.defaultValue
|
|
380
477
|
end
|
|
381
|
-
local previousValue =
|
|
478
|
+
local previousValue = ____valueByLevel_index_19_20
|
|
382
479
|
if value ~= previousValue then
|
|
383
480
|
valueByLevel[level + 1] = value
|
|
384
481
|
self:invokeValueChangeEvent(
|
package/engine/random.d.ts
CHANGED