Unity Editor 入門總結 2

2021-10-05 16:23:51 字數 1606 閱讀 6831

1、二進位制序列化

public static bool binaryserilize(string path,system.object obj) 

return true;

}catch (exception e)

return false;

}

2、二進位制反序列化

public static t binarydeserlize(string path) where t : class

try}

catch (exception e)

return t;

}

3、xml序列化

public static bool xmlserialize(string path,system.object obj)}}

catch (exception e)

return false; ;

}

4、xml反序列化

public static t xmldeserlize(string path) where t : class

}catch (exception e)

return t;

}

5、反射根據名稱建立例項

private static object createclass(string name)

}if (type != null)

return obj;

}

6、根據型別建立list例項

private static object createlist(type type)

);return activator.createinstance(spectype);

}

7、反射與list相關

//向list新增元素 

list.gettype().invokemember("add", bindingflags.invokemethod, null, list, new object );

//根據下標獲取list元素

object item = list.gettype().invokemember("get_item", bindingflags.invokemethod, null, list, new object );

//獲取list長度

(int)list.gettype().invokemember("get_count", bindingflags.invokemethod, null, list, null);

8、獲取成員變數的值

private static object getmembervalue(object obj, string membername,

bindingflags flag = bindingflags.public | bindingflags.instance | bindingflags.static)

}return namevalue;

}

編寫 Unity Editor 外掛程式

在開發過程中,我喜歡編寫一些輔助的editor外掛程式,方便在遊戲開發過程進行除錯。下面是摘自asset store的乙個檢視unity 預設gui樣式的小工具 原理 遍歷所有的gui.skin,並顯示其樣式 using unityengine using unityeditor 檢視預設的gui ...

UnityEditor基礎屬性簡介

space 新增空行 range 在面板上限制乙個數的範圍,方便策劃修改之類 serializefield 使私有變數可以在面板上顯示 textarea 建立乙個多行的文字輸入框 tooltip 滑鼠放上後會彈出提示框 serializable 使乙個類序列化,呼叫這個類時可以在面板上顯示 menu...

C 反射 掀起Unity Editor面紗

感覺非常棒的spy手法,可以拿到更強大的api使用!之前在群裡看到有人提到profiler memory plus這個外掛程式,相當不錯 在原來profiler功能上擴充套件出了diff功能 非常實用。然後我就在想這個是怎麼做的呢,某天在折騰shader keyword的時候突然靈光一閃,莫非是pr...