12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import { _decorator, Component, error, Node, resources } from 'cc';
- const { ccclass, property } = _decorator;
- @ccclass('ResourceUtil')
- export class ResourceUtil{
- public static loadRes (url: string, type: any, cb: Function = ()=>{}) {
- resources.load(url, (err: any, res: any)=>{
- if (err) {
- error(err.message || err);
- cb(err, res);
- return;
- }
- cb && cb(null, res);
- })
- }
- /**
- * 移除数组中predicate(断言)返回为真值的所有元素
- * @param {Array} array 一个用来迭代的集合.
- * @param {Function} predicate 一个迭代函数
- * @returns
- */
- public static remove(array: any[], predicate: Function) {
- var result: any[] = [];
- var indexes: any[] = [];
- array.forEach(function (item, index) {
- if (predicate(item)) {
- result.push(item);
- indexes.push(index);
- }
- });
- ResourceUtil._basePullAt(array, indexes);
- return result;
- }
-
- private static _basePullAt(array: any[], indexes: any[]) {
- var length = array ? indexes.length : 0;
- var lastIndex = length - 1;
- var previous;
- while (length--) {
- var index = indexes[length];
- if (length === lastIndex || index !== previous) {
- previous = index;
- Array.prototype.splice.call(array, index, 1);
- }
- }
- return array;
- }
- }
|