zoukankan      html  css  js  c++  java
  • Unity3D里Resource方法的二次封装

    /*
     * 
     * 			改编后的unity3D Resources 类,使用起来更加方便,省略了在代码中拆箱装箱的操作
     * 			
     * 			
     * 
     * */
    
    using UnityEngine;
    
    public class ResourcesEx
    {
        private string path;
    
        public ResourcesEx(string path)
        {
            if (path.Length == 0)
            {
                this.path = string.Empty;
            }
            else
            {
                this.path = path;
            }
        }
    
        public T[] LoadAll<T>() where T : Object
        {
            Object[] obj = Resources.LoadAll(this.path, typeof(T));
    
            T[] TLoaded = new T[obj.Length];
            obj.CopyTo(TLoaded, 0);
    
            return TLoaded;
        }
    
        public T[] LoadAll<T>(string dirname) where T : Object
        {
            Object[] obj = Resources.LoadAll(this.path + "/" + dirname, typeof(T));
    
            T[] TLoaded = new T[obj.Length];
            obj.CopyTo(TLoaded, 0);
    
            return TLoaded;
        }
    
        public Texture GetTexture(string textureName)
        {
            Object obj = Resources.Load(this.path + "/" + textureName, typeof(Texture));
            if (obj)
            {
                return obj as Texture;
            }
            else
            {
                Debug.LogError("["+ this.path + textureName + "] Non Exist");
                return new Texture();
            }
        }
    
        public Texture2D GetTexture2D(string textureName)
        {
            Object obj = Resources.Load(this.path + "/" + textureName, typeof(Texture2D));
            if (obj)
            {
                return obj as Texture2D;
            }
            else
            {
                Debug.LogError("["+ this.path + textureName + "] Non Exist");
                return new Texture2D(1, 1);
            }
        }
    
        public T GetObject<T>(string objectName) where T : Object
        {
            Object obj = Resources.Load(this.path + "/" + objectName, typeof(T));
            if (obj)
            {
                return obj as T;
            }
            else
            {
                Debug.LogError("["+ this.path + objectName + "] Non Exist");
                return new Object() as T;
            }
        }
    }
    

      

  • 相关阅读:
    LeetCode 1032. Stream of Characters
    LeetCode 872. Leaf-Similar Trees
    LeetCode 715. Range Module
    LeetCode 353. Design Snake Game
    LeetCode 509. Fibonacci Number
    LeetCode 632. Smallest Range Covering Elements from K Lists
    LeetCode 963. Minimum Area Rectangle II
    LeetCode 939. Minimum Area Rectangle
    LeetCode 727. Minimum Window Subsequence
    LeetCode 844. Backspace String Compare
  • 原文地址:https://www.cnblogs.com/vital/p/3559093.html
Copyright © 2011-2022 走看看