68 lines
1.9 KiB
JavaScript
68 lines
1.9 KiB
JavaScript
var DOTA_TEAM_SPECTATOR = 1;
|
|
|
|
function GetDotaHud() {
|
|
var p = $.GetContextPanel();
|
|
while (p !== null && p.id !== 'Hud') {
|
|
p = p.GetParent();
|
|
}
|
|
if (p === null) {
|
|
throw new HudNotFoundException('Could not find Hud root as parent of panel with id: ' + $.GetContextPanel().id);
|
|
} else {
|
|
return p;
|
|
}
|
|
}
|
|
|
|
function SubscribeToNetTableKey(tableName, key, callback) {
|
|
var immediateValue = CustomNetTables.GetTableValue(tableName, key) || {};
|
|
if (immediateValue != null) callback(immediateValue);
|
|
CustomNetTables.SubscribeNetTableListener(tableName, function (_tableName, currentKey, value) {
|
|
if (currentKey === key && value != null) callback(value);
|
|
});
|
|
}
|
|
|
|
function FindDotaHudElement(id) {
|
|
return GetDotaHud().FindChildTraverse(id);
|
|
}
|
|
|
|
function GetHEXPlayerColor(playerId) {
|
|
var playerColor = Players.GetPlayerColor(playerId).toString(16);
|
|
return playerColor == null ? '#000000' : ('#' + playerColor.substring(6, 8) + playerColor.substring(4, 6) + playerColor.substring(2, 4) + playerColor.substring(0, 2));
|
|
}
|
|
|
|
function secondsToMS(seconds, bTwoChars) {
|
|
var sec_num = parseInt(seconds, 10);
|
|
var minutes = Math.floor(sec_num / 60);
|
|
var seconds = Math.floor(sec_num - minutes * 60);
|
|
|
|
if (bTwoChars && minutes < 10)
|
|
minutes = '0' + minutes;
|
|
if (seconds < 10)
|
|
seconds = '0' + seconds;
|
|
return minutes + ':' + seconds;
|
|
}
|
|
|
|
function dynamicSort(property) {
|
|
var sortOrder = 1;
|
|
if (property[0] === "-") {
|
|
sortOrder = -1;
|
|
property = property.substr(1);
|
|
}
|
|
return function(a, b) {
|
|
var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
|
|
return result * sortOrder;
|
|
}
|
|
}
|
|
|
|
function SortPanelChildren(panel, sortFunc, compareFunc) {
|
|
var tlc = panel.Children().sort(sortFunc)
|
|
$.Each(tlc, function(child) {
|
|
for (var k in tlc) {
|
|
var child2 = tlc[k]
|
|
if (child != child2 && compareFunc(child, child2)) {
|
|
panel.MoveChildBefore(child, child2)
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
}
|