warscript 0.0.1-dev.1858ab2 → 0.0.1-dev.193ed34
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 +118 -13
- 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/player.lua +3 -1
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +79 -5
- package/core/types/sound.d.ts +17 -24
- package/core/types/sound.lua +99 -24
- package/core/types/timer.d.ts +8 -8
- package/core/types/timer.lua +25 -23
- 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 +844 -788
- package/engine/ability.d.ts +1 -1
- package/engine/behavior.d.ts +12 -10
- package/engine/behavior.lua +59 -33
- 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 +13 -4
- package/engine/behaviour/ability/apply-unit-behavior.lua +32 -9
- 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 +43 -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 +152 -26
- package/engine/behaviour/unit/stun-immunity.d.ts +5 -4
- package/engine/behaviour/unit/stun-immunity.lua +43 -27
- package/engine/behaviour/unit.d.ts +36 -2
- package/engine/behaviour/unit.lua +186 -0
- package/engine/buff.d.ts +104 -41
- package/engine/buff.lua +471 -212
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/internal/ability.d.ts +21 -14
- package/engine/internal/ability.lua +103 -76
- package/engine/internal/item/ability.lua +162 -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.d.ts +1 -3
- package/engine/internal/mechanics/ability-duration.lua +3 -1
- package/engine/internal/mechanics/cast-ability.d.ts +2 -0
- package/engine/internal/mechanics/cast-ability.lua +86 -0
- 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/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.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 +45 -1
- package/engine/internal/unit/ability.lua +98 -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/detach-missiles.d.ts +7 -0
- package/engine/internal/unit/detach-missiles.lua +30 -0
- 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/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -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 +33 -7
- package/engine/internal/unit.d.ts +87 -22
- package/engine/internal/unit.lua +580 -194
- 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/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -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/blink.d.ts +10 -0
- package/engine/object-data/entry/ability-type/blink.lua +39 -0
- 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 +20 -18
- package/engine/object-data/entry/ability-type.lua +91 -36
- package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
- package/engine/object-data/entry/buff-type/applicable.lua +39 -102
- 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 +61 -5
- package/engine/object-data/entry/unit-type.lua +511 -62
- 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 +33 -8
- package/engine/object-field/ability.lua +60 -1
- package/engine/object-field/unit.d.ts +57 -2
- package/engine/object-field/unit.lua +207 -4
- package/engine/object-field.d.ts +17 -6
- package/engine/object-field.lua +199 -97
- 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 +42 -1
- package/engine/standard/entries/unit-type.lua +42 -1
- package/engine/standard/fields/ability.d.ts +3 -1
- package/engine/standard/fields/ability.lua +3 -1
- package/engine/standard/fields/unit.d.ts +4 -0
- package/engine/standard/fields/unit.lua +7 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +248 -10
- package/engine/unit.d.ts +5 -0
- package/engine/unit.lua +14 -2
- package/event.d.ts +2 -3
- package/event.lua +9 -5
- package/global/vec2.lua +1 -0
- 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 +8 -0
- package/utility/functions.lua +13 -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 +5 -2
- package/utility/lua-maps.lua +20 -0
- package/utility/lua-sets.d.ts +3 -2
- package/utility/lua-sets.lua +7 -0
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +3 -2
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
package/attributes.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
declare const marker: {};
|
|
3
|
+
export type Attribute<T> = {
|
|
4
|
+
readonly __attribute: unique symbol;
|
|
5
|
+
readonly __type: T;
|
|
6
|
+
readonly __marker: typeof marker;
|
|
7
|
+
} & symbol;
|
|
8
|
+
export declare const attribute: <T>() => Attribute<T>;
|
|
9
|
+
export declare const isAttribute: (value: unknown) => value is Attribute<unknown>;
|
|
10
|
+
export declare namespace Attribute {
|
|
11
|
+
const create: <T>() => Attribute<T>;
|
|
12
|
+
}
|
|
13
|
+
export declare class AttributesHolder {
|
|
14
|
+
readonly get: (<T>(attribute: Attribute<T>) => T | undefined) & LuaExtension<"TableGetMethod">;
|
|
15
|
+
readonly set: (<T>(attribute: Attribute<T>, value: T | undefined) => void) & LuaExtension<"TableSetMethod">;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
package/attributes.lua
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local marker = {}
|
|
5
|
+
____exports.attribute = function()
|
|
6
|
+
return {__marker = marker}
|
|
7
|
+
end
|
|
8
|
+
____exports.isAttribute = function(value)
|
|
9
|
+
return type(value) == "table" and rawget(value, "__marker") == marker
|
|
10
|
+
end
|
|
11
|
+
____exports.Attribute = {}
|
|
12
|
+
local Attribute = ____exports.Attribute
|
|
13
|
+
do
|
|
14
|
+
Attribute.create = function()
|
|
15
|
+
return {__marker = marker}
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
____exports.AttributesHolder = __TS__Class()
|
|
19
|
+
local AttributesHolder = ____exports.AttributesHolder
|
|
20
|
+
AttributesHolder.name = "AttributesHolder"
|
|
21
|
+
function AttributesHolder.prototype.____constructor(self)
|
|
22
|
+
end
|
|
23
|
+
return ____exports
|
package/binaryreader.d.ts
CHANGED
package/binaryreader.lua
CHANGED
|
@@ -9,6 +9,9 @@ function BinaryReader.prototype.____constructor(self, data)
|
|
|
9
9
|
self.i = 1
|
|
10
10
|
self.s = data
|
|
11
11
|
end
|
|
12
|
+
function BinaryReader.prototype.__tostring(self)
|
|
13
|
+
return self.s
|
|
14
|
+
end
|
|
12
15
|
function BinaryReader.prototype.read(self, fmt)
|
|
13
16
|
local value, pos = ____unpack(">" .. fmt, self.s, self.i)
|
|
14
17
|
self.i = pos
|
package/config.d.ts
ADDED
package/config.lua
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
____exports.WarscriptConfig = __TS__Class()
|
|
5
|
+
local WarscriptConfig = ____exports.WarscriptConfig
|
|
6
|
+
WarscriptConfig.name = "WarscriptConfig"
|
|
7
|
+
function WarscriptConfig.prototype.____constructor(self)
|
|
8
|
+
end
|
|
9
|
+
WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH = true
|
|
10
|
+
return ____exports
|
package/core/types/effect.d.ts
CHANGED
|
@@ -4,15 +4,23 @@ import { Widget } from "./widget";
|
|
|
4
4
|
import { PlayerColor } from "./playerColor";
|
|
5
5
|
declare const enum EffectPropertyKey {
|
|
6
6
|
COLOR = 100,
|
|
7
|
-
PITCH = 101
|
|
7
|
+
PITCH = 101,
|
|
8
|
+
ROLL = 102
|
|
8
9
|
}
|
|
9
10
|
export type EffectParameters = {
|
|
11
|
+
readonly delay?: number;
|
|
10
12
|
readonly scale?: number;
|
|
11
13
|
readonly color?: PlayerColor;
|
|
14
|
+
readonly pitch?: number;
|
|
15
|
+
readonly roll?: number;
|
|
16
|
+
readonly detached?: boolean;
|
|
17
|
+
readonly zOffset?: number;
|
|
18
|
+
readonly scaleZOffset?: boolean;
|
|
12
19
|
};
|
|
13
20
|
export declare class Effect extends Handle<jeffect> {
|
|
14
21
|
private [EffectPropertyKey.COLOR]?;
|
|
15
22
|
private [EffectPropertyKey.PITCH]?;
|
|
23
|
+
private [EffectPropertyKey.ROLL]?;
|
|
16
24
|
protected onDestroy(): HandleDestructor;
|
|
17
25
|
get color(): PlayerColor;
|
|
18
26
|
set color(color: PlayerColor);
|
|
@@ -20,12 +28,12 @@ export declare class Effect extends Handle<jeffect> {
|
|
|
20
28
|
set scale(scale: number);
|
|
21
29
|
get pitch(): number;
|
|
22
30
|
set pitch(pitch: number);
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
get roll(): number;
|
|
32
|
+
set roll(roll: number);
|
|
33
|
+
static create<T extends Effect>(this: typeof Effect & (new (handle: jeffect) => T), modelPath: string, xOrWidget: number | Widget, yOrAttachmentPoint?: number | string, parameters?: EffectParameters): T;
|
|
25
34
|
static flash(modelPath: string, ...args: [
|
|
26
|
-
...pointOrWidget: [x: number, y: number] | [widget: Widget, attachmentPoint
|
|
27
|
-
...parametersOrDuration: [
|
|
35
|
+
...pointOrWidget: [x: number, y: number] | [widget: Widget, attachmentPoint?: string],
|
|
36
|
+
...parametersOrDuration: [parametersOrDuration?: EffectParameters | number] | [duration?: number, parameters?: EffectParameters]
|
|
28
37
|
]): void;
|
|
29
|
-
static flashTarget(model: string, target: Widget, attachPoint: string, duration?: number): void;
|
|
30
38
|
}
|
|
31
39
|
export {};
|
package/core/types/effect.lua
CHANGED
|
@@ -2,8 +2,9 @@ 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__InstanceOf = ____lualib.__TS__InstanceOf
|
|
5
6
|
local ____exports = {}
|
|
6
|
-
local dummyPlayer
|
|
7
|
+
local dummyPlayer, addSpecialEffectInternal, flash
|
|
7
8
|
local ____handle = require("core.types.handle")
|
|
8
9
|
local Handle = ____handle.Handle
|
|
9
10
|
local ____playerColor = require("core.types.playerColor")
|
|
@@ -12,6 +13,8 @@ local ____player = require("core.types.player")
|
|
|
12
13
|
local Player = ____player.Player
|
|
13
14
|
local ____timer = require("core.types.timer")
|
|
14
15
|
local Timer = ____timer.Timer
|
|
16
|
+
local ____unit = require("engine.internal.unit")
|
|
17
|
+
local Unit = ____unit.Unit
|
|
15
18
|
local ____pairs = _G.pairs
|
|
16
19
|
local select = _G.select
|
|
17
20
|
local mathRad = math.rad
|
|
@@ -22,10 +25,28 @@ local getSpecialEffectScale = BlzGetSpecialEffectScale
|
|
|
22
25
|
local playSpecialEffect = BlzPlaySpecialEffect
|
|
23
26
|
local setSpecialEffectScale = BlzSetSpecialEffectScale
|
|
24
27
|
local setSpecialEffectPitch = BlzSetSpecialEffectPitch
|
|
28
|
+
local setSpecialEffectRoll = BlzSetSpecialEffectRoll
|
|
25
29
|
local setSpecialEffectColorByPlayer = BlzSetSpecialEffectColorByPlayer
|
|
26
30
|
local specialEffectAddSubAnimation = BlzSpecialEffectAddSubAnimation
|
|
27
31
|
local specialEffectClearSubAnimations = BlzSpecialEffectClearSubAnimations
|
|
28
32
|
local specialEffectRemoveSubAnimation = BlzSpecialEffectRemoveSubAnimation
|
|
33
|
+
local setSpecialEffectZ = BlzSetSpecialEffectZ
|
|
34
|
+
local getLocationZ = GetLocationZ
|
|
35
|
+
local getUnitZ = BlzGetUnitZ
|
|
36
|
+
local moveLocation = MoveLocation
|
|
37
|
+
local location = Location(0, 0)
|
|
38
|
+
local function setSpecialEffectPitchDegrees(effect, pitch)
|
|
39
|
+
setSpecialEffectPitch(
|
|
40
|
+
effect,
|
|
41
|
+
-mathRad(pitch)
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
local function setSpecialEffectRollDegrees(effect, roll)
|
|
45
|
+
setSpecialEffectRoll(
|
|
46
|
+
effect,
|
|
47
|
+
-mathRad(roll)
|
|
48
|
+
)
|
|
49
|
+
end
|
|
29
50
|
local animTypeByAnimationName = {
|
|
30
51
|
attack = ANIM_TYPE_ATTACK,
|
|
31
52
|
birth = ANIM_TYPE_BIRTH,
|
|
@@ -97,11 +118,19 @@ local function setSpecialEffectColor(effect, color)
|
|
|
97
118
|
setSpecialEffectColorByPlayer(effect, dummyPlayer.handle)
|
|
98
119
|
dummyPlayer.color = dummyColor
|
|
99
120
|
end
|
|
100
|
-
local setters = {scale = setSpecialEffectScale, color = setSpecialEffectColor}
|
|
121
|
+
local setters = {scale = setSpecialEffectScale, color = setSpecialEffectColor, pitch = setSpecialEffectPitchDegrees, roll = setSpecialEffectRollDegrees}
|
|
122
|
+
local setterProperties = {"scale", "color", "pitch", "roll"}
|
|
101
123
|
dummyPlayer = Player.neutralExtra
|
|
102
124
|
local temporaryEffects = {}
|
|
103
125
|
local temporaryEffectsDurations = {}
|
|
104
126
|
local temporaryEffectsCount = 0
|
|
127
|
+
local delayedEffectsModelPath = {}
|
|
128
|
+
local delayedEffectsXOrWidget = {}
|
|
129
|
+
local delayedEffectsYOrAttachmentPoint = {}
|
|
130
|
+
local delayedEffectsDuration = {}
|
|
131
|
+
local delayedEffectsParameters = {}
|
|
132
|
+
local delayedEffectsDelay = {}
|
|
133
|
+
local delayedEffectsCount = 0
|
|
105
134
|
local period = 1 / 32
|
|
106
135
|
Timer.onPeriod[period]:addListener(function()
|
|
107
136
|
local i = 1
|
|
@@ -110,12 +139,36 @@ Timer.onPeriod[period]:addListener(function()
|
|
|
110
139
|
if duration <= 0 then
|
|
111
140
|
destroyEffect(temporaryEffects[i])
|
|
112
141
|
temporaryEffects[i] = temporaryEffects[temporaryEffectsCount]
|
|
142
|
+
temporaryEffectsDurations[i] = temporaryEffectsDurations[temporaryEffectsCount]
|
|
113
143
|
temporaryEffectsCount = temporaryEffectsCount - 1
|
|
114
144
|
else
|
|
115
145
|
temporaryEffectsDurations[i] = duration - period
|
|
116
146
|
i = i + 1
|
|
117
147
|
end
|
|
118
148
|
end
|
|
149
|
+
i = 1
|
|
150
|
+
while i <= delayedEffectsCount do
|
|
151
|
+
local delay = delayedEffectsDelay[i]
|
|
152
|
+
if delay <= 0 then
|
|
153
|
+
flash(
|
|
154
|
+
delayedEffectsModelPath[i],
|
|
155
|
+
delayedEffectsXOrWidget[i],
|
|
156
|
+
delayedEffectsYOrAttachmentPoint[i],
|
|
157
|
+
delayedEffectsDuration[i],
|
|
158
|
+
delayedEffectsParameters[i]
|
|
159
|
+
)
|
|
160
|
+
delayedEffectsModelPath[i] = delayedEffectsModelPath[delayedEffectsCount]
|
|
161
|
+
delayedEffectsXOrWidget[i] = delayedEffectsXOrWidget[delayedEffectsCount]
|
|
162
|
+
delayedEffectsYOrAttachmentPoint[i] = delayedEffectsYOrAttachmentPoint[delayedEffectsCount]
|
|
163
|
+
delayedEffectsDuration[i] = delayedEffectsDuration[delayedEffectsCount]
|
|
164
|
+
delayedEffectsParameters[i] = delayedEffectsParameters[delayedEffectsCount]
|
|
165
|
+
delayedEffectsDelay[i] = delayedEffectsDelay[delayedEffectsCount]
|
|
166
|
+
delayedEffectsCount = delayedEffectsCount - 1
|
|
167
|
+
else
|
|
168
|
+
delayedEffectsDelay[i] = delay - period
|
|
169
|
+
i = i + 1
|
|
170
|
+
end
|
|
171
|
+
end
|
|
119
172
|
end)
|
|
120
173
|
____exports.Effect = __TS__Class()
|
|
121
174
|
local Effect = ____exports.Effect
|
|
@@ -125,49 +178,44 @@ function Effect.prototype.onDestroy(self)
|
|
|
125
178
|
destroyEffect(self.handle)
|
|
126
179
|
return Handle.prototype.onDestroy(self)
|
|
127
180
|
end
|
|
128
|
-
function Effect.create(self,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
181
|
+
function Effect.create(self, modelPath, xOrWidget, yOrAttachmentPoint, parameters)
|
|
182
|
+
local effect = self:of(addSpecialEffectInternal(modelPath, xOrWidget, yOrAttachmentPoint, parameters))
|
|
183
|
+
if parameters ~= nil then
|
|
184
|
+
effect[100] = parameters.color
|
|
185
|
+
effect[101] = parameters.pitch
|
|
186
|
+
effect[102] = parameters.roll
|
|
187
|
+
end
|
|
188
|
+
return effect
|
|
133
189
|
end
|
|
134
190
|
function Effect.flash(self, modelPath, xOrWidget, yOrOrAttachmentPoint, parametersOrDuration, parameters)
|
|
135
191
|
if type(parametersOrDuration) ~= "number" then
|
|
136
192
|
parameters = parametersOrDuration
|
|
137
193
|
parametersOrDuration = nil
|
|
138
194
|
end
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
temporaryEffects[temporaryEffectsCount] = effect
|
|
148
|
-
temporaryEffectsDurations[temporaryEffectsCount] = parametersOrDuration
|
|
195
|
+
if parameters and (parameters.delay or 0) > 0 then
|
|
196
|
+
delayedEffectsCount = delayedEffectsCount + 1
|
|
197
|
+
delayedEffectsModelPath[delayedEffectsCount] = modelPath
|
|
198
|
+
delayedEffectsXOrWidget[delayedEffectsCount] = xOrWidget
|
|
199
|
+
delayedEffectsYOrAttachmentPoint[delayedEffectsCount] = yOrOrAttachmentPoint
|
|
200
|
+
delayedEffectsDuration[delayedEffectsCount] = parametersOrDuration
|
|
201
|
+
delayedEffectsParameters[delayedEffectsCount] = parameters
|
|
202
|
+
delayedEffectsDelay[delayedEffectsCount] = parameters.delay
|
|
149
203
|
return
|
|
150
204
|
end
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
temporaryEffects[temporaryEffectsCount] = effect
|
|
159
|
-
temporaryEffectsDurations[temporaryEffectsCount] = duration
|
|
160
|
-
else
|
|
161
|
-
destroyEffect(effect)
|
|
162
|
-
end
|
|
163
|
-
end
|
|
205
|
+
flash(
|
|
206
|
+
modelPath,
|
|
207
|
+
xOrWidget,
|
|
208
|
+
yOrOrAttachmentPoint,
|
|
209
|
+
parametersOrDuration,
|
|
210
|
+
parameters
|
|
211
|
+
)
|
|
164
212
|
end
|
|
165
213
|
__TS__SetDescriptor(
|
|
166
214
|
Effect.prototype,
|
|
167
215
|
"color",
|
|
168
216
|
{
|
|
169
217
|
get = function(self)
|
|
170
|
-
return self[100] or PlayerColor.
|
|
218
|
+
return self[100] or PlayerColor.red
|
|
171
219
|
end,
|
|
172
220
|
set = function(self, color)
|
|
173
221
|
setSpecialEffectColor(self.handle, color)
|
|
@@ -197,13 +245,61 @@ __TS__SetDescriptor(
|
|
|
197
245
|
return self[101] or 0
|
|
198
246
|
end,
|
|
199
247
|
set = function(self, pitch)
|
|
200
|
-
|
|
201
|
-
self.handle,
|
|
202
|
-
-mathRad(pitch)
|
|
203
|
-
)
|
|
248
|
+
setSpecialEffectPitchDegrees(self.handle, pitch)
|
|
204
249
|
self[101] = pitch
|
|
205
250
|
end
|
|
206
251
|
},
|
|
207
252
|
true
|
|
208
253
|
)
|
|
254
|
+
__TS__SetDescriptor(
|
|
255
|
+
Effect.prototype,
|
|
256
|
+
"roll",
|
|
257
|
+
{
|
|
258
|
+
get = function(self)
|
|
259
|
+
return self[102] or 0
|
|
260
|
+
end,
|
|
261
|
+
set = function(self, roll)
|
|
262
|
+
setSpecialEffectRollDegrees(self.handle, roll)
|
|
263
|
+
self[102] = roll
|
|
264
|
+
end
|
|
265
|
+
},
|
|
266
|
+
true
|
|
267
|
+
)
|
|
268
|
+
addSpecialEffectInternal = function(modelPath, xOrWidget, yOrAttachmentPoint, parameters)
|
|
269
|
+
local coordinatesProvided = type(xOrWidget) == "number"
|
|
270
|
+
local isPositional = coordinatesProvided or (parameters and parameters.detached) == true
|
|
271
|
+
local x = not isPositional and 0 or (coordinatesProvided and xOrWidget or xOrWidget.x)
|
|
272
|
+
local y = not isPositional and 0 or (coordinatesProvided and yOrAttachmentPoint or xOrWidget.y)
|
|
273
|
+
local effect = isPositional and addSpecialEffect(modelPath, x, y) or addSpecialEffectTarget(modelPath, xOrWidget.handle, yOrAttachmentPoint or "origin")
|
|
274
|
+
if parameters ~= nil then
|
|
275
|
+
if isPositional and parameters.scale == nil and __TS__InstanceOf(xOrWidget, Unit) then
|
|
276
|
+
setSpecialEffectScale(effect, xOrWidget.scale)
|
|
277
|
+
end
|
|
278
|
+
for ____, property in ipairs(setterProperties) do
|
|
279
|
+
local value = parameters[property]
|
|
280
|
+
if value ~= nil then
|
|
281
|
+
setters[property](effect, value)
|
|
282
|
+
end
|
|
283
|
+
end
|
|
284
|
+
if isPositional and parameters.zOffset ~= nil then
|
|
285
|
+
moveLocation(location, x, y)
|
|
286
|
+
local z = __TS__InstanceOf(xOrWidget, Unit) and getLocationZ(location) + xOrWidget.flyHeight or getLocationZ(location)
|
|
287
|
+
setSpecialEffectZ(
|
|
288
|
+
effect,
|
|
289
|
+
z + parameters.zOffset * (parameters.scaleZOffset and getSpecialEffectScale(effect) or 1)
|
|
290
|
+
)
|
|
291
|
+
end
|
|
292
|
+
end
|
|
293
|
+
return effect
|
|
294
|
+
end
|
|
295
|
+
flash = function(modelPath, xOrWidget, yOrAttachmentPoint, duration, parameters)
|
|
296
|
+
local effect = addSpecialEffectInternal(modelPath, xOrWidget, yOrAttachmentPoint, parameters)
|
|
297
|
+
if duration ~= nil and duration > 0 then
|
|
298
|
+
temporaryEffectsCount = temporaryEffectsCount + 1
|
|
299
|
+
temporaryEffects[temporaryEffectsCount] = effect
|
|
300
|
+
temporaryEffectsDurations[temporaryEffectsCount] = duration
|
|
301
|
+
return
|
|
302
|
+
end
|
|
303
|
+
destroyEffect(effect)
|
|
304
|
+
end
|
|
209
305
|
return ____exports
|
package/core/types/frame.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@typescript-to-lua/language-extensions" />
|
|
2
1
|
/** @noSelfInFile */
|
|
3
2
|
import { Handle, HandleDestructor } from "./handle";
|
|
4
3
|
import { Player } from "./player";
|
|
@@ -26,9 +25,14 @@ export declare class Frame extends Handle<jframehandle> {
|
|
|
26
25
|
static readonly GAME_UI: Frame;
|
|
27
26
|
static readonly CONSOLE_UI: Frame;
|
|
28
27
|
static readonly CONSOLE_UI_BACKDROP: Frame;
|
|
28
|
+
private static readonly CONSOLE_UI_BACKDROP_UI_SCALE_HELPER_CHILD;
|
|
29
|
+
static readonly CONSOLE_TOP_BAR: Frame;
|
|
30
|
+
static readonly CONSOLE_BOTTOM_BAR: Frame;
|
|
29
31
|
static readonly WORLD: Frame;
|
|
30
32
|
static readonly CHAT: Frame;
|
|
31
33
|
static readonly TIME_OF_DAY_CLOCK: Frame;
|
|
34
|
+
private static readonly SIMPLE_FRAME_TEST_CHILD;
|
|
35
|
+
static get uiScale(): number;
|
|
32
36
|
static get leftBorder(): Frame;
|
|
33
37
|
static get rightBorder(): Frame;
|
|
34
38
|
static get minX(): number;
|
|
@@ -76,6 +80,8 @@ export declare class Frame extends Handle<jframehandle> {
|
|
|
76
80
|
get onMouseLeave(): FrameEvent;
|
|
77
81
|
get onMouseUp(): FrameEvent;
|
|
78
82
|
get onMouseWheel(): FrameEvent<[number]>;
|
|
83
|
+
get mouseEnterLocalEvent(): Event;
|
|
84
|
+
get mouseLeaveLocalEvent(): Event;
|
|
79
85
|
get popupMenuItemChangeEvent(): FrameEvent<[
|
|
80
86
|
popupMenu: Frame,
|
|
81
87
|
previousValue: number,
|
|
@@ -105,6 +111,7 @@ export declare class Frame extends Handle<jframehandle> {
|
|
|
105
111
|
enable(): void;
|
|
106
112
|
addText(text: string): void;
|
|
107
113
|
clearAllPoints(): void;
|
|
114
|
+
get children(): Frame[];
|
|
108
115
|
getChild(index: number): Frame;
|
|
109
116
|
getChildrenCount(): number;
|
|
110
117
|
setSize(width: number, height: number): void;
|
package/core/types/frame.lua
CHANGED
|
@@ -20,6 +20,8 @@ local frameGetEnable = BlzFrameGetEnable
|
|
|
20
20
|
local frameIsVisible = BlzFrameIsVisible
|
|
21
21
|
local frameSetEnable = BlzFrameSetEnable
|
|
22
22
|
local frameSetScale = BlzFrameSetScale
|
|
23
|
+
local getLocalClientWidth = BlzGetLocalClientWidth
|
|
24
|
+
local getLocalClientHeight = BlzGetLocalClientHeight
|
|
23
25
|
local getCameraTargetPositionX = GetCameraTargetPositionX
|
|
24
26
|
local getCameraTargetPositionY = GetCameraTargetPositionY
|
|
25
27
|
local ____rawget = _G.rawget
|
|
@@ -62,8 +64,10 @@ local function updateBorders()
|
|
|
62
64
|
local width4by3 = (w - h / 600 * 800) / 2
|
|
63
65
|
local pxtodpi = 0.6 / h
|
|
64
66
|
BlzFrameSetAbsPoint(leftBorder, FRAMEPOINT_TOPLEFT, -width4by3 * pxtodpi, 0.6)
|
|
67
|
+
BlzFrameSetScale(leftBorder, 1)
|
|
65
68
|
BlzFrameSetSize(leftBorder, 0.001, 0.6)
|
|
66
69
|
BlzFrameSetAbsPoint(rightBorder, FRAMEPOINT_TOPRIGHT, (-width4by3 + w) * pxtodpi, 0.6)
|
|
70
|
+
BlzFrameSetScale(rightBorder, 1)
|
|
67
71
|
BlzFrameSetSize(rightBorder, 0.001, 0.6)
|
|
68
72
|
end
|
|
69
73
|
local worldFrame = BlzGetOriginFrame(ORIGIN_FRAME_WORLD_FRAME, 0)
|
|
@@ -120,6 +124,24 @@ do
|
|
|
120
124
|
FramePoint.BOTTOM = FRAMEPOINT_BOTTOM
|
|
121
125
|
FramePoint.BOTTOM_RIGHT = FRAMEPOINT_BOTTOMRIGHT
|
|
122
126
|
end
|
|
127
|
+
local tooltipByFrame = setmetatable({}, {__mode = "k"})
|
|
128
|
+
---
|
|
129
|
+
-- @internal For use by internal systems only.
|
|
130
|
+
____exports.getFrameMinXMaxX = function()
|
|
131
|
+
local w = getLocalClientWidth()
|
|
132
|
+
local h = getLocalClientHeight()
|
|
133
|
+
local width4by3 = (w - h / 600 * 800) / 2
|
|
134
|
+
local pxtodpi = 0.6 / h
|
|
135
|
+
local minX = -width4by3 * pxtodpi
|
|
136
|
+
local maxX = minX + w * pxtodpi
|
|
137
|
+
return minX, maxX
|
|
138
|
+
end
|
|
139
|
+
---
|
|
140
|
+
-- @internal For use by internal systems only.
|
|
141
|
+
____exports.FRAME_MIN_Y = 0
|
|
142
|
+
---
|
|
143
|
+
-- @internal For use by internal systems only.
|
|
144
|
+
____exports.FRAME_MAX_Y = 0.6
|
|
123
145
|
____exports.Frame = __TS__Class()
|
|
124
146
|
local Frame = ____exports.Frame
|
|
125
147
|
Frame.name = "Frame"
|
|
@@ -240,6 +262,7 @@ function Frame.prototype.setTextColor(self, color)
|
|
|
240
262
|
end
|
|
241
263
|
function Frame.prototype.setTooltip(self, tooltip)
|
|
242
264
|
BlzFrameSetTooltip(self.handle, tooltip.handle)
|
|
265
|
+
tooltipByFrame[self] = tooltip
|
|
243
266
|
end
|
|
244
267
|
function Frame.prototype.setMinMaxValue(self, minValue, maxValue)
|
|
245
268
|
BlzFrameSetMinMaxValue(self.handle, minValue, maxValue)
|
|
@@ -267,7 +290,16 @@ function Frame.createSimple(self, name, parent, createContext)
|
|
|
267
290
|
))
|
|
268
291
|
end
|
|
269
292
|
function Frame.create(self, name, parent, priority, createContext)
|
|
270
|
-
|
|
293
|
+
if parent == ____exports.Frame.CONSOLE_UI_BACKDROP then
|
|
294
|
+
local helper = ____exports.Frame.CONSOLE_UI_BACKDROP_UI_SCALE_HELPER_CHILD.handle
|
|
295
|
+
BlzFrameSetScale(helper, 1)
|
|
296
|
+
local frame = BlzCreateFrame(name, helper, priority or 0, createContext or 0)
|
|
297
|
+
BlzFrameSetScale(helper, ____exports.Frame.uiScale)
|
|
298
|
+
BlzFrameSetParent(frame, ____exports.Frame.CONSOLE_UI_BACKDROP.handle)
|
|
299
|
+
return self:of(frame)
|
|
300
|
+
else
|
|
301
|
+
return self:of(BlzCreateFrame(name, parent.handle, priority or 0, createContext or 0))
|
|
302
|
+
end
|
|
271
303
|
end
|
|
272
304
|
function Frame.createByType(self, typeName, name, parent, inherits, createContext)
|
|
273
305
|
return self:of(BlzCreateFrameByType(
|
|
@@ -293,9 +325,20 @@ end
|
|
|
293
325
|
Frame.GAME_UI = ____exports.Frame:byOrigin(ORIGIN_FRAME_GAME_UI)
|
|
294
326
|
Frame.CONSOLE_UI = ____exports.Frame:byOrigin(ORIGIN_FRAME_SIMPLE_UI_PARENT)
|
|
295
327
|
Frame.CONSOLE_UI_BACKDROP = ____exports.Frame:byName("ConsoleUIBackdrop")
|
|
328
|
+
Frame.CONSOLE_UI_BACKDROP_UI_SCALE_HELPER_CHILD = ____exports.Frame:createByType("FRAME", "ConsoleUIBackdropUIScaleHelperChild", ____exports.Frame.CONSOLE_UI_BACKDROP)
|
|
329
|
+
Frame.CONSOLE_TOP_BAR = ____exports.Frame:byName("ConsoleTopBar")
|
|
330
|
+
Frame.CONSOLE_BOTTOM_BAR = ____exports.Frame:byName("ConsoleBottomBar")
|
|
296
331
|
Frame.WORLD = ____exports.Frame:byOrigin(ORIGIN_FRAME_WORLD_FRAME)
|
|
297
332
|
Frame.CHAT = ____exports.Frame:byOrigin(ORIGIN_FRAME_CHAT_MSG)
|
|
298
333
|
Frame.TIME_OF_DAY_CLOCK = ____exports.Frame.GAME_UI:getChild(5):getChild(0)
|
|
334
|
+
Frame.SIMPLE_FRAME_TEST_CHILD = ____exports.Frame:createByType("SIMPLEFRAME", "SimpleFrameTestParent", ____exports.Frame.CONSOLE_UI)
|
|
335
|
+
__TS__ObjectDefineProperty(
|
|
336
|
+
Frame,
|
|
337
|
+
"uiScale",
|
|
338
|
+
{get = function(self)
|
|
339
|
+
return ____exports.Frame.CONSOLE_BOTTOM_BAR.width / 0.8
|
|
340
|
+
end}
|
|
341
|
+
)
|
|
299
342
|
__TS__ObjectDefineProperty(
|
|
300
343
|
Frame,
|
|
301
344
|
"leftBorder",
|
|
@@ -320,27 +363,21 @@ __TS__ObjectDefineProperty(
|
|
|
320
363
|
Frame,
|
|
321
364
|
"minX",
|
|
322
365
|
{get = function(self)
|
|
323
|
-
local
|
|
324
|
-
|
|
325
|
-
local width4by3 = (w - h / 600 * 800) / 2
|
|
326
|
-
local pxtodpi = 0.6 / h
|
|
327
|
-
return -width4by3 * pxtodpi
|
|
366
|
+
local minX = ____exports.getFrameMinXMaxX()
|
|
367
|
+
return minX
|
|
328
368
|
end}
|
|
329
369
|
)
|
|
330
370
|
__TS__ObjectDefineProperty(
|
|
331
371
|
Frame,
|
|
332
372
|
"maxX",
|
|
333
373
|
{get = function(self)
|
|
334
|
-
local
|
|
335
|
-
|
|
336
|
-
local width4by3 = (w - h / 600 * 800) / 2
|
|
337
|
-
local pxtodpi = 0.6 / h
|
|
338
|
-
return (-width4by3 + w) * pxtodpi
|
|
374
|
+
local ____, maxX = ____exports.getFrameMinXMaxX()
|
|
375
|
+
return maxX
|
|
339
376
|
end}
|
|
340
377
|
)
|
|
341
378
|
Frame.centerX = 0.4
|
|
342
|
-
Frame.minY =
|
|
343
|
-
Frame.maxY =
|
|
379
|
+
Frame.minY = ____exports.FRAME_MIN_Y
|
|
380
|
+
Frame.maxY = ____exports.FRAME_MAX_Y
|
|
344
381
|
Frame.centerY = 0.3
|
|
345
382
|
__TS__SetDescriptor(
|
|
346
383
|
Frame.prototype,
|
|
@@ -597,6 +634,62 @@ __TS__SetDescriptor(
|
|
|
597
634
|
end},
|
|
598
635
|
true
|
|
599
636
|
)
|
|
637
|
+
__TS__SetDescriptor(
|
|
638
|
+
Frame.prototype,
|
|
639
|
+
"mouseEnterLocalEvent",
|
|
640
|
+
{get = function(self)
|
|
641
|
+
local event = __TS__New(Event)
|
|
642
|
+
if not (tooltipByFrame[self] ~= nil) then
|
|
643
|
+
____exports.Frame.SIMPLE_FRAME_TEST_CHILD.parent = self
|
|
644
|
+
local tooltip = ____exports.Frame.SIMPLE_FRAME_TEST_CHILD.parent == self and ____exports.Frame:createByType("SIMPLEFRAME", "", ____exports.Frame.CONSOLE_UI) or ____exports.Frame:createByType("FRAME", "", ____exports.Frame.GAME_UI)
|
|
645
|
+
____exports.Frame.SIMPLE_FRAME_TEST_CHILD.parent = ____exports.Frame.CONSOLE_UI
|
|
646
|
+
self:setTooltip(tooltip)
|
|
647
|
+
end
|
|
648
|
+
local isMouseInside = false
|
|
649
|
+
Timer.onPeriod[1 / 64]:addListener(function()
|
|
650
|
+
local tooltip = tooltipByFrame[self]
|
|
651
|
+
if tooltip and tooltip.visible then
|
|
652
|
+
if not isMouseInside then
|
|
653
|
+
isMouseInside = true
|
|
654
|
+
Event.invoke(event)
|
|
655
|
+
end
|
|
656
|
+
else
|
|
657
|
+
isMouseInside = false
|
|
658
|
+
end
|
|
659
|
+
end)
|
|
660
|
+
rawset(self, "mouseEnterLocalEvent", event)
|
|
661
|
+
return event
|
|
662
|
+
end},
|
|
663
|
+
true
|
|
664
|
+
)
|
|
665
|
+
__TS__SetDescriptor(
|
|
666
|
+
Frame.prototype,
|
|
667
|
+
"mouseLeaveLocalEvent",
|
|
668
|
+
{get = function(self)
|
|
669
|
+
local event = __TS__New(Event)
|
|
670
|
+
if not (tooltipByFrame[self] ~= nil) then
|
|
671
|
+
____exports.Frame.SIMPLE_FRAME_TEST_CHILD.parent = self
|
|
672
|
+
local tooltip = ____exports.Frame.SIMPLE_FRAME_TEST_CHILD.parent == self and ____exports.Frame:createByType("SIMPLEFRAME", "", ____exports.Frame.CONSOLE_UI) or ____exports.Frame:createByType("FRAME", "", ____exports.Frame.GAME_UI)
|
|
673
|
+
____exports.Frame.SIMPLE_FRAME_TEST_CHILD.parent = ____exports.Frame.CONSOLE_UI
|
|
674
|
+
self:setTooltip(tooltip)
|
|
675
|
+
end
|
|
676
|
+
local isMouseInside = false
|
|
677
|
+
Timer.onPeriod[1 / 64]:addListener(function()
|
|
678
|
+
local tooltip = tooltipByFrame[self]
|
|
679
|
+
if tooltip and tooltip.visible then
|
|
680
|
+
isMouseInside = true
|
|
681
|
+
else
|
|
682
|
+
if isMouseInside then
|
|
683
|
+
isMouseInside = false
|
|
684
|
+
Event.invoke(event)
|
|
685
|
+
end
|
|
686
|
+
end
|
|
687
|
+
end)
|
|
688
|
+
rawset(self, "mouseLeaveLocalEvent", event)
|
|
689
|
+
return event
|
|
690
|
+
end},
|
|
691
|
+
true
|
|
692
|
+
)
|
|
600
693
|
__TS__SetDescriptor(
|
|
601
694
|
Frame.prototype,
|
|
602
695
|
"popupMenuItemChangeEvent",
|
|
@@ -699,6 +792,18 @@ __TS__SetDescriptor(
|
|
|
699
792
|
end},
|
|
700
793
|
true
|
|
701
794
|
)
|
|
795
|
+
__TS__SetDescriptor(
|
|
796
|
+
Frame.prototype,
|
|
797
|
+
"children",
|
|
798
|
+
{get = function(self)
|
|
799
|
+
local children = {}
|
|
800
|
+
for i = 0, self:getChildrenCount() - 1 do
|
|
801
|
+
children[i + 1] = self:getChild(i)
|
|
802
|
+
end
|
|
803
|
+
return children
|
|
804
|
+
end},
|
|
805
|
+
true
|
|
806
|
+
)
|
|
702
807
|
__TS__ObjectDefineProperty(
|
|
703
808
|
Frame,
|
|
704
809
|
"onKeyPress",
|
package/core/types/group.d.ts
CHANGED
package/core/types/handle.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { Event } from "../../event";
|
|
3
|
+
import { AttributesHolder } from "../../attributes";
|
|
3
4
|
export type HandleConstructor<H extends jhandle, T extends Handle<H>, Args extends any[]> = new (handle: H, ...args: Args) => T;
|
|
4
5
|
export type HandleDestructor = {
|
|
5
6
|
readonly __handleDestructor: unique symbol;
|
|
@@ -11,7 +12,7 @@ type NoOverride = {
|
|
|
11
12
|
declare const enum HandlePropertyKey {
|
|
12
13
|
STATE = 0
|
|
13
14
|
}
|
|
14
|
-
export declare class Handle<H extends jhandle, DestroyParameters extends any[] = []> implements Destroyable {
|
|
15
|
+
export declare class Handle<H extends jhandle, DestroyParameters extends any[] = []> extends AttributesHolder implements Destroyable {
|
|
15
16
|
readonly handle: H;
|
|
16
17
|
private [HandlePropertyKey.STATE]?;
|
|
17
18
|
private onDestroyEvent?;
|
package/core/types/handle.lua
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
3
4
|
local __TS__New = ____lualib.__TS__New
|
|
4
5
|
local __TS__Delete = ____lualib.__TS__Delete
|
|
5
6
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
@@ -12,13 +13,17 @@ local getClass = ____reflection.getClass
|
|
|
12
13
|
local getSuperclass = ____reflection.getSuperclass
|
|
13
14
|
local ____exception = require("exception")
|
|
14
15
|
local IllegalStateException = ____exception.IllegalStateException
|
|
16
|
+
local ____attributes = require("attributes")
|
|
17
|
+
local AttributesHolder = ____attributes.AttributesHolder
|
|
15
18
|
local getHandleId = GetHandleId
|
|
16
19
|
local onCreateEventByHandleConstructor = {}
|
|
17
20
|
local onDestroyEventByHandleConstructor = {}
|
|
18
21
|
____exports.Handle = __TS__Class()
|
|
19
22
|
local Handle = ____exports.Handle
|
|
20
23
|
Handle.name = "Handle"
|
|
24
|
+
__TS__ClassExtends(Handle, AttributesHolder)
|
|
21
25
|
function Handle.prototype.____constructor(self, handle)
|
|
26
|
+
AttributesHolder.prototype.____constructor(self)
|
|
22
27
|
self[0] = 0
|
|
23
28
|
local id = getHandleId(handle)
|
|
24
29
|
local clazz = self.constructor
|
package/core/types/image.d.ts
CHANGED