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...