使用enum property bom2 项目中需要有一个单独的script控制mode的切换,其他scipt根据这个mode切换到哪一个enum来决定该mode下的一些功能的开启。一开 始我用的是inspector的方法,在enum的script里控制enum选择的值,然后在需要做判断的script里创建一个pub
使用enum property
bom2 项目中需要有一个单独的script控制mode的切换,其他scipt根据这个mode切换到哪一个enum来决定该mode下的一些功能的开启。一开 始我用的是inspector的方法,在enum的script里控制enum选择的值,然后在需要做判断的script里创建一个public变量来接 受enum值的变化。后来我改为完全用类的enum方法实现。
//modeselector.csusing unityengine;using system.collections; public enum modeenum { assemblyview, tearview, profileview, tiffview } public class modeselector : monobehaviour { private static int myvar; public static modeenum modeenumproperty { get { return (modeenum)myvar; } set { myvar = (int)value; } } // use this for initialization void start() { modeenumproperty = modeenum.assemblyview; } // update is called once per frame void update() { } void ongui() { if (gui.button(new rect(screen.width / 2 - 150, 50, 100, 20), tear apart)) { modeenumproperty = modeenum.tearview; } if (gui.button(new rect(screen.width / 2 + 50, 50, 100, 20), 3d viewer)) { modeenumproperty = modeenum.assemblyview; } } }
//navigationcontrol.csongui(){ ... if(modeselector.modeenumproperty == modeenum.assemblyview) { //something to do } ...}