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

以前のリビジョンの文書です —-


Warning: Declaration of syntax_plugin_linebreak::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/stepism/www/ue4/wiki/lib/plugins/linebreak/syntax.php on line 52

Warning: Declaration of syntax_plugin_linebreak::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/stepism/www/ue4/wiki/lib/plugins/linebreak/syntax.php on line 74

Warning: Declaration of syntax_plugin_markdownextra::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/stepism/www/ue4/wiki/lib/plugins/markdownextra/syntax.php on line 38

Warning: Declaration of syntax_plugin_markdownextra::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/stepism/www/ue4/wiki/lib/plugins/markdownextra/syntax.php on line 47

Warning: Declaration of syntax_plugin_syntaxhighlighter3_syntax::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/stepism/www/ue4/wiki/lib/plugins/syntaxhighlighter3/syntax/syntax.php on line 53

Warning: Declaration of syntax_plugin_syntaxhighlighter3_syntax::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/stepism/www/ue4/wiki/lib/plugins/syntaxhighlighter3/syntax/syntax.php on line 82

098 セーフティーなAddComponent /GetComponent

概要

よく使う機能は安全性の為にもラップしておくと良い。

//------------------------------------------------------------- 
//! コンポーネントの追加(存在チェック版). 
//------------------------------------------------------------- 
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; 
} 
wiki/unity/tips/098.1423746123.txt.gz · 最終更新: 2015/02/12 13:02 by step