Warning: Declaration of action_plugin_linebreak::register(&$controller) should be compatible with DokuWiki_Action_Plugin::register(Doku_Event_Handler $controller) in /home/stepism/www/ue4/wiki/lib/plugins/linebreak/action.php on line 41

Warning: Declaration of action_plugin_markdownextra::register(&$controller) should be compatible with DokuWiki_Action_Plugin::register(Doku_Event_Handler $controller) in /home/stepism/www/ue4/wiki/lib/plugins/markdownextra/action.php on line 16

Warning: Declaration of action_plugin_syntaxhighlighter3_action::register(Doku_Event_Handler &$controller) should be compatible with DokuWiki_Action_Plugin::register(Doku_Event_Handler $controller) in /home/stepism/www/ue4/wiki/lib/plugins/syntaxhighlighter3/action/action.php on line 28
098 セーフティーなAddComponent /GetComponent [stepism@UE4メモ]

ユーザ用ツール

サイト用ツール


wiki:unity:tips:098

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
wiki:unity:tips:098 [2015/02/12 13:01]
step 作成
— (現在)
ライン 1: ライン 1:
-====== 098 セーフティーなAddComponent /​GetComponent ====== 
- 
- 
-<code csharp> 
-//​------------------------------------------------------------- 
-//! コンポーネントの追加(存在チェック版). 
-//​------------------------------------------------------------- 
-static public T AddSafeComponent<​T>​(GameObject _go) where T : Component 
-{ 
-    T component = _go.GetComponent<​T>​();​ 
-    if (component == null) 
-    { 
-        // 無ければ足す。 
-        return _go.AddComponent<​T>​();​ 
-    } 
-    // あればそのまま返す。 
-    return component; 
-} 
- 
-//​------------------------------------------------------------- 
-//! コンポーネントの取得(存在チェック版). 
-//​------------------------------------------------------------- 
-public static T GetSafeComponent<​T>​(GameObject _go) where T : Component 
-{ 
- T component = _go.GetComponent<​T>​();​ 
- 
- if(component == null) 
- { 
- Debug.LogError("​Expected to find component of type " + typeof(T) + " but found none.",​ _go); 
- } 
- return component; 
-} 
-</​code>​ 
  
wiki/unity/tips/098.1423746074.txt.gz · 最終更新: 2015/02/12 13:01 by step