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;
            }
        }
    }
    

      

  • 相关阅读:
    PHP5.6 和PHP7.0区别
    怎么清除火狐浏览器的cookie?
    PHP 7.0新增特性详解
    一个较好的基础的数据库连接池知识 规格严格
    Iptables 规格严格
    收藏一个Man网址 规格严格
    AIX配置SNMP V3 规格严格
    Tomcat Firewall JMX RMI 规格严格
    在来一个IPTables 规格严格
    java.lang.ClassNotFoundException: listeners.ContextListener . 规格严格
  • 原文地址:https://www.cnblogs.com/vital/p/3559093.html
Copyright © 2011-2022 走看看