首頁 > 資料庫 > 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
最新問題
Objective-C 如何呼叫enum做參數的方法?
來自於 1970-01-01 08:00:00
0
0
0
java - enum是什麼? 為什麼有它? 怎麼用?
來自於 1970-01-01 08:00:00
0
0
0
PHP 在屬性中使用 ENUM
來自於 1970-01-01 08:00:00
0
0
0
java enum 變數不能再case裡面重複定義?
來自於 1970-01-01 08:00:00
0
0
0
MySQL 資料型態enum無法插入資料的疑問?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板