> 데이터 베이스 > MySQL 튜토리얼 > enum property + other script access

enum property + other script access

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 15:03:33
원래의
1160명이 탐색했습니다.

使用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方法实现。

 

<span>//</span><span>ModeSelector.cs</span>

<span>using</span><span> UnityEngine;
</span><span>using</span><span> System.Collections;

    </span><span>public</span> <span>enum</span><span> ModeEnum
    {
        AssemblyView,
        TearView,
        ProfileView,
        TiffView
    }

    </span><span>public</span> <span>class</span><span> ModeSelector : MonoBehaviour
    {
        </span><span>private</span> <span>static</span> <span>int</span><span> myVar;
        </span><span>public</span> <span>static</span><span> ModeEnum ModeEnumProperty 
        {
            </span><span>get</span> { <span>return</span><span> (ModeEnum)myVar; }
            </span><span>set</span> { myVar = (<span>int</span><span>)value; }
        }
        </span><span>//</span><span> Use this for initialization</span>
        <span>void</span><span> Start()
        {
            ModeEnumProperty </span>=<span> ModeEnum.AssemblyView;
        }

        </span><span>//</span><span> Update is called once per frame</span>
        <span>void</span><span> Update()
        {

        }

        </span><span>void</span><span> OnGUI()
        {
            </span><span>if</span> (GUI.Button(<span>new</span> Rect(Screen.width / <span>2</span> - <span>150</span>, <span>50</span>, <span>100</span>, <span>20</span>), <span>"</span><span>Tear Apart</span><span>"</span><span>))
            {
                ModeEnumProperty </span>=<span> ModeEnum.TearView;
            }
            </span><span>if</span> (GUI.Button(<span>new</span> Rect(Screen.width / <span>2</span> + <span>50</span>, <span>50</span>, <span>100</span>, <span>20</span>), <span>"</span><span>3D Viewer</span><span>"</span><span>))
            {
                ModeEnumProperty </span>=<span> ModeEnum.AssemblyView;
            }
        }
    }</span>
로그인 후 복사

<span>//</span><span>NavigationControl.cs</span>
<span>
OnGUI()
{
    ...
    </span><span>if</span>(ModeSelector.ModeEnumProperty ==<span> ModeEnum.AssemblyView)
    {
        
        </span><span>//</span><span>something to do</span>
<span>        
    }
    ...
}</span>
로그인 후 복사

 

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿