Esempio n. 1
0
    /* プラグイン内部用API */
    public static void SetEventCallback(CriAtomExSequencer.EventCbFunc func, string separator)
    {
#if CRIWARE_SUPPORT_NATIVE_CALLBACK
        /* ネイティブプラグインに関数ポインタを登録 */
        IntPtr ptr = IntPtr.Zero;
        eventUserCbFunc = func;
        if (func != null)
        {
            CriAtomExSequencer.EventCbFunc delegateObject;
            delegateObject = new CriAtomExSequencer.EventCbFunc(CriAtom.SequenceEventCallbackFromNative);
            ptr            = Marshal.GetFunctionPointerForDelegate(delegateObject);
        }
        CriAtomPlugin.criAtomUnitySequencer_SetEventCallback(ptr, separator);
#else
        Debug.LogError("[CRIWARE] Event callback is not supported for this scripting backend.");
#endif
    }
Esempio n. 2
0
    /* プラグイン内部用API */
    public static void SetEventCallback(CriAtomExSequencer.EventCbFunc func, string separator)
    {
#if CRIWARE_SUPPORT_SEQUENCE_CALLBACK
        /* ネイティブプラグインに関数ポインタを登録 */
        IntPtr ptr = IntPtr.Zero;
        eventUserCbFunc = func;
        if (func != null)
        {
        #if CRIWARE_CALLBACK_IMPL_UNITYSENDMESSAGE
            ptr = IntPtr.Zero;
        #elif CRIWARE_CALLBACK_IMPL_NATIVE2MANAGED
            CriAtomExSequencer.EventCbFunc localFunc;
            localFunc = new CriAtomExSequencer.EventCbFunc(CriAtom.instance.EventCallbackFromNative);
            ptr       = Marshal.GetFunctionPointerForDelegate(localFunc);
        #endif
            CriAtomPlugin.criAtomUnitySeqencer_SetEventCallback(ptr, CriAtom.instance.gameObject.name, "EventCallbackFromNative", separator);
        }
#elif CRIWARE_UNSUPPORT_SEQUENCE_CALLBACK
        Debug.LogError("This platform does not support event callback feature.");
#endif
    }
Esempio n. 3
0
 /**
  * <summary>シーケンスイベントコールバックの登録</summary>
  * <param name="func">シーケンスコールバック関数</param>
  * <param name="separator">イベントパラメタ区切り文字列(最大15文字)</param>
  * \par 説明:
  * シーケンスデータに埋め込まれたコールバック情報を受け取るコールバック関数を登録します。<br/>
  * 登録されたコールバック関数は、コールバックイベントを処理したタイミングで実行されます。<br/>
  * \par 注意:
  * コールバック関数は1つしか登録できません。<br/>
  * 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。<br/>
  */
 public static void SetEventCallback(CriAtomExSequencer.EventCbFunc func, string separator = "\t")
 {
     /* MonoBehaviour側に登録 */
     CriAtom.SetEventCallback(func, separator);
 }
Esempio n. 4
0
	/* プラグイン内部用API */
	public static void SetEventCallback(CriAtomExSequencer.EventCbFunc func, string separator)
	{

#if CRIWARE_SUPPORT_SEQUENCE_CALLBACK
		/* ネイティブプラグインに関数ポインタを登録 */
		IntPtr ptr = IntPtr.Zero;
		eventUserCbFunc = func;
		if (func != null) {
	#if CRIWARE_CALLBACK_IMPL_UNITYSENDMESSAGE
			ptr = IntPtr.Zero;
	#elif CRIWARE_CALLBACK_IMPL_NATIVE2MANAGED
			CriAtomExSequencer.EventCbFunc localFunc;
			localFunc = new CriAtomExSequencer.EventCbFunc(CriAtom.instance.EventCallbackFromNative);
			ptr = Marshal.GetFunctionPointerForDelegate(localFunc);
	#endif
			CriAtomPlugin.criAtomUnitySeqencer_SetEventCallback(ptr, CriAtom.instance.gameObject.name, "EventCallbackFromNative", separator);		
		}	
#elif CRIWARE_UNSUPPORT_SEQUENCE_CALLBACK
		Debug.LogError("This platform does not support event callback feature.");
#endif
	}