# Input
Класс для работы с пользовательским вводом.
# GetWorldCursorPos
Возвращает Vector нахождения курсора в игровом мире.
Пример использования:
let exampleScript = {};
exampleScript.OnUpdate = () => {
if(!GameRules.IsActiveGame()) {
return;
}
let worldPosition = Input.GetWorldCursorPos();
if(worldPosition.Distance(new Vector(0, 0, 0)) < 100) {
console.log('Курсор находится рядом с T1 Dire на миду');
} else if(worldPosition.Distance(EntitySystem.GetLocalHero().GetAbsOrigin()) < 250) {
console.log('Курсор находится рядом с вашим героем');
}
};
RegisterScript(exampleScript);
# GetNearestUnitToCursor
Возвращает ближайшего NPC к курсору (в том числе крипов).
Аргументы:
teamType
- Enum.TeamType
Возвращаемые значения:
- NPC |
null
Пример использования:
let exampleScript = {};
exampleScript.OnUpdate = () => {
if(!GameRules.IsActiveGame()) {
return;
}
let nearestNPC = Input.GetNearestUnitToCursor(Enum.TeamType.TEAM_BOTH);
if(nearestNPC) {
console.log(nearestNPC.GetUnitName());
}
};
RegisterScript(exampleScript);
# GetNearestHeroToCursor
Возвращает ближайшего Hero к курсору (в том числе иллюзии и клоны).
Аргументы:
teamType
- Enum.TeamType
Возвращаемые значения:
- NPC |
null
Пример использования:
let exampleScript = {};
exampleScript.OnUpdate = () => {
if(!GameRules.IsActiveGame()) {
return;
}
let nearestHeroToCursor = Input.GetNearestHeroToCursor(Enum.TeamType.TEAM_BOTH);
if(nearestHeroToCursor) {
console.log(nearestHeroToCursor.GetUnitName());
}
};
RegisterScript(exampleScript);
# IsKeyDown
Проверяет нажата ли кнопка
Аргументы:
key
- Enum.ButtonCode...val
- Enum.ButtonCode[]
Возвращаемые значения:
true
|false
Пример использования:
let exampleScript = {};
exampleScript.OnUpdate = () => {
if(!GameRules.IsActiveGame()) {
return;
}
if(Input.IsKeyDown(Enum.ButtonCode.KEY_F)) {
console.log('Press F to pay respect!');
}
if(Input.IsKeyDown(Enum.ButtonCode.KEY_F, Enum.ButtonCode.KEY_LCONTROL)) {
console.log('You paying respect with double power!');
}
};
RegisterScript(exampleScript);
# IsKeyDownOnce
Проверяет нажата ли кнопка единожды.
ВНИМАНИЕ
// TODO: дописать здесь задержку
Аргументы:
key
- Enum.ButtonCode...val
- Enum.ButtonCode[]
Возвращаемые значения:
true
|false
Пример использования:
let exampleScript = {};
exampleScript.OnUpdate = () => {
if(!GameRules.IsActiveGame()) {
return;
}
if(Input.IsKeyDown(Enum.ButtonCode.KEY_F)) {
console.log('Press F to pay respect!');
}
if(Input.IsKeyDown(Enum.ButtonCode.KEY_F, Enum.ButtonCode.KEY_LCONTROL)) {
console.log('You paying respect with double power!');
}
};
RegisterScript(exampleScript);
# IsInputCaptured
Проверяет открыт ли чат/поиск вещей в лавке.
Возвращаемые значения:
true
|false
Пример использования:
let exampleScript = {};
exampleScript.OnUpdate = () => {
if(!GameRules.IsActiveGame()) {
return;
}
if(Input.IsInputCaptured()) {
console.log('Открыт чат или поиск в лавке!');
}
};
RegisterScript(exampleScript);
# GetCursorPos
Получает позицию курсора на экране по x, y
координатам
Возвращаемые значения:
[number, number]
Пример использования:
let exampleScript = {};
exampleScript.OnUpdate = () => {
if(!GameRules.IsActiveGame()) {
return;
}
let [x, y] = Input.GetCursorPos();
console.log(x, y);
};
RegisterScript(exampleScript);
# IsCursorInRect
Проверяет находится ли курсор в прямоугольнике на экране
Аргументы:
x1
-number
y1
-number
width
-number
height
-number
Возвращаемые значения:
true
|false
Пример использования:
let exampleScript = {};
exampleScript.OnUpdate = () => {
if(!GameRules.IsActiveGame()) {
return;
}
if(Input.IsCursorInRect(0, 0, 100, 100)) {
console.log('Курсор находится в левом верхнем углу экрана!');
}
};
RegisterScript(exampleScript);
# IsCursorInBounds
Проверяет находится ли курсор на границах прямоугольника
Аргументы:
x1
-number
y1
-number
x2
-number
y2
-number
Возвращаемые значения:
true
|false
Пример использования:
let exampleScript = {};
exampleScript.OnUpdate = () => {
if(!GameRules.IsActiveGame()) {
return;
}
if(Input.IsCursorInBounds(0, 0, 100, 100)) {
console.log('Курсор находится на границах прямоугольника 0, 0, 100, 100');
}
};
RegisterScript(exampleScript);
# SetCursorPos
// TODO: описать метод
← EntitySystem MiniMap →