enum property + other script access

使用enum property BOM2 项目中需要有一个单独的script控制mode的切换,其他scipt根据这个mode切换到哪一个enum来决定该mode下的一些功能的开启。一开 始我用的是inspector的方法,在enum的script里控制enum选择的值,然后在需要做判断的script里创建一个pub

<link href="/js/syntaxhighlighter/common2_cnblogs.css" rel="stylesheet" type="text/css" />

使用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            }    ...}

郑重声明:本文版权包含图片归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们(delete@yzlfxy.com)修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
昵称:
匿名发表
   
验证码: