warscript
Version:
A typescript library for Warcraft III using Warpack.
72 lines (71 loc) • 2.81 kB
TypeScript
/** @noSelfInFile */
import { Handle, HandleDestructor } from "./handle";
import { Event, InitializingEvent } from "../../event";
import { PlayerCamera } from "./playerCamera";
import { PlayerColor } from "./playerColor";
import { UpgradeId } from "../../engine/object-data/entry/upgrade";
interface Unit {
handle: junit;
}
export declare class Player extends Handle<jplayer> {
static readonly all: Player[];
static readonly local: Player;
static readonly neutralPassive: Player;
static readonly neutralAggressive: Player;
static readonly neutralVictim: Player;
static readonly neutralExtra: Player;
private static events;
readonly id: number;
constructor(handle: jplayer);
onDestroy(): HandleDestructor;
toString(): string;
get name(): string;
set name(name: string);
get color(): PlayerColor;
set color(color: PlayerColor);
get nameColored(): string;
get gold(): number;
set gold(gold: number);
get lumber(): number;
set lumber(gold: number);
get isLocal(): boolean;
get camera(): PlayerCamera;
get isUser(): boolean;
get isPlaying(): boolean;
get controller(): jmapcontrol;
get slotState(): jplayerslotstate;
clearSelection(): void;
selectSingle(unit: Unit): void;
select(unit: Unit): void;
deselect(unit: Unit): void;
forceUIKey(key: string): void;
forceUICancel(): void;
isAllyOf(other: Player): boolean;
isEnemyOf(other: Player): boolean;
setAbilityAvailable(abilityId: number, available: boolean): void;
getMaximumUpgradeLevel(upgradeId: UpgradeId): number;
setMaximumUpgradeLevel(upgradeId: UpgradeId, maximumLevel: number): void;
resetMaximumUpgradeLevel(upgradeId: UpgradeId): void;
getUpgradeLevel(upgradeId: UpgradeId): number;
setUpgradeLevel(upgradeId: UpgradeId, level: number): void;
private static getEvent;
private static getMouseEvent;
static get onLeave(): Event<[Player]>;
static get onMouseDown(): Event<[Player, jmousebuttontype]>;
static get onMouseUp(): Event<[Player, jmousebuttontype]>;
static get onMouseMove(): Event<[Player, Vec2]>;
private static getKeyEvent;
static get onKeyPress(): InitializingEvent<[Player, joskeytype, oskeymeta]> & {
readonly [key: joskeytype]: InitializingEvent<[Player, oskeymeta]> & {
readonly [meta: oskeymeta]: InitializingEvent<[Player]>;
};
};
static get onKeyRelease(): InitializingEvent<[Player, joskeytype, oskeymeta]> & {
readonly [key: joskeytype]: InitializingEvent<[Player, oskeymeta]> & {
readonly [meta: oskeymeta]: InitializingEvent<[Player]>;
};
};
static get onChat(): Event<[player: Player, message: string]>;
static byId(id: number): Player | undefined;
}
export {};