restructure

This commit is contained in:
2021-11-10 08:48:00 -05:00
parent d3eac6b70e
commit aaa089715d
12018 changed files with 6424 additions and 135034 deletions

View File

@@ -0,0 +1,75 @@
"use strict";
var ShopUnit = -1;
function Update() {
var gold = Players.GetGold(Players.GetLocalPlayer()) + Players.GetLastBuybackTime(Players.GetLocalPlayer());
$("#GoldText").text = gold;
var AbilityList = $("#AbilityList");
var max = AbilityList.GetChildCount();
for (var i = 0; i < max; i++) {
var panel = AbilityList.GetChild(i);
panel.SetHasClass("CanBuy", gold >= panel.GetAttributeInt("Gold", 0));
}
$.Schedule(0.2, Update);
}
if (!Players.IsSpectator(Players.GetLocalPlayer())) {
Update();
} else {
$("#ShopContent").DeleteAsync(0.0);
$("#BottomBar").DeleteAsync(0.0);
}
// 获取商店单位
$.Schedule(5, function () {
if (Players.IsSpectator(Players.GetLocalPlayer())) {
return;
}
var unitList = Entities.GetAllEntitiesByClassname("npc_dota_creature");
for (var i = 0; i < unitList.length; i++) {
if (Entities.GetUnitName(unitList[i]) === "minoriko_shop" &&
Entities.IsControllableByPlayer(unitList[i], Players.GetLocalPlayer())) {
ShopUnit = unitList[i];
break;
}
}
function setAbilityEvent( panel ) {
panel.SetDraggable(true);
panel.SetPanelEvent("onmouseover", function () {
$.DispatchEvent("DOTAShowAbilityTooltip", panel, panel.abilityname);
});
panel.SetPanelEvent("onmouseout", function () {
$.DispatchEvent("DOTAHideAbilityTooltip");
});
panel.SetPanelEvent("oncontextmenu", function () {
Game.PrepareUnitOrders({
OrderType: dotaunitorder_t.DOTA_UNIT_ORDER_CAST_NO_TARGET,
UnitIndex: ShopUnit,
AbilityIndex: panel.contextEntityIndex,
OrderIssuer: PlayerOrderIssuer_t.DOTA_ORDER_ISSUER_PASSED_UNIT_ONLY,
});
});
}
var AbilityList = $("#AbilityList");
for (var i = 0; i < 7; i++) {
var ability = Entities.GetAbility( ShopUnit, i )
if (ability > 0) {
// var abilityname = Abilities.GetAbilityName(ability);
if (Abilities.IsHidden(ability) || Abilities.IsAutocast(ability)) continue;
var panel = $.CreatePanel("DOTAAbilityImage", AbilityList, "");
var gold = Abilities.GetSpecialValueFor(ability, "cost") || 0;
panel.contextEntityIndex = ability;
panel.SetAttributeInt("Gold", gold);
setAbilityEvent( panel );
var label = $.CreatePanel("Label", panel, "");
label.text = gold
label.AddClass("Gold");
}
}
})