* Copyright (c) 2023 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export class XTools {
constructor() { }
static MOUSE_POS = {
x: 0,
y: 0,
};
static InRect(xx, yy, x, y, w, h) {
if (xx < x) return false;
if (yy < y) return false;
if (xx > x + w) return false;
if (yy > y + h) return false;
return true;
}
static PROC_TO = 0;
static CONFIG = null;
static LoadConfig() {
const xhr = new XMLHttpRequest();
xhr.open('GET', 'config.json');
xhr.onreadystatechange = () => {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
try {
XTools.CONFIG = JSON.parse(xhr.responseText);
for (let k in XTools.CONFIG.NodeColor) {
XTools.CONFIG.NodeColor[k] = parseInt(XTools.CONFIG.NodeColor[k], 16);
}
for (let k in XTools.CONFIG.LineColor) {
XTools.CONFIG.LineColor[k] = parseInt(XTools.CONFIG.LineColor[k], 16);
}
} catch (e) {
alert('Config file error');
}
} else {
alert('Failed to load config file');
}
}
};
xhr.send();
}
}
export function fAngle(x, y) {
return (Math.atan2(-y, x) * 180) / Math.PI;
}
export function iDistance(x, y) {
return Math.sqrt(x * x + y * y);
}
export let timeMs = 0;
export function freshTime() {
let t = new Date();
timeMs = t.getTime();
}
freshTime();
export function TimeMS() {
let t = new Date();
return t.getTime();
}
export function RandInt(min = 0, max = 100) {
return Math.floor(Math.random() * (max - min)) + min;
}
export function GetURL() {
if ('undefined' != typeof wx) {
return 'https://7465-testegg-19e3c9-1301193145.tcb.qcloud.la/';
} else return '';
}