enum property + other script access

Jun 07, 2016 pm 03:03 PM
enum property script

使用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>
ログイン後にコピー

 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

enum モジュールを使用して Python 2.x で列挙型を定義する方法 enum モジュールを使用して Python 2.x で列挙型を定義する方法 Jul 29, 2023 pm 09:33 PM

enum モジュールを使用して Python2.x で列挙型を定義する方法 はじめに: 列挙型は、変数の値を限られた範囲に制限するデータ型です。列挙型を使用すると、コードがより明確で読みやすくなります。 Python2.x では、enum モジュールを使用して列挙型を定義できます。この記事では、enum モジュールを使用して列挙型を定義および使用する方法と、対応するコード例を紹介します。 enum モジュールのインポート enum モジュールを使用する前に、まずモジュールをインポートする必要があります。存在する

PHP 注意: 非オブジェクトのプロパティを取得しようとしています - 解決策 PHP 注意: 非オブジェクトのプロパティを取得しようとしています - 解決策 Aug 17, 2023 am 09:27 AM

PHP Notice: Tryingtogetpropertyofnon-object-Solution PHP 開発プロセス中に、「Tryingtogetpropertyofnon-object (非オブジェクトのプロパティを取得しようとしています)」という一般的なエラー メッセージが表示されることがあります。このエラーは通常、オブジェクト型ではない変数のプロパティにアクセスしようとした (またはメソッドを呼び出した) ときに発生します。この記事ではこれについて紹介します

PHP への解決策 注意: 未定義のプロパティ: PHP への解決策 注意: 未定義のプロパティ: Jun 22, 2023 pm 02:48 PM

PHP でコードを作成するときに、「通知: 未定義のプロパティ」というエラー メッセージが表示される場合があります。このエラーは、未定義のプロパティにアクセスしていることを意味します。通常、そのプロパティがコード内で初期化されていないことが原因です。では、この問題をどうやって解決すればよいでしょうか?考えられる解決策は次のとおりです。 プロパティを初期化する これは、この問題を解決する最も簡単な方法です。コード内でプロパティを明示的に初期化すると、使用前にプロパティが確実に定義されます。例: クラス

スクリプトってどういう意味ですか? スクリプトってどういう意味ですか? Aug 29, 2023 pm 02:00 PM

スクリプトとは台本、台本という意味です。映画、テレビ、ドラマ、その他の芸術形式では、脚本は登場人物の会話、行動、シーン、ストーリーの展開や構造を記述するために使用されます。脚本を書くには一定のスキルと経験が必要で、観客の注意を引き付け、物語の感情やテーマを伝えることができる、鮮やかで力強いものでなければなりません。脚本は映画やテレビ業界で特に重要であり、創作の基礎となり、映画のストーリー、キャラクター展開、会話の内容を決定します。脚本は、アーティストが自分自身を創作し、表現するための重要なツールです。

TypeError: Vue で null のプロパティ 'XXX' を読み取れません。どうすればよいですか? TypeError: Vue で null のプロパティ 'XXX' を読み取れません。どうすればよいですか? Nov 25, 2023 pm 01:21 PM

Vue は、ユーザー インターフェイスを構築するための人気のある JavaScript フレームワークです。開発プロセス中に、さまざまなエラーや例外が発生することがあります。よくあるエラーの 1 つは、「TypeError:Cannotreadproperty'XXX'ofnull」です。この記事では、このエラーの原因とその修正方法について説明します。まず、このエラーの背後にある理由を理解しましょう。オブジェクトのプロパティまたはメソッドにアクセスしようとすると、そのペアが

C# で Enum.GetNames 関数を使用して列挙型に定義されているすべての名前を取得する方法 C# で Enum.GetNames 関数を使用して列挙型に定義されているすべての名前を取得する方法 Nov 18, 2023 pm 03:44 PM

C# では、列挙型は、特定の状態やオプションを表す定数を定義できる非常に便利なデータ型です。 enum 型を定義したら、Enum.GetNames 関数を使用して、定義されたすべての名前を取得できます。この記事では、この関数の使用方法を詳しく説明し、具体的なコード例を示します。 Enum.GetNames 関数とは Enum.GetNames 関数は、指定された列挙型の文字列の配列を返す静的メソッドです。各文字列は、

TypeError: Vue で未定義のプロパティ '$XXX' を読み取れません。解決策は何ですか? TypeError: Vue で未定義のプロパティ '$XXX' を読み取れません。解決策は何ですか? Nov 25, 2023 am 10:00 AM

TypeError:Vue で定義されていないプロパティ '$XXX' を読み取れません。解決策は何ですか? Vue 開発では、TypeError:Cannotreadproperty'$XXX'ofundefine などのエラーが頻繁に発生します。このエラーは通常、Vue インスタンスで未定義のプロパティまたはメソッドを使用したことが原因で発生します。このエラーが発生した場合、次のことを行う必要があります。

スクリプトとは何ですか スクリプトとは何ですか Oct 12, 2023 am 10:04 AM

コンピューター サイエンスの分野では、「スクリプト」は通常、スクリプト言語またはスクリプト ファイルを指します。スクリプト言語は、自動化、バッチ処理、ラピッド プロトタイピングなどのタスクによく使用されるインタープリタ型プログラミング言語です。

See all articles