zoukankan      html  css  js  c++  java
  • enum property + other script access

    使用enum property

    BOM2 项目中需要有一个单独的script控制mode的切换,其他scipt根据这个mode切换到哪一个enum来决定该mode下的一些功能的开启。一开 始我用的是inspector的方法,在enum的script里控制enum选择的值,然后在需要做判断的script里创建一个public变量来接 受enum值的变化。后来我改为完全用类的enum方法实现。
     
    //ModeSelector.cs
    
    using 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.cs
    
    OnGUI()
    {
        ...
        if(ModeSelector.ModeEnumProperty == ModeEnum.AssemblyView)
        {
            
            //something to do
            
        }
        ...
    }
  • 相关阅读:
    1、如何使用Azure Rest API创建虚拟机
    Ansible---2的Roles使用
    linux下的shell脚本
    生成器 yield和协程
    xshell
    markdown的使用
    加密
    Hbuilder打包app
    尾递归
    jupyter
  • 原文地址:https://www.cnblogs.com/shawnzxx/p/2880812.html
Copyright © 2011-2022 走看看