warscript 0.0.1-dev.e196516 → 0.0.1-dev.e49ec00

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.
@@ -0,0 +1,136 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
3
+ local ____exports = {}
4
+ local ____attributes = require("attributes")
5
+ local attribute = ____attributes.attribute
6
+ local ____unit = require("engine.internal.unit")
7
+ local Unit = ____unit.Unit
8
+ local ____game = require("core.game")
9
+ local elapsedTime = ____game.elapsedTime
10
+ local getUnitCurrentOrder = GetUnitCurrentOrder
11
+ local issueImmediateOrderById = IssueImmediateOrderById
12
+ local issuePointOrderById = IssuePointOrderById
13
+ local issueTargetOrderById = IssueTargetOrderById
14
+ local unitLastOrderTypeAttribute = attribute()
15
+ local unitLastOrderIdAttribute = attribute()
16
+ local unitLastOrderStartTimeAttribute = attribute()
17
+ local unitLastOrderStartXAttribute = attribute()
18
+ local unitLastOrderStartYAttribute = attribute()
19
+ local unitLastOrderTargetXAttribute = attribute()
20
+ local unitLastOrderTargetYAttribute = attribute()
21
+ local unitLastOrderTargetAttribute = attribute()
22
+ Unit.onImmediateOrder:addListener(
23
+ 4,
24
+ function(unit, orderId)
25
+ unit[unitLastOrderTypeAttribute] = 0
26
+ unit[unitLastOrderIdAttribute] = orderId
27
+ unit[unitLastOrderStartTimeAttribute] = elapsedTime()
28
+ unit[unitLastOrderStartXAttribute] = unit.x
29
+ unit[unitLastOrderStartYAttribute] = unit.y
30
+ unit[unitLastOrderTargetXAttribute] = nil
31
+ unit[unitLastOrderTargetYAttribute] = nil
32
+ unit[unitLastOrderTargetAttribute] = nil
33
+ end
34
+ )
35
+ Unit.onPointOrder:addListener(
36
+ 4,
37
+ function(unit, orderId, x, y)
38
+ unit[unitLastOrderTypeAttribute] = 1
39
+ unit[unitLastOrderIdAttribute] = orderId
40
+ unit[unitLastOrderStartTimeAttribute] = elapsedTime()
41
+ unit[unitLastOrderStartXAttribute] = unit.x
42
+ unit[unitLastOrderStartYAttribute] = unit.y
43
+ unit[unitLastOrderTargetXAttribute] = x
44
+ unit[unitLastOrderTargetYAttribute] = y
45
+ unit[unitLastOrderTargetAttribute] = nil
46
+ end
47
+ )
48
+ Unit.onTargetOrder:addListener(
49
+ 4,
50
+ function(unit, orderId, target)
51
+ unit[unitLastOrderTypeAttribute] = 2
52
+ unit[unitLastOrderIdAttribute] = orderId
53
+ unit[unitLastOrderStartTimeAttribute] = elapsedTime()
54
+ unit[unitLastOrderStartXAttribute] = unit.x
55
+ unit[unitLastOrderStartYAttribute] = unit.y
56
+ unit[unitLastOrderTargetXAttribute] = target.x
57
+ unit[unitLastOrderTargetYAttribute] = target.y
58
+ unit[unitLastOrderTargetAttribute] = target
59
+ end
60
+ )
61
+ local function toUndefinedIfCurrentOrderDoesNotMatchLast(unit, value)
62
+ local currentOrderId = getUnitCurrentOrder(unit.handle)
63
+ local lastOrderId = unit[unitLastOrderIdAttribute]
64
+ local ____temp_0
65
+ if currentOrderId == lastOrderId or currentOrderId == orderId("patrolAI") and lastOrderId == orderId("patrol") then
66
+ ____temp_0 = value
67
+ else
68
+ ____temp_0 = nil
69
+ end
70
+ return ____temp_0
71
+ end
72
+ __TS__ObjectDefineProperty(
73
+ Unit.prototype,
74
+ "currentOrderType",
75
+ {get = function(self)
76
+ return toUndefinedIfCurrentOrderDoesNotMatchLast(self, self[unitLastOrderTypeAttribute]) or 0
77
+ end}
78
+ )
79
+ __TS__ObjectDefineProperty(
80
+ Unit.prototype,
81
+ "currentOrderId",
82
+ {get = function(self)
83
+ return toUndefinedIfCurrentOrderDoesNotMatchLast(self, self[unitLastOrderIdAttribute]) or 0
84
+ end}
85
+ )
86
+ __TS__ObjectDefineProperty(
87
+ Unit.prototype,
88
+ "currentOrderStartTime",
89
+ {get = function(self)
90
+ return toUndefinedIfCurrentOrderDoesNotMatchLast(self, self[unitLastOrderStartTimeAttribute]) or 0
91
+ end}
92
+ )
93
+ __TS__ObjectDefineProperty(
94
+ Unit.prototype,
95
+ "currentOrderStartX",
96
+ {get = function(self)
97
+ return toUndefinedIfCurrentOrderDoesNotMatchLast(self, self[unitLastOrderStartXAttribute]) or 0
98
+ end}
99
+ )
100
+ __TS__ObjectDefineProperty(
101
+ Unit.prototype,
102
+ "currentOrderStartY",
103
+ {get = function(self)
104
+ return toUndefinedIfCurrentOrderDoesNotMatchLast(self, self[unitLastOrderStartYAttribute]) or 0
105
+ end}
106
+ )
107
+ __TS__ObjectDefineProperty(
108
+ Unit.prototype,
109
+ "currentOrderTargetX",
110
+ {get = function(self)
111
+ return toUndefinedIfCurrentOrderDoesNotMatchLast(self, self[unitLastOrderTargetXAttribute]) or 0
112
+ end}
113
+ )
114
+ __TS__ObjectDefineProperty(
115
+ Unit.prototype,
116
+ "currentOrderTargetY",
117
+ {get = function(self)
118
+ return toUndefinedIfCurrentOrderDoesNotMatchLast(self, self[unitLastOrderTargetYAttribute]) or 0
119
+ end}
120
+ )
121
+ __TS__ObjectDefineProperty(
122
+ Unit.prototype,
123
+ "currentOrderTarget",
124
+ {get = function(self)
125
+ return toUndefinedIfCurrentOrderDoesNotMatchLast(self, self[unitLastOrderTargetAttribute])
126
+ end}
127
+ )
128
+ local issueOrderByType = {
129
+ [0] = issueImmediateOrderById,
130
+ [1] = issuePointOrderById,
131
+ [2] = function(unitHandle, orderId, widget) return issueTargetOrderById(unitHandle, orderId, widget.handle) end
132
+ }
133
+ Unit.prototype.issueOrder = function(self, orderType, orderId, xOrTarget, y)
134
+ return issueOrderByType[orderType](self.handle, orderId, xOrTarget, y)
135
+ end
136
+ return ____exports
@@ -267,7 +267,7 @@ export declare class Unit extends Handle<junit> {
267
267
  dropItemTarget(item: Item, target: Widget): boolean;
268
268
  dropItemSlot(item: Item, slot: number): boolean;
269
269
  itemInSlot(slot: number): Item | null;
270
- addAbility(abilityId: number): UnitAbility | null;
270
+ addAbility(abilityId: number): UnitAbility | undefined;
271
271
  makeAbilityPermanent(abilityId: number, permanent: true): boolean;
272
272
  setAbilityLevel(abilityId: number, level: number): number;
273
273
  getAbilityLevel(abilityId: number): number;
@@ -278,6 +278,7 @@ export declare class Unit extends Handle<junit> {
278
278
  getAbilityRemainingCooldown(abilityId: number): number;
279
279
  startAbilityCooldown(abilityId: number, cooldown: number): void;
280
280
  endAbilityCooldown(abilityId: number): void;
281
+ interruptMovement(): void;
281
282
  interruptAttack(): void;
282
283
  interruptCast(abilityId: number): void;
283
284
  getDistanceTo(target: Unit | Vec2): number;
@@ -60,6 +60,8 @@ local ____damage_2Dmetadata_2Dby_2Dtarget = require("engine.internal.misc.damage
60
60
  local damageMetadataByTarget = ____damage_2Dmetadata_2Dby_2Dtarget.damageMetadataByTarget
61
61
  local ____attributes = require("attributes")
62
62
  local isAttribute = ____attributes.isAttribute
63
+ local ____ability = require("engine.internal.item.ability")
64
+ local doUnitAbilityAction = ____ability.doUnitAbilityAction
63
65
  local match = string.match
64
66
  local ____tostring = _G.tostring
65
67
  local setUnitAnimation = SetUnitAnimation
@@ -123,10 +125,6 @@ local getOrderedUnit = GetOrderedUnit
123
125
  local getIssuedOrderId = GetIssuedOrderId
124
126
  local isUnitInvulnerable = BlzIsUnitInvulnerable
125
127
  local unitAlive = UnitAlive
126
- local unitAddType = UnitAddType
127
- local unitRemoveType = UnitRemoveType
128
- local isUnitIllusion = IsUnitIllusion
129
- local isUnitType = IsUnitType
130
128
  local isUnitAlly = IsUnitAlly
131
129
  local isUnitEnemy = IsUnitEnemy
132
130
  local getOwningPlayer = GetOwningPlayer
@@ -665,15 +663,24 @@ end
665
663
  local nextSyncId = 1
666
664
  local unitBySyncId = setmetatable({}, {__mode = "v"})
667
665
  local damagingEventByTarget = setmetatable({}, {__mode = "k"})
666
+ local function addAbility(unit, abilityTypeId)
667
+ local ____unitAddAbility_result_0
668
+ if unitAddAbility(unit, abilityTypeId) then
669
+ ____unitAddAbility_result_0 = getUnitAbility(unit, abilityTypeId)
670
+ else
671
+ ____unitAddAbility_result_0 = nil
672
+ end
673
+ return ____unitAddAbility_result_0
674
+ end
668
675
  ____exports.Unit = __TS__Class()
669
676
  local Unit = ____exports.Unit
670
677
  Unit.name = "Unit"
671
678
  __TS__ClassExtends(Unit, Handle)
672
679
  function Unit.prototype.____constructor(self, handle)
673
680
  Handle.prototype.____constructor(self, handle)
674
- local ____nextSyncId_0 = nextSyncId
675
- nextSyncId = ____nextSyncId_0 + 1
676
- self.syncId = ____nextSyncId_0
681
+ local ____nextSyncId_1 = nextSyncId
682
+ nextSyncId = ____nextSyncId_1 + 1
683
+ self.syncId = ____nextSyncId_1
677
684
  self._owner = Player:of(getOwningPlayer(handle))
678
685
  assert(unitAddAbility(handle, leaveDetectAbilityId) and UnitMakeAbilityPermanent(handle, true, leaveDetectAbilityId))
679
686
  assert(unitAddAbility(handle, morphDetectAbilityId))
@@ -774,17 +781,17 @@ function Unit.prototype.addModifier(self, property, modifier)
774
781
  end}
775
782
  end
776
783
  function Unit.prototype.hasCombatClassification(self, combatClassification)
777
- local ____combatClassification_1 = combatClassification
778
- return getUnitIntegerField(self.handle, UNIT_IF_TARGETED_AS) & ____combatClassification_1 == ____combatClassification_1
784
+ local ____combatClassification_2 = combatClassification
785
+ return getUnitIntegerField(self.handle, UNIT_IF_TARGETED_AS) & ____combatClassification_2 == ____combatClassification_2
779
786
  end
780
787
  function Unit.prototype.addClassification(self, classification)
781
- return unitAddType(self.handle, classification)
788
+ return UnitAddType(self.handle, classification)
782
789
  end
783
790
  function Unit.prototype.removeClassification(self, classification)
784
- return unitRemoveType(self.handle, classification)
791
+ return UnitRemoveType(self.handle, classification)
785
792
  end
786
793
  function Unit.prototype.hasClassification(self, classification)
787
- return isUnitType(self.handle, classification)
794
+ return IsUnitType(self.handle, classification)
788
795
  end
789
796
  function Unit.prototype.isVisibleTo(self, player)
790
797
  return isUnitVisible(self.handle, player.handle)
@@ -793,13 +800,13 @@ function Unit.prototype.isInvisibleTo(self, player)
793
800
  return isUnitInvisible(self.handle, player.handle)
794
801
  end
795
802
  function Unit.prototype.isInRangeOf(self, x, y, range)
796
- local ____temp_2
803
+ local ____temp_3
797
804
  if type(x) == "number" then
798
- ____temp_2 = isUnitInRangeXY(self.handle, x, y, range)
805
+ ____temp_3 = isUnitInRangeXY(self.handle, x, y, range)
799
806
  else
800
- ____temp_2 = isUnitInRange(self.handle, x.handle, y)
807
+ ____temp_3 = isUnitInRange(self.handle, x.handle, y)
801
808
  end
802
- return ____temp_2
809
+ return ____temp_3
803
810
  end
804
811
  function Unit.prototype.isAllyOf(self, unit)
805
812
  return isUnitAlly(
@@ -855,14 +862,14 @@ function Unit.prototype.kill(self)
855
862
  killUnit(self.handle)
856
863
  end
857
864
  function Unit.prototype.revive(self, x, y, doEffect)
858
- local ____ReviveHero_5 = ReviveHero
859
- local ____array_4 = __TS__SparseArrayNew(self.handle, x, y)
860
- local ____doEffect_3 = doEffect
861
- if ____doEffect_3 == nil then
862
- ____doEffect_3 = false
865
+ local ____ReviveHero_6 = ReviveHero
866
+ local ____array_5 = __TS__SparseArrayNew(self.handle, x, y)
867
+ local ____doEffect_4 = doEffect
868
+ if ____doEffect_4 == nil then
869
+ ____doEffect_4 = false
863
870
  end
864
- __TS__SparseArrayPush(____array_4, ____doEffect_3)
865
- ____ReviveHero_5(__TS__SparseArraySpread(____array_4))
871
+ __TS__SparseArrayPush(____array_5, ____doEffect_4)
872
+ ____ReviveHero_6(__TS__SparseArraySpread(____array_5))
866
873
  end
867
874
  function Unit.prototype.healTarget(self, target, amount)
868
875
  if __TS__InstanceOf(target, ____exports.Unit) and target:hasAbility(fourCC("BIhm")) then
@@ -905,17 +912,16 @@ function Unit.prototype.itemInSlot(self, slot)
905
912
  return Item:of(unitItemInSlot(self.handle, slot))
906
913
  end
907
914
  function Unit.prototype.addAbility(self, abilityId)
908
- if unitAddAbility(self.handle, abilityId) then
909
- local ability = UnitAbility:of(
910
- checkNotNull(getUnitAbility(self.handle, abilityId)),
911
- abilityId,
912
- self
913
- )
915
+ local ability = UnitAbility:of(
916
+ doUnitAbilityAction(self.handle, abilityId, addAbility, abilityId),
917
+ abilityId,
918
+ self
919
+ )
920
+ if ability ~= nil then
914
921
  local abilities = self.abilities
915
922
  abilities[#abilities + 1] = ability
916
- return ability
917
923
  end
918
- return nil
924
+ return ability
919
925
  end
920
926
  function Unit.prototype.makeAbilityPermanent(self, abilityId, permanent)
921
927
  return UnitMakeAbilityPermanent(self.handle, permanent, abilityId)
@@ -930,19 +936,11 @@ function Unit.prototype.hasAbility(self, abilityId)
930
936
  return getUnitAbilityLevel(self.handle, abilityId) > 0
931
937
  end
932
938
  function Unit.prototype.getAbilityById(self, abilityId)
933
- local handle = self.handle
934
- if unitAddAbility(handle, abilityId) then
935
- assert(unitRemoveAbility(handle, abilityId))
936
- return nil
937
- end
938
- return UnitAbility:of(
939
- getUnitAbility(self.handle, abilityId),
940
- abilityId,
941
- self
942
- )
939
+ local ability = doUnitAbilityAction(self.handle, abilityId, getUnitAbility, abilityId)
940
+ return UnitAbility:of(ability, abilityId, self)
943
941
  end
944
942
  function Unit.prototype.removeAbility(self, abilityId)
945
- if unitRemoveAbility(self.handle, abilityId) then
943
+ if doUnitAbilityAction(self.handle, abilityId, unitRemoveAbility, abilityId) then
946
944
  local abilities = self.abilities
947
945
  for i = 1, #abilities do
948
946
  if abilities[i].typeId == abilityId then
@@ -967,6 +965,21 @@ end
967
965
  function Unit.prototype.endAbilityCooldown(self, abilityId)
968
966
  BlzEndUnitAbilityCooldown(self.handle, abilityId)
969
967
  end
968
+ function Unit.prototype.interruptMovement(self)
969
+ local handle = self.handle
970
+ unitDisableAbility(
971
+ handle,
972
+ fourCC("Amov"),
973
+ true,
974
+ false
975
+ )
976
+ unitDisableAbility(
977
+ handle,
978
+ fourCC("Amov"),
979
+ false,
980
+ false
981
+ )
982
+ end
970
983
  function Unit.prototype.interruptAttack(self)
971
984
  unitInterruptAttack(self.handle)
972
985
  end
@@ -1240,7 +1253,7 @@ __TS__SetDescriptor(
1240
1253
  Unit.prototype,
1241
1254
  "isIllusion",
1242
1255
  {get = function(self)
1243
- return isUnitIllusion(self.handle)
1256
+ return IsUnitIllusion(self.handle)
1244
1257
  end},
1245
1258
  true
1246
1259
  )
@@ -1463,13 +1476,13 @@ __TS__SetDescriptor(
1463
1476
  end,
1464
1477
  set = function(self, isTeamGlowVisible)
1465
1478
  BlzShowUnitTeamGlow(self.handle, isTeamGlowVisible)
1466
- local ____temp_6
1479
+ local ____temp_7
1467
1480
  if not isTeamGlowVisible then
1468
- ____temp_6 = true
1481
+ ____temp_7 = true
1469
1482
  else
1470
- ____temp_6 = nil
1483
+ ____temp_7 = nil
1471
1484
  end
1472
- self[106] = ____temp_6
1485
+ self[106] = ____temp_7
1473
1486
  end
1474
1487
  },
1475
1488
  true
@@ -2216,25 +2229,25 @@ Unit.onTargetCast = dispatchId(__TS__New(
2216
2229
  InitializingEvent,
2217
2230
  function(event)
2218
2231
  local function listener(unit, id)
2219
- local ____GetSpellTargetUnit_result_9
2232
+ local ____GetSpellTargetUnit_result_10
2220
2233
  if GetSpellTargetUnit() then
2221
- ____GetSpellTargetUnit_result_9 = ____exports.Unit:of(GetSpellTargetUnit())
2234
+ ____GetSpellTargetUnit_result_10 = ____exports.Unit:of(GetSpellTargetUnit())
2222
2235
  else
2223
- local ____GetSpellTargetItem_result_8
2236
+ local ____GetSpellTargetItem_result_9
2224
2237
  if GetSpellTargetItem() then
2225
- ____GetSpellTargetItem_result_8 = Item:of(GetSpellTargetItem())
2238
+ ____GetSpellTargetItem_result_9 = Item:of(GetSpellTargetItem())
2226
2239
  else
2227
- local ____GetSpellTargetDestructable_result_7
2240
+ local ____GetSpellTargetDestructable_result_8
2228
2241
  if GetSpellTargetDestructable() then
2229
- ____GetSpellTargetDestructable_result_7 = Destructable:of(GetSpellTargetDestructable())
2242
+ ____GetSpellTargetDestructable_result_8 = Destructable:of(GetSpellTargetDestructable())
2230
2243
  else
2231
- ____GetSpellTargetDestructable_result_7 = nil
2244
+ ____GetSpellTargetDestructable_result_8 = nil
2232
2245
  end
2233
- ____GetSpellTargetItem_result_8 = ____GetSpellTargetDestructable_result_7
2246
+ ____GetSpellTargetItem_result_9 = ____GetSpellTargetDestructable_result_8
2234
2247
  end
2235
- ____GetSpellTargetUnit_result_9 = ____GetSpellTargetItem_result_8
2248
+ ____GetSpellTargetUnit_result_10 = ____GetSpellTargetItem_result_9
2236
2249
  end
2237
- local target = ____GetSpellTargetUnit_result_9
2250
+ local target = ____GetSpellTargetUnit_result_10
2238
2251
  if target then
2239
2252
  invoke(event, unit, id, target)
2240
2253
  end
@@ -4,6 +4,7 @@ import { ObjectField, ObjectLevelField, ObjectLevelFieldValueChangeEvent, Readon
4
4
  import { UnitType, UnitTypeId } from "../object-data/entry/unit-type";
5
5
  import { ReadonlyNonEmptyLinkedSet } from "../../utility/linked-set";
6
6
  import { AttackType } from "../object-data/auxiliary/attack-type";
7
+ import { UnitClassifications } from "../object-data/auxiliary/unit-classification";
7
8
  export declare abstract class UnitField<ValueType extends number | string | boolean = number | string | boolean, NativeFieldType = any> extends ObjectField<UnitType, Unit, ValueType, NativeFieldType> {
8
9
  protected get instanceClass(): typeof Unit;
9
10
  protected getObjectDataEntryId(instance: Unit): UnitTypeId;
@@ -56,4 +57,14 @@ export declare abstract class UnitEnumWeaponField<T extends number> extends Unit
56
57
  export declare class UnitAttackTypeWeaponField extends UnitEnumWeaponField<AttackType> {
57
58
  protected values: ReadonlyNonEmptyLinkedSet<AttackType>;
58
59
  }
60
+ export declare class UnitClassificationsField extends UnitField<UnitClassifications, junitintegerfield> {
61
+ protected get defaultValue(): UnitClassifications;
62
+ protected getNativeFieldById(id: number): junitintegerfield;
63
+ protected getNativeFieldValue(instance: Unit): UnitClassifications;
64
+ protected setNativeFieldValue(instance: Unit, value: UnitClassifications): boolean;
65
+ }
66
+ export declare class UnitPropulsionWindowField extends UnitFloatField {
67
+ protected getNativeFieldValue(instance: Unit): number;
68
+ protected setNativeFieldValue(instance: Unit, value: number): boolean;
69
+ }
59
70
  export {};
@@ -18,6 +18,8 @@ local convertUnitStringField = ConvertUnitStringField
18
18
  local convertUnitWeaponIntegerField = ConvertUnitWeaponIntegerField
19
19
  local getUnitWeaponIntegerField = BlzGetUnitWeaponIntegerField
20
20
  local setUnitWeaponIntegerField = BlzSetUnitWeaponIntegerField
21
+ local getUnitPropulsionWindow = GetUnitPropWindow
22
+ local setUnitPropulsionWindow = SetUnitPropWindow
21
23
  ____exports.UnitField = __TS__Class()
22
24
  local UnitField = ____exports.UnitField
23
25
  UnitField.name = "UnitField"
@@ -215,4 +217,36 @@ function UnitAttackTypeWeaponField.prototype.____constructor(self, ...)
215
217
  6
216
218
  )
217
219
  end
220
+ ____exports.UnitClassificationsField = __TS__Class()
221
+ local UnitClassificationsField = ____exports.UnitClassificationsField
222
+ UnitClassificationsField.name = "UnitClassificationsField"
223
+ __TS__ClassExtends(UnitClassificationsField, ____exports.UnitField)
224
+ function UnitClassificationsField.prototype.getNativeFieldById(self, id)
225
+ return convertUnitIntegerField(id)
226
+ end
227
+ function UnitClassificationsField.prototype.getNativeFieldValue(self, instance)
228
+ return instance:getField(self.nativeField)
229
+ end
230
+ function UnitClassificationsField.prototype.setNativeFieldValue(self, instance, value)
231
+ return instance:setField(self.nativeField, value)
232
+ end
233
+ __TS__SetDescriptor(
234
+ UnitClassificationsField.prototype,
235
+ "defaultValue",
236
+ {get = function(self)
237
+ return 0
238
+ end},
239
+ true
240
+ )
241
+ ____exports.UnitPropulsionWindowField = __TS__Class()
242
+ local UnitPropulsionWindowField = ____exports.UnitPropulsionWindowField
243
+ UnitPropulsionWindowField.name = "UnitPropulsionWindowField"
244
+ __TS__ClassExtends(UnitPropulsionWindowField, ____exports.UnitFloatField)
245
+ function UnitPropulsionWindowField.prototype.getNativeFieldValue(self, instance)
246
+ return getUnitPropulsionWindow(instance.handle)
247
+ end
248
+ function UnitPropulsionWindowField.prototype.setNativeFieldValue(self, instance, value)
249
+ setUnitPropulsionWindow(instance.handle, value)
250
+ return true
251
+ end
218
252
  return ____exports
@@ -39,7 +39,7 @@ local ObjectFieldBase = __TS__Class()
39
39
  ObjectFieldBase.name = "ObjectFieldBase"
40
40
  function ObjectFieldBase.prototype.____constructor(self, id, isGlobal)
41
41
  if isGlobal == nil then
42
- isGlobal = true
42
+ isGlobal = false
43
43
  end
44
44
  self.isGlobal = isGlobal
45
45
  self.valueByInstance = setmetatable({}, {__mode = "k"})
@@ -331,10 +331,10 @@ function ObjectArrayField.prototype.getValue(self, entry, index)
331
331
  return index == nil and ({}) or self.defaultValue
332
332
  end
333
333
  local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
334
- if defaultValueByObjectDataEntryId ~= nil then
335
- local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
336
- if defaultValue ~= nil then
337
- local value = self.valueByInstance[entry] or defaultValue
334
+ if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
335
+ local defaultValue = (defaultValueByObjectDataEntryId or emptyLuaMap())[self:getObjectDataEntryId(entry)]
336
+ if defaultValue ~= nil or self.isGlobal then
337
+ local value = self.valueByInstance[entry] or defaultValue or emptyArray()
338
338
  local ____temp_12
339
339
  if index == nil then
340
340
  ____temp_12 = value
@@ -0,0 +1,4 @@
1
+ /** @noSelfInFile */
2
+ import { UnitClassificationsField, UnitPropulsionWindowField } from "../../object-field/unit";
3
+ export declare const PROPULSION_WINDOW_UNIT_FLOAT_FIELD: UnitPropulsionWindowField & symbol;
4
+ export declare const UNIT_CLASSIFICATIONS_FIELD: UnitClassificationsField & symbol;
@@ -0,0 +1,7 @@
1
+ local ____exports = {}
2
+ local ____unit = require("engine.object-field.unit")
3
+ local UnitClassificationsField = ____unit.UnitClassificationsField
4
+ local UnitPropulsionWindowField = ____unit.UnitPropulsionWindowField
5
+ ____exports.PROPULSION_WINDOW_UNIT_FLOAT_FIELD = UnitPropulsionWindowField:create(fourCC("urpw"))
6
+ ____exports.UNIT_CLASSIFICATIONS_FIELD = UnitClassificationsField:create(fourCC("utyp"))
7
+ return ____exports
@@ -14,14 +14,37 @@ export type TextTagPreset = {
14
14
  };
15
15
  declare const enum TextTagPropertyKey {
16
16
  UNIT = 100,
17
- CONFIGURATION = 101
17
+ HANDLE = 101,
18
+ CONFIGURATION = 102,
19
+ TEXT = 103,
20
+ FONT_SIZE = 104,
21
+ COLOR = 105,
22
+ X = 106,
23
+ Y = 107
18
24
  }
19
25
  export declare class TextTag extends AbstractDestroyable {
20
- private readonly handle;
21
- private [TextTagPropertyKey.UNIT]?;
26
+ private readonly [TextTagPropertyKey.HANDLE];
22
27
  private [TextTagPropertyKey.CONFIGURATION]?;
28
+ private [TextTagPropertyKey.TEXT]?;
29
+ private [TextTagPropertyKey.FONT_SIZE]?;
30
+ private [TextTagPropertyKey.COLOR]?;
31
+ private [TextTagPropertyKey.UNIT]?;
32
+ private [TextTagPropertyKey.X]?;
33
+ private [TextTagPropertyKey.Y]?;
23
34
  private constructor();
24
35
  protected onDestroy(): Destructor;
36
+ get text(): string;
37
+ set text(text: string);
38
+ get fontSize(): number;
39
+ set fontSize(fontSize: number);
40
+ get color(): Color;
41
+ set color(color: Color);
42
+ get unit(): Unit | undefined;
43
+ set unit(unit: Unit | undefined);
44
+ get x(): number;
45
+ set x(x: number);
46
+ get y(): number;
47
+ set y(y: number);
25
48
  static BASE: Readonly<TextTagPreset>;
26
49
  static BASH: Readonly<TextTagPreset>;
27
50
  static CRITICAL_STRIKE: Readonly<TextTagPreset>;