warscript 0.0.1-dev.697548e → 0.0.1-dev.69b6655
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/core/types/frame.d.ts +1 -0
- package/core/types/frame.lua +112 -37
- package/core/types/handle.lua +6 -9
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/player.d.ts +2 -1
- package/core/types/player.lua +18 -13
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +1 -1
- package/core/types/sound.lua +13 -8
- package/core/types/unit.d.ts +4 -0
- package/core/types/unit.lua +4 -0
- package/decl/native.d.ts +705 -7
- package/engine/behaviour/ability/damage.lua +11 -14
- package/engine/behaviour/ability/emulate-impact.lua +5 -4
- package/engine/behaviour/ability.d.ts +1 -0
- package/engine/behaviour/ability.lua +11 -0
- package/engine/behaviour/unit.d.ts +1 -0
- package/engine/behaviour/unit.lua +1 -0
- package/engine/buff.d.ts +13 -10
- package/engine/buff.lua +66 -17
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +4 -0
- package/engine/internal/ability.lua +52 -33
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item+owner.d.ts +1 -0
- package/engine/internal/item+owner.lua +7 -0
- package/engine/internal/item.d.ts +16 -5
- package/engine/internal/item.lua +130 -57
- package/engine/internal/unit/ability.lua +15 -3
- package/engine/internal/unit/appearance.d.ts +15 -0
- package/engine/internal/unit/appearance.lua +85 -0
- package/engine/internal/unit/bag.d.ts +18 -0
- package/engine/internal/unit/bag.lua +63 -0
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment.d.ts +36 -0
- package/engine/internal/unit/equipment.lua +169 -0
- package/engine/internal/unit/{item.d.ts → inventory.d.ts} +3 -3
- package/engine/internal/unit/{item.lua → inventory.lua} +25 -26
- package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
- package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
- package/engine/internal/unit+damage.d.ts +9 -0
- package/engine/internal/unit+damage.lua +33 -0
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit.d.ts +0 -1
- package/engine/internal/unit.lua +2 -7
- package/engine/local-client.d.ts +25 -0
- package/engine/local-client.lua +364 -54
- package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
- package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
- package/engine/object-data/auxiliary/equipment-type.d.ts +13 -0
- package/engine/object-data/auxiliary/equipment-type.lua +2 -0
- package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
- package/engine/object-data/auxiliary/item-tag.lua +2 -0
- package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
- package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
- package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
- package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
- package/engine/object-data/entry/ability-type/banshee.lua +13 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
- package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
- package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
- package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
- package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
- package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
- package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
- package/engine/object-data/entry/ability-type/consecration.lua +52 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
- package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment.lua +27 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
- package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
- package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
- package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
- package/engine/object-data/entry/ability-type/grit.lua +65 -0
- package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
- package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
- package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
- package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
- package/engine/object-data/entry/ability-type/healing-modifier.d.ts +9 -0
- package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
- package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
- package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
- package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
- package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
- package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
- package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
- package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
- package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
- package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
- package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
- package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
- package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
- package/engine/object-data/entry/ability-type/resolve.lua +39 -0
- package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
- package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
- package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
- package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
- package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
- package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
- package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
- package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
- package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
- package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
- package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
- package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
- package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
- package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
- package/engine/object-data/entry/ability-type/talents.lua +27 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
- package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
- package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
- package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
- package/engine/object-data/entry/ability-type/warcry.lua +26 -0
- package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
- package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
- package/engine/object-data/entry/ability-type.d.ts +10 -3
- package/engine/object-data/entry/ability-type.lua +53 -0
- package/engine/object-data/entry/buff-type.d.ts +6 -2
- package/engine/object-data/entry/buff-type.lua +26 -0
- package/engine/object-data/entry/destructible-type.d.ts +6 -2
- package/engine/object-data/entry/destructible-type.lua +26 -0
- package/engine/object-data/entry/item-type.d.ts +12 -3
- package/engine/object-data/entry/item-type.lua +52 -0
- package/engine/object-data/entry/lightning-type.d.ts +2 -2
- package/engine/object-data/entry/sound-preset.d.ts +2 -2
- package/engine/object-data/entry/unit-type.d.ts +47 -2
- package/engine/object-data/entry/unit-type.lua +383 -49
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry.d.ts +4 -1
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/standard/entries/ability-type.d.ts +3102 -7
- package/engine/standard/entries/ability-type.lua +0 -6
- package/engine/standard/entries/item-type.d.ts +1299 -0
- package/engine/standard/entries/item-type.lua +2 -0
- package/engine/standard/entries/unit-type.d.ts +5 -0
- package/engine/standard/entries/unit-type.lua +5 -0
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/unit.d.ts +4 -1
- package/engine/unit.lua +4 -1
- package/event.d.ts +1 -1
- package/lualib_bundle.lua +46 -117
- package/math.d.ts +2 -0
- package/math.lua +14 -0
- package/network.lua +25 -1
- package/operation.d.ts +8 -1
- package/operation.lua +49 -35
- package/package.json +3 -23
- package/utility/linked-map.d.ts +2 -1
- package/utility/linked-map.lua +6 -0
- package/utility/linked-set.d.ts +1 -0
- package/utility/linked-set.lua +6 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
|
@@ -15,6 +15,7 @@ export declare const MOUNTAIN_KING_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
|
15
15
|
export declare const PALADIN_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
16
16
|
export declare const ARCHER_HIGH_ELF_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
17
17
|
export declare const CAPTAIN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
18
|
+
export declare const CHAPLAIN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
18
19
|
export declare const SWORDSMAN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
19
20
|
export declare const ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
20
21
|
export declare const ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
@@ -47,6 +48,7 @@ export declare const SPIRIT_WALKER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
|
47
48
|
export declare const TAUREN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
48
49
|
export declare const WIND_RIDER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
49
50
|
export declare const WITCH_DOCTOR_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
51
|
+
export declare const BLADEMASTER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
50
52
|
export declare const ARCHER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
51
53
|
export declare const CHIMAERA_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
52
54
|
export declare const DRUID_OF_THE_CLAW_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
@@ -67,9 +69,11 @@ export declare const DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID: StandardHeroUnit
|
|
|
67
69
|
export declare const ABOMINATION_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
68
70
|
export declare const GHOUL_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
69
71
|
export declare const DEATH_KNIGHT_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
72
|
+
export declare const DREADLORD_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
70
73
|
export declare const ZOMBIE_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
71
74
|
export declare const ZOMBIE_FEMALE_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
72
75
|
export declare const ARTHAS_EVIL_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
76
|
+
export declare const MAL_GANIS_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
73
77
|
export declare const DIRE_MAMMOTH_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
74
78
|
export declare const ELDER_JUNGLE_STALKER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
75
79
|
export declare const ENRAGED_ELEMENTAL_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
@@ -98,6 +102,7 @@ export declare const WENDIGO_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
|
98
102
|
export declare const WENDIGO_SHAMAN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
99
103
|
export declare const WILDKIN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
100
104
|
export declare const WRAITH_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
105
|
+
export declare const PIT_LORD_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
101
106
|
export declare const GOBLIN_LAND_MINE_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
102
107
|
export declare const CIRCLE_OF_POWER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
103
108
|
export declare const CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
@@ -14,6 +14,7 @@ ____exports.MOUNTAIN_KING_HERO_UNIT_TYPE_ID = fourCC("Hmkg")
|
|
|
14
14
|
____exports.PALADIN_HERO_UNIT_TYPE_ID = fourCC("Hpal")
|
|
15
15
|
____exports.ARCHER_HIGH_ELF_UNIT_TYPE_ID = fourCC("nhea")
|
|
16
16
|
____exports.CAPTAIN_UNIT_TYPE_ID = fourCC("hcth")
|
|
17
|
+
____exports.CHAPLAIN_UNIT_TYPE_ID = fourCC("nchp")
|
|
17
18
|
____exports.SWORDSMAN_UNIT_TYPE_ID = fourCC("hhes")
|
|
18
19
|
____exports.ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID = fourCC("Hapm")
|
|
19
20
|
____exports.ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID = fourCC("Hssa")
|
|
@@ -46,6 +47,7 @@ ____exports.SPIRIT_WALKER_UNIT_TYPE_ID = fourCC("ospw")
|
|
|
46
47
|
____exports.TAUREN_UNIT_TYPE_ID = fourCC("otau")
|
|
47
48
|
____exports.WIND_RIDER_UNIT_TYPE_ID = fourCC("owyv")
|
|
48
49
|
____exports.WITCH_DOCTOR_UNIT_TYPE_ID = fourCC("odoc")
|
|
50
|
+
____exports.BLADEMASTER_HERO_UNIT_TYPE_ID = fourCC("Obla")
|
|
49
51
|
____exports.ARCHER_UNIT_TYPE_ID = fourCC("earc")
|
|
50
52
|
____exports.CHIMAERA_UNIT_TYPE_ID = fourCC("echm")
|
|
51
53
|
____exports.DRUID_OF_THE_CLAW_UNIT_TYPE_ID = fourCC("edoc")
|
|
@@ -66,9 +68,11 @@ ____exports.DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID = fourCC("Edmm")
|
|
|
66
68
|
____exports.ABOMINATION_UNIT_TYPE_ID = fourCC("uabo")
|
|
67
69
|
____exports.GHOUL_UNIT_TYPE_ID = fourCC("ugho")
|
|
68
70
|
____exports.DEATH_KNIGHT_HERO_UNIT_TYPE_ID = fourCC("Udea")
|
|
71
|
+
____exports.DREADLORD_HERO_UNIT_TYPE_ID = fourCC("Udre")
|
|
69
72
|
____exports.ZOMBIE_UNIT_TYPE_ID = fourCC("nzom")
|
|
70
73
|
____exports.ZOMBIE_FEMALE_UNIT_TYPE_ID = fourCC("nzof")
|
|
71
74
|
____exports.ARTHAS_EVIL_HERO_UNIT_TYPE_ID = fourCC("Uear")
|
|
75
|
+
____exports.MAL_GANIS_HERO_UNIT_TYPE_ID = fourCC("Umal")
|
|
72
76
|
____exports.DIRE_MAMMOTH_UNIT_TYPE_ID = fourCC("nmdr")
|
|
73
77
|
____exports.ELDER_JUNGLE_STALKER_UNIT_TYPE_ID = fourCC("njga")
|
|
74
78
|
____exports.ENRAGED_ELEMENTAL_UNIT_TYPE_ID = fourCC("nele")
|
|
@@ -97,6 +101,7 @@ ____exports.WENDIGO_UNIT_TYPE_ID = fourCC("nwen")
|
|
|
97
101
|
____exports.WENDIGO_SHAMAN_UNIT_TYPE_ID = fourCC("nwns")
|
|
98
102
|
____exports.WILDKIN_UNIT_TYPE_ID = fourCC("nowb")
|
|
99
103
|
____exports.WRAITH_UNIT_TYPE_ID = fourCC("ngh2")
|
|
104
|
+
____exports.PIT_LORD_HERO_UNIT_TYPE_ID = fourCC("Nplh")
|
|
100
105
|
____exports.GOBLIN_LAND_MINE_UNIT_TYPE_ID = fourCC("nglm")
|
|
101
106
|
____exports.CIRCLE_OF_POWER_UNIT_TYPE_ID = fourCC("ncop")
|
|
102
107
|
____exports.CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID = fourCC("ncp2")
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____item = require("engine.object-field.item")
|
|
3
|
+
local ItemBooleanField = ____item.ItemBooleanField
|
|
4
|
+
____exports.CAN_BE_SOLD_TO_MERCHANTS_ITEM_FIELD = ItemBooleanField:create(fourCC("ipaw"))
|
|
5
|
+
____exports.IS_ACTIVELY_USED_ITEM_FIELD = ItemBooleanField:create(fourCC("iusa"))
|
|
6
|
+
return ____exports
|
package/engine/unit.d.ts
CHANGED
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
import "./internal/unit";
|
|
3
3
|
import "./internal/unit/order";
|
|
4
4
|
import "./internal/unit/ability";
|
|
5
|
+
import "./internal/unit/appearance";
|
|
6
|
+
import "./internal/unit/bag";
|
|
7
|
+
import "./internal/unit/equipment";
|
|
5
8
|
import "./internal/unit/allowed-targets";
|
|
6
9
|
import "./internal/unit/buff";
|
|
7
10
|
import "./internal/unit/expiration-timer";
|
|
8
|
-
import "./internal/unit/
|
|
11
|
+
import "./internal/unit/inventory";
|
|
9
12
|
import "./internal/unit+ability";
|
|
10
13
|
import "./internal/unit+damage";
|
|
11
14
|
import "./internal/unit+rally";
|
package/engine/unit.lua
CHANGED
|
@@ -2,10 +2,13 @@ local ____exports = {}
|
|
|
2
2
|
require("engine.internal.unit")
|
|
3
3
|
require("engine.internal.unit.order")
|
|
4
4
|
require("engine.internal.unit.ability")
|
|
5
|
+
require("engine.internal.unit.appearance")
|
|
6
|
+
require("engine.internal.unit.bag")
|
|
7
|
+
require("engine.internal.unit.equipment")
|
|
5
8
|
require("engine.internal.unit.allowed-targets")
|
|
6
9
|
require("engine.internal.unit.buff")
|
|
7
10
|
require("engine.internal.unit.expiration-timer")
|
|
8
|
-
require("engine.internal.unit.
|
|
11
|
+
require("engine.internal.unit.inventory")
|
|
9
12
|
require("engine.internal.unit+ability")
|
|
10
13
|
require("engine.internal.unit+damage")
|
|
11
14
|
require("engine.internal.unit+rally")
|
package/event.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare const createDispatchingEvent: {
|
|
|
40
40
|
<T extends Event<any>, S extends Event<EventParameters<T>>>(underlyingEvent: T, extractKey: (this: void, ...args: EventParameters<T>) => number, invokeEvent?: (this: void, event: S, ...args: EventParameters<T>) => unknown, ...createEvent: [...(Event<any> extends S ? [((this: void) => S)?] : [(this: void) => S])]): DispatchingEvent<EventParameters<T>, T, S>;
|
|
41
41
|
};
|
|
42
42
|
export declare class DependentInitializingEvent<T extends any[], R extends any[]> extends InitializingEvent<R, EventListener<T>> {
|
|
43
|
-
constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false] | [
|
|
43
|
+
constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false, ...unknown[]] | [boolean, ...R]>);
|
|
44
44
|
}
|
|
45
45
|
export declare class EventParametersCaptor<T extends any[]> {
|
|
46
46
|
private readonly event;
|
package/lualib_bundle.lua
CHANGED
|
@@ -653,6 +653,7 @@ do
|
|
|
653
653
|
self.state = 0
|
|
654
654
|
self.fulfilledCallbacks = {}
|
|
655
655
|
self.rejectedCallbacks = {}
|
|
656
|
+
self.finallyCallbacks = {}
|
|
656
657
|
local success, ____error = ____pcall(
|
|
657
658
|
executor,
|
|
658
659
|
nil,
|
|
@@ -702,40 +703,14 @@ do
|
|
|
702
703
|
return self["then"](self, nil, onRejected)
|
|
703
704
|
end
|
|
704
705
|
function __TS__Promise.prototype.finally(self, onFinally)
|
|
705
|
-
if
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
function(____, x)
|
|
711
|
-
local ____self_2 = __TS__New(
|
|
712
|
-
__TS__Promise,
|
|
713
|
-
function(____, resolve) return resolve(
|
|
714
|
-
nil,
|
|
715
|
-
onFinally(nil)
|
|
716
|
-
) end
|
|
717
|
-
)
|
|
718
|
-
return ____self_2["then"](
|
|
719
|
-
____self_2,
|
|
720
|
-
function() return x end
|
|
721
|
-
)
|
|
722
|
-
end,
|
|
723
|
-
function(____, e)
|
|
724
|
-
local ____self_3 = __TS__New(
|
|
725
|
-
__TS__Promise,
|
|
726
|
-
function(____, resolve) return resolve(
|
|
727
|
-
nil,
|
|
728
|
-
onFinally(nil)
|
|
729
|
-
) end
|
|
730
|
-
)
|
|
731
|
-
return ____self_3["then"](
|
|
732
|
-
____self_3,
|
|
733
|
-
function()
|
|
734
|
-
error(e, 0)
|
|
735
|
-
end
|
|
736
|
-
)
|
|
706
|
+
if onFinally then
|
|
707
|
+
local ____self_finallyCallbacks_2 = self.finallyCallbacks
|
|
708
|
+
____self_finallyCallbacks_2[#____self_finallyCallbacks_2 + 1] = onFinally
|
|
709
|
+
if self.state ~= 0 then
|
|
710
|
+
onFinally(nil)
|
|
737
711
|
end
|
|
738
|
-
|
|
712
|
+
end
|
|
713
|
+
return self
|
|
739
714
|
end
|
|
740
715
|
function __TS__Promise.prototype.resolve(self, value)
|
|
741
716
|
if isPromiseLike(value) then
|
|
@@ -759,11 +734,22 @@ do
|
|
|
759
734
|
end
|
|
760
735
|
function __TS__Promise.prototype.invokeCallbacks(self, callbacks, value)
|
|
761
736
|
local callbacksLength = #callbacks
|
|
737
|
+
local finallyCallbacks = self.finallyCallbacks
|
|
738
|
+
local finallyCallbacksLength = #finallyCallbacks
|
|
762
739
|
if callbacksLength ~= 0 then
|
|
763
740
|
for i = 1, callbacksLength - 1 do
|
|
764
741
|
callbacks[i](callbacks, value)
|
|
765
742
|
end
|
|
766
|
-
|
|
743
|
+
if finallyCallbacksLength == 0 then
|
|
744
|
+
return callbacks[callbacksLength](callbacks, value)
|
|
745
|
+
end
|
|
746
|
+
callbacks[callbacksLength](callbacks, value)
|
|
747
|
+
end
|
|
748
|
+
if finallyCallbacksLength ~= 0 then
|
|
749
|
+
for i = 1, finallyCallbacksLength - 1 do
|
|
750
|
+
finallyCallbacks[i](finallyCallbacks)
|
|
751
|
+
end
|
|
752
|
+
return finallyCallbacks[finallyCallbacksLength](finallyCallbacks)
|
|
767
753
|
end
|
|
768
754
|
end
|
|
769
755
|
function __TS__Promise.prototype.createPromiseResolvingCallback(self, f, resolve, reject)
|
|
@@ -918,10 +904,8 @@ local function __TS__ObjectAssign(target, ...)
|
|
|
918
904
|
local sources = {...}
|
|
919
905
|
for i = 1, #sources do
|
|
920
906
|
local source = sources[i]
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
target[key] = source[key]
|
|
924
|
-
end
|
|
907
|
+
for key in pairs(source) do
|
|
908
|
+
target[key] = source[key]
|
|
925
909
|
end
|
|
926
910
|
end
|
|
927
911
|
return target
|
|
@@ -1027,13 +1011,6 @@ do
|
|
|
1027
1011
|
metatable = {}
|
|
1028
1012
|
setmetatable(target, metatable)
|
|
1029
1013
|
end
|
|
1030
|
-
if not isPrototype and not rawget(metatable, "_isOwnDescriptorMetatable") then
|
|
1031
|
-
local instanceMetatable = {}
|
|
1032
|
-
instanceMetatable._isOwnDescriptorMetatable = true
|
|
1033
|
-
setmetatable(instanceMetatable, metatable)
|
|
1034
|
-
setmetatable(target, instanceMetatable)
|
|
1035
|
-
metatable = instanceMetatable
|
|
1036
|
-
end
|
|
1037
1014
|
local value = rawget(target, key)
|
|
1038
1015
|
if value ~= nil then
|
|
1039
1016
|
rawset(target, key, nil)
|
|
@@ -1406,70 +1383,46 @@ do
|
|
|
1406
1383
|
return self:entries()
|
|
1407
1384
|
end
|
|
1408
1385
|
function Map.prototype.entries(self)
|
|
1409
|
-
local function getFirstKey()
|
|
1410
|
-
return self.firstKey
|
|
1411
|
-
end
|
|
1412
1386
|
local items = self.items
|
|
1413
1387
|
local nextKey = self.nextKey
|
|
1414
|
-
local key
|
|
1415
|
-
local started = false
|
|
1388
|
+
local key = self.firstKey
|
|
1416
1389
|
return {
|
|
1417
1390
|
[Symbol.iterator] = function(self)
|
|
1418
1391
|
return self
|
|
1419
1392
|
end,
|
|
1420
1393
|
next = function(self)
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
else
|
|
1425
|
-
key = nextKey[key]
|
|
1426
|
-
end
|
|
1427
|
-
return {done = not key, value = {key, items[key]}}
|
|
1394
|
+
local result = {done = not key, value = {key, items[key]}}
|
|
1395
|
+
key = nextKey[key]
|
|
1396
|
+
return result
|
|
1428
1397
|
end
|
|
1429
1398
|
}
|
|
1430
1399
|
end
|
|
1431
1400
|
function Map.prototype.keys(self)
|
|
1432
|
-
local function getFirstKey()
|
|
1433
|
-
return self.firstKey
|
|
1434
|
-
end
|
|
1435
1401
|
local nextKey = self.nextKey
|
|
1436
|
-
local key
|
|
1437
|
-
local started = false
|
|
1402
|
+
local key = self.firstKey
|
|
1438
1403
|
return {
|
|
1439
1404
|
[Symbol.iterator] = function(self)
|
|
1440
1405
|
return self
|
|
1441
1406
|
end,
|
|
1442
1407
|
next = function(self)
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
else
|
|
1447
|
-
key = nextKey[key]
|
|
1448
|
-
end
|
|
1449
|
-
return {done = not key, value = key}
|
|
1408
|
+
local result = {done = not key, value = key}
|
|
1409
|
+
key = nextKey[key]
|
|
1410
|
+
return result
|
|
1450
1411
|
end
|
|
1451
1412
|
}
|
|
1452
1413
|
end
|
|
1453
1414
|
function Map.prototype.values(self)
|
|
1454
|
-
local function getFirstKey()
|
|
1455
|
-
return self.firstKey
|
|
1456
|
-
end
|
|
1457
1415
|
local items = self.items
|
|
1458
1416
|
local nextKey = self.nextKey
|
|
1459
|
-
local key
|
|
1460
|
-
local started = false
|
|
1417
|
+
local key = self.firstKey
|
|
1461
1418
|
return {
|
|
1462
1419
|
[Symbol.iterator] = function(self)
|
|
1463
1420
|
return self
|
|
1464
1421
|
end,
|
|
1465
1422
|
next = function(self)
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
else
|
|
1470
|
-
key = nextKey[key]
|
|
1471
|
-
end
|
|
1472
|
-
return {done = not key, value = items[key]}
|
|
1423
|
+
local result = {done = not key, value = items[key]}
|
|
1424
|
+
key = nextKey[key]
|
|
1425
|
+
return result
|
|
1473
1426
|
end
|
|
1474
1427
|
}
|
|
1475
1428
|
end
|
|
@@ -2046,68 +1999,44 @@ do
|
|
|
2046
1999
|
return self:values()
|
|
2047
2000
|
end
|
|
2048
2001
|
function Set.prototype.entries(self)
|
|
2049
|
-
local function getFirstKey()
|
|
2050
|
-
return self.firstKey
|
|
2051
|
-
end
|
|
2052
2002
|
local nextKey = self.nextKey
|
|
2053
|
-
local key
|
|
2054
|
-
local started = false
|
|
2003
|
+
local key = self.firstKey
|
|
2055
2004
|
return {
|
|
2056
2005
|
[Symbol.iterator] = function(self)
|
|
2057
2006
|
return self
|
|
2058
2007
|
end,
|
|
2059
2008
|
next = function(self)
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
else
|
|
2064
|
-
key = nextKey[key]
|
|
2065
|
-
end
|
|
2066
|
-
return {done = not key, value = {key, key}}
|
|
2009
|
+
local result = {done = not key, value = {key, key}}
|
|
2010
|
+
key = nextKey[key]
|
|
2011
|
+
return result
|
|
2067
2012
|
end
|
|
2068
2013
|
}
|
|
2069
2014
|
end
|
|
2070
2015
|
function Set.prototype.keys(self)
|
|
2071
|
-
local function getFirstKey()
|
|
2072
|
-
return self.firstKey
|
|
2073
|
-
end
|
|
2074
2016
|
local nextKey = self.nextKey
|
|
2075
|
-
local key
|
|
2076
|
-
local started = false
|
|
2017
|
+
local key = self.firstKey
|
|
2077
2018
|
return {
|
|
2078
2019
|
[Symbol.iterator] = function(self)
|
|
2079
2020
|
return self
|
|
2080
2021
|
end,
|
|
2081
2022
|
next = function(self)
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
else
|
|
2086
|
-
key = nextKey[key]
|
|
2087
|
-
end
|
|
2088
|
-
return {done = not key, value = key}
|
|
2023
|
+
local result = {done = not key, value = key}
|
|
2024
|
+
key = nextKey[key]
|
|
2025
|
+
return result
|
|
2089
2026
|
end
|
|
2090
2027
|
}
|
|
2091
2028
|
end
|
|
2092
2029
|
function Set.prototype.values(self)
|
|
2093
|
-
local function getFirstKey()
|
|
2094
|
-
return self.firstKey
|
|
2095
|
-
end
|
|
2096
2030
|
local nextKey = self.nextKey
|
|
2097
|
-
local key
|
|
2098
|
-
local started = false
|
|
2031
|
+
local key = self.firstKey
|
|
2099
2032
|
return {
|
|
2100
2033
|
[Symbol.iterator] = function(self)
|
|
2101
2034
|
return self
|
|
2102
2035
|
end,
|
|
2103
2036
|
next = function(self)
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
else
|
|
2108
|
-
key = nextKey[key]
|
|
2109
|
-
end
|
|
2110
|
-
return {done = not key, value = key}
|
|
2037
|
+
local result = {done = not key, value = key}
|
|
2038
|
+
key = nextKey[key]
|
|
2039
|
+
return result
|
|
2111
2040
|
end
|
|
2112
2041
|
}
|
|
2113
2042
|
end
|
package/math.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export declare const floor: typeof math.floor;
|
|
|
23
23
|
export declare const log: typeof math.log;
|
|
24
24
|
export declare const max: typeof math.max;
|
|
25
25
|
export declare const min: typeof math.min;
|
|
26
|
+
export declare const sum: (x: number, ...numbers: number[]) => number;
|
|
27
|
+
export declare const product: (x: number, ...numbers: number[]) => number;
|
|
26
28
|
/** Returns the signum function of the argument;
|
|
27
29
|
* zero if the argument is zero,
|
|
28
30
|
* 1.0 if the argument is greater than zero,
|
package/math.lua
CHANGED
|
@@ -39,6 +39,20 @@ ____exports.floor = math.floor
|
|
|
39
39
|
____exports.log = math.log
|
|
40
40
|
____exports.max = math.max
|
|
41
41
|
____exports.min = math.min
|
|
42
|
+
____exports.sum = function(x, ...)
|
|
43
|
+
for i = 1, select("#", ...) do
|
|
44
|
+
local number = select(i, ...)
|
|
45
|
+
x = x + number
|
|
46
|
+
end
|
|
47
|
+
return x
|
|
48
|
+
end
|
|
49
|
+
____exports.product = function(x, ...)
|
|
50
|
+
for i = 1, select("#", ...) do
|
|
51
|
+
local number = select(i, ...)
|
|
52
|
+
x = x * number
|
|
53
|
+
end
|
|
54
|
+
return x
|
|
55
|
+
end
|
|
42
56
|
--- Returns the signum function of the argument;
|
|
43
57
|
-- zero if the argument is zero,
|
|
44
58
|
-- 1.0 if the argument is greater than zero,
|
package/network.lua
CHANGED
|
@@ -8,6 +8,7 @@ local ____exports = {}
|
|
|
8
8
|
local ____event = require("event")
|
|
9
9
|
local TriggerEvent = ____event.TriggerEvent
|
|
10
10
|
local ____exception = require("exception")
|
|
11
|
+
local CancellationException = ____exception.CancellationException
|
|
11
12
|
local IllegalArgumentException = ____exception.IllegalArgumentException
|
|
12
13
|
local ____player = require("core.types.player")
|
|
13
14
|
local Player = ____player.Player
|
|
@@ -86,6 +87,9 @@ function SyncOperation.prototype.____constructor(self, player, data)
|
|
|
86
87
|
self.l = #self.d
|
|
87
88
|
end
|
|
88
89
|
function SyncOperation.prototype.estimate(self)
|
|
90
|
+
if self.isCanceled or not self.player.isPlaying then
|
|
91
|
+
return __TS__Promise.reject(__TS__New(CancellationException))
|
|
92
|
+
end
|
|
89
93
|
if self.player.isLocal then
|
|
90
94
|
sendSyncData(
|
|
91
95
|
"__oh",
|
|
@@ -98,6 +102,7 @@ function SyncOperation.prototype.estimate(self)
|
|
|
98
102
|
end
|
|
99
103
|
function SyncOperation.prototype.work(self)
|
|
100
104
|
if self.progress >= self.maximum then
|
|
105
|
+
syncOperationById[self.x] = nil
|
|
101
106
|
return decode(concat(self.c))
|
|
102
107
|
end
|
|
103
108
|
self.s = packetsPerRound
|
|
@@ -116,7 +121,18 @@ function SyncOperation.prototype.work(self)
|
|
|
116
121
|
return __TS__New(__TS__Promise, syncPromiseExecutor)
|
|
117
122
|
end
|
|
118
123
|
function SyncOperation.prototype.doCancel(self)
|
|
119
|
-
|
|
124
|
+
if not (syncOperationById[self.x] ~= nil) then
|
|
125
|
+
return false
|
|
126
|
+
end
|
|
127
|
+
syncOperationById[self.x] = nil
|
|
128
|
+
local ____opt_1 = self.r
|
|
129
|
+
if ____opt_1 ~= nil then
|
|
130
|
+
____opt_1(
|
|
131
|
+
self,
|
|
132
|
+
__TS__New(CancellationException)
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
return true
|
|
120
136
|
end
|
|
121
137
|
__TS__ObjectDefineProperty(
|
|
122
138
|
SyncOperation,
|
|
@@ -178,6 +194,7 @@ SyncOperation._ = (function()
|
|
|
178
194
|
local resolveWork = syncOperation.w
|
|
179
195
|
if resolveWork then
|
|
180
196
|
if syncOperation.progress >= syncOperation.maximum then
|
|
197
|
+
syncOperationById[id] = nil
|
|
181
198
|
resolveWork(
|
|
182
199
|
nil,
|
|
183
200
|
decode(concat(chunks))
|
|
@@ -188,6 +205,13 @@ SyncOperation._ = (function()
|
|
|
188
205
|
end
|
|
189
206
|
end
|
|
190
207
|
end)
|
|
208
|
+
Player.onLeave:addListener(function(player)
|
|
209
|
+
for ____, operation in pairs(syncOperationById) do
|
|
210
|
+
if operation.player == player then
|
|
211
|
+
operation:cancel()
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
end)
|
|
191
215
|
end)()
|
|
192
216
|
function ____exports.synchronize(player, data)
|
|
193
217
|
return __TS__New(____exports.SyncOperation, player, data):execute()
|
package/operation.d.ts
CHANGED
|
@@ -16,9 +16,11 @@ export { OperationContinue };
|
|
|
16
16
|
export declare abstract class Operation<T> {
|
|
17
17
|
protected constructor();
|
|
18
18
|
private started;
|
|
19
|
+
private settled;
|
|
20
|
+
private canceled;
|
|
19
21
|
protected progress: number;
|
|
20
22
|
protected maximum: number;
|
|
21
|
-
isCanceled: boolean;
|
|
23
|
+
get isCanceled(): boolean;
|
|
22
24
|
get isStarted(): boolean;
|
|
23
25
|
execute(): OperationMonitor<T>;
|
|
24
26
|
protected abstract estimate(): number | Promise<number>;
|
|
@@ -30,6 +32,11 @@ export declare abstract class Operation<T> {
|
|
|
30
32
|
...result: [success: true, result: T] | [success: false, reason?: any]
|
|
31
33
|
]>;
|
|
32
34
|
get onProgress(): Event<[operation: Operation<T>]>;
|
|
35
|
+
/**
|
|
36
|
+
* Invoked with `isCanceled` already set. Should unblock any pending `estimate`/`work` promise
|
|
37
|
+
* (e.g. by rejecting it) and return whether cancellation is possible; on `false` the canceled
|
|
38
|
+
* state is reverted.
|
|
39
|
+
*/
|
|
33
40
|
protected abstract doCancel(): boolean;
|
|
34
41
|
cancel(): boolean;
|
|
35
42
|
}
|
package/operation.lua
CHANGED
|
@@ -35,9 +35,10 @@ local Operation = ____exports.Operation
|
|
|
35
35
|
Operation.name = "Operation"
|
|
36
36
|
function Operation.prototype.____constructor(self)
|
|
37
37
|
self.started = false
|
|
38
|
+
self.settled = false
|
|
39
|
+
self.canceled = false
|
|
38
40
|
self.progress = 0
|
|
39
41
|
self.maximum = 0
|
|
40
|
-
self.isCanceled = false
|
|
41
42
|
end
|
|
42
43
|
function Operation.prototype.execute(self)
|
|
43
44
|
if self.started then
|
|
@@ -54,8 +55,13 @@ function Operation.prototype.execute(self)
|
|
|
54
55
|
return __TS__AsyncAwaiter(function(____awaiter_resolve)
|
|
55
56
|
local result
|
|
56
57
|
local progress = self.progress
|
|
57
|
-
local ____hasReturned, ____returnValue
|
|
58
58
|
local ____try = __TS__AsyncAwaiter(function()
|
|
59
|
+
if self.canceled then
|
|
60
|
+
error(
|
|
61
|
+
__TS__New(CancellationException),
|
|
62
|
+
0
|
|
63
|
+
)
|
|
64
|
+
end
|
|
59
65
|
local maximum = __TS__Await(self:estimate())
|
|
60
66
|
self.maximum = maximum
|
|
61
67
|
if maximum ~= 0 then
|
|
@@ -66,21 +72,19 @@ function Operation.prototype.execute(self)
|
|
|
66
72
|
end
|
|
67
73
|
repeat
|
|
68
74
|
do
|
|
69
|
-
if self.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Event.invoke(onFailure, self, reason)
|
|
75
|
-
end
|
|
76
|
-
local onComplete = ____rawget(self, "onComplete")
|
|
77
|
-
if onComplete ~= nil then
|
|
78
|
-
Event.invoke(onComplete, self, false, reason)
|
|
79
|
-
end
|
|
80
|
-
____hasReturned = true
|
|
81
|
-
return
|
|
75
|
+
if self.canceled then
|
|
76
|
+
error(
|
|
77
|
+
__TS__New(CancellationException),
|
|
78
|
+
0
|
|
79
|
+
)
|
|
82
80
|
end
|
|
83
81
|
result = __TS__Await(self:work())
|
|
82
|
+
if self.canceled then
|
|
83
|
+
error(
|
|
84
|
+
__TS__New(CancellationException),
|
|
85
|
+
0
|
|
86
|
+
)
|
|
87
|
+
end
|
|
84
88
|
if self.progress ~= progress or self.maximum ~= maximum then
|
|
85
89
|
progress = self.progress
|
|
86
90
|
maximum = self.maximum
|
|
@@ -92,28 +96,23 @@ function Operation.prototype.execute(self)
|
|
|
92
96
|
end
|
|
93
97
|
until not (result == OperationContinue)
|
|
94
98
|
end)
|
|
95
|
-
____try
|
|
99
|
+
__TS__Await(____try.catch(
|
|
96
100
|
____try,
|
|
97
101
|
function(____, reason)
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
return
|
|
110
|
-
end)
|
|
102
|
+
self.settled = true
|
|
103
|
+
reject(nil, reason)
|
|
104
|
+
local onFailure = ____rawget(self, "onFailure")
|
|
105
|
+
if onFailure ~= nil then
|
|
106
|
+
Event.invoke(onFailure, self, reason)
|
|
107
|
+
end
|
|
108
|
+
local onComplete = ____rawget(self, "onComplete")
|
|
109
|
+
if onComplete ~= nil then
|
|
110
|
+
Event.invoke(onComplete, self, false, reason)
|
|
111
|
+
end
|
|
112
|
+
return ____awaiter_resolve(nil)
|
|
111
113
|
end
|
|
112
|
-
)
|
|
113
|
-
|
|
114
|
-
if ____hasReturned then
|
|
115
|
-
return ____awaiter_resolve(nil, ____returnValue)
|
|
116
|
-
end
|
|
114
|
+
))
|
|
115
|
+
self.settled = true
|
|
117
116
|
resolve(nil, result)
|
|
118
117
|
local onSuccess = ____rawget(self, "onSuccess")
|
|
119
118
|
if onSuccess ~= nil then
|
|
@@ -128,12 +127,27 @@ function Operation.prototype.execute(self)
|
|
|
128
127
|
)
|
|
129
128
|
end
|
|
130
129
|
function Operation.prototype.cancel(self)
|
|
130
|
+
if self.canceled then
|
|
131
|
+
return true
|
|
132
|
+
end
|
|
133
|
+
if self.settled then
|
|
134
|
+
return false
|
|
135
|
+
end
|
|
136
|
+
self.canceled = true
|
|
131
137
|
if self:doCancel() then
|
|
132
|
-
self.isCanceled = true
|
|
133
138
|
return true
|
|
134
139
|
end
|
|
140
|
+
self.canceled = false
|
|
135
141
|
return false
|
|
136
142
|
end
|
|
143
|
+
__TS__SetDescriptor(
|
|
144
|
+
Operation.prototype,
|
|
145
|
+
"isCanceled",
|
|
146
|
+
{get = function(self)
|
|
147
|
+
return self.canceled
|
|
148
|
+
end},
|
|
149
|
+
true
|
|
150
|
+
)
|
|
137
151
|
__TS__SetDescriptor(
|
|
138
152
|
Operation.prototype,
|
|
139
153
|
"isStarted",
|