//处理资源 void dealAction() { var popAction = actionList.Pop(); if (popAction != null) { isFree = false; loadAction action = (loadAction)popAction; if (action.name == "" || action.name == null) { Debug.Log("action.name is empty"); dealAction(); return; } Object res = null; switch (action.type) { case 1: { //读取 res = Resources.Load <Object>("Texture/" + action.name); if (res != null) { Sprite sp = Sprite.Create( res as Texture2D, new Rect(0, 0, (res as Texture2D).width, (res as Texture2D).height), new Vector2(0.5f, 0.5f)); res = (Object)sp; } } break; case 2: { //读取 res = Resources.Load <Object>("Config/" + action.name); } break; case 3: { //读取 res = Resources.Load <Object>("Prefab/" + action.name); } break; case 4: { //读取 res = Resources.Load <Object>("Sound/" + action.name); } break; case 5: { //读取 res = Resources.Load <Object>("Bone/" + action.name); } break; } ; //储存并回调 if (res != null) { if (!resSaver.ContainsKey(action.name)) { resSaver.Add(action.name, res); } action.cbAction(res); } else { Debug.LogWarning(action.name); action.cbAction(null); } isFree = true; } else { isFree = true; } }