948ff8a6e23baa4d9c67d5cd70684d8530350b80 6.6 KB

12345
  1. {
  2. "code": "var Vector3 = Laya.Vector3;\r\nexport default class Game_Tool {\r\n static GetObjKey(obj) {\r\n if (obj == null)\r\n return null;\r\n for (const key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n return key;\r\n }\r\n }\r\n }\r\n static randomInt(min, max) {\r\n if (max < min)\r\n return parseInt(min);\r\n return parseInt(Math.random() * (max - min + 1) + min);\r\n }\r\n static randomFl(from, to) {\r\n if (from >= to) {\r\n return 0;\r\n }\r\n var size = to - from;\r\n var curNumber = Math.random() * size + from;\r\n return curNumber;\r\n }\r\n static getAng(xx, yy, obl) {\r\n return 180 / Math.PI * this.getRad(xx, yy, obl);\r\n }\r\n static getRad(xx, yy, obl) {\r\n var rad = yy < 0 ? Math.acos(xx / obl) : (Math.PI * 2 - Math.acos(xx / obl));\r\n return rad;\r\n }\r\n static getM_Vector(v1, v2) {\r\n let temp = new Laya.Vector3();\r\n Laya.Vector3.add(v1, v2, temp);\r\n return new Laya.Vector3(temp.x * 0.5, temp.y * 0.5, temp.z * 0.5);\r\n }\r\n static SpliteString(s, sp) {\r\n var _sp = sp ? sp : \";\";\r\n let s_s = s.split(_sp);\r\n let result = [];\r\n for (let i = 0; i < s_s.length; i++) {\r\n result.push(s_s[i]);\r\n }\r\n return result;\r\n }\r\n static random_1to1() {\r\n var iszheng = Math.random() > 0.5 ? -1 : 1;\r\n return Math.random() * iszheng;\r\n }\r\n static GetWeight(s) {\r\n let arr = this.SpliteString(s);\r\n var sum = 0;\r\n for (var i = 0; i < arr.length; i++) {\r\n sum += Number(arr[i]);\r\n }\r\n let result = this.randomInt(1, sum);\r\n let temp_sum = 0;\r\n for (let i = 0; i < arr.length; i++) {\r\n temp_sum += Number(arr[i]);\r\n if (result <= temp_sum) {\r\n return i;\r\n }\r\n }\r\n }\r\n static get64Encode(str) {\r\n var c1, c2, c3;\r\n var base64EncodeChars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n var i = 0, len = str.length, string = '';\r\n while (i < len) {\r\n c1 = str.charCodeAt(i++) & 0xff;\r\n if (i == len) {\r\n string += base64EncodeChars.charAt(c1 >> 2);\r\n string += base64EncodeChars.charAt((c1 & 0x3) << 4);\r\n string += \"==\";\r\n break;\r\n }\r\n c2 = str.charCodeAt(i++);\r\n if (i == len) {\r\n string += base64EncodeChars.charAt(c1 >> 2);\r\n string += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));\r\n string += base64EncodeChars.charAt((c2 & 0xF) << 2);\r\n string += \"=\";\r\n break;\r\n }\r\n c3 = str.charCodeAt(i++);\r\n string += base64EncodeChars.charAt(c1 >> 2);\r\n string += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));\r\n string += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));\r\n string += base64EncodeChars.charAt(c3 & 0x3F);\r\n }\r\n return string;\r\n }\r\n static makeRandomArr(arrList, num) {\r\n if (num > arrList.length) {\r\n return;\r\n }\r\n var tempArr = arrList.slice(0);\r\n var newArrList = [];\r\n for (var i = 0; i < num; i++) {\r\n var random = Math.floor(Math.random() * (tempArr.length - 1));\r\n var arr = tempArr[random];\r\n tempArr.splice(random, 1);\r\n newArrList.push(arr);\r\n }\r\n return newArrList;\r\n }\r\n static CopyArr(o) {\r\n var arr = [];\r\n for (let index = 0; index < o.length; index++) {\r\n const element = o[index];\r\n arr.push(element);\r\n }\r\n return arr;\r\n }\r\n static clamp(n, min, max) {\r\n return n > max ? max : (n < min ? min : n);\r\n }\r\n static GetVecByArr(arr) {\r\n if (!arr)\r\n return null;\r\n var vec = new Vector3();\r\n vec.x = arr[0];\r\n vec.y = arr[1];\r\n vec.z = arr[2];\r\n return vec;\r\n }\r\n static IsNext() {\r\n let uuid = Laya.LocalStorage.getItem(\"isNext\");\r\n if (uuid) {\r\n let lastSignTime = new Date(Number(Laya.LocalStorage.getItem(\"isNext\")));\r\n let todayZero = new Date(Laya.timer.currTimer);\r\n todayZero.setHours(0, 0, 0, 0);\r\n if (lastSignTime.valueOf() < todayZero.valueOf()) {\r\n Laya.LocalStorage.setItem(\"isNext\", Laya.timer.currTimer.toString());\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n Laya.LocalStorage.setItem(\"isNext\", Laya.timer.currTimer.toString());\r\n return true;\r\n }\r\n }\r\n static ToTimeStr1(l) {\r\n let str = \"\";\r\n let minute = 0;\r\n let second = 0;\r\n second = l;\r\n if (second > 60) {\r\n minute = Math.floor(second / 60);\r\n second = second % 60;\r\n }\r\n str = second < 10 ? \"0\" + second : second + \"\";\r\n return (minute + \":\" + str);\r\n }\r\n static ToTimeStr(l, isHour = false) {\r\n let str = \"\";\r\n let hour = 0;\r\n let minute = 0;\r\n let second = 0;\r\n second = l;\r\n if (second > 60) {\r\n minute = Math.floor(second / 60);\r\n second = second % 60;\r\n }\r\n if (isHour && minute > 60) {\r\n hour = Math.floor(minute / 60);\r\n minute = minute % 60;\r\n let ss = second >= 10 ? second + \"\" : \"0\" + second.toString();\r\n let mm = minute >= 10 ? minute + \"\" : \"0\" + minute.toString();\r\n let hh = hour >= 10 ? hour + \"\" : \"0\" + hour.toString();\r\n return (hh + \":\" + mm + \":\" + ss);\r\n }\r\n else {\r\n if (minute > 60) {\r\n minute = Math.floor(second / 60);\r\n second = second % 60;\r\n }\r\n let ss = second >= 10 ? second + \"\" : \"0\" + second.toString();\r\n let mm = minute >= 10 ? minute + \"\" : \"0\" + minute.toString();\r\n return (mm + \":\" + ss);\r\n }\r\n }\r\n}\r\n",
  3. "references": []
  4. }