Skip to content

Instantly share code, notes, and snippets.

@todorok1
Created August 17, 2020 04:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save todorok1/879ea06c882b64cf1957fb18c4516996 to your computer and use it in GitHub Desktop.
Save todorok1/879ea06c882b64cf1957fb18c4516996 to your computer and use it in GitHub Desktop.
イベントシステムを使用して他のスクリプトのメソッドを呼び出すサンプル
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
/// <Summary>
/// EventSystemsを使用して他のスクリプトのメソッドを呼び出します。
/// </Summary>
public class EventSystemsCaller : MonoBehaviour
{
public GameObject targetObj;
void Start()
{
DoMyEvent();
}
/// <Summary>
/// EventSystemsを使用してイベントを実行します。
/// </Summary>
void DoMyEvent()
{
NotifyEvent(targetObj);
}
/// <Summary>
/// 対象のオブジェクトにイベントを通知します。
/// </Summary>
/// <param name="targetObj">対象のオブジェクト</param>
void NotifyEvent(GameObject targetObj)
{
ExecuteEvents.Execute<IEventCaller>(
target: targetObj,
eventData: null,
functor: CallMyEvent
);
}
/// <Summary>
/// このイベントで指定するインタフェースのメソッドです。
/// </Summary>
void CallMyEvent(IEventCaller inf, BaseEventData eventData)
{
inf.EventCall();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment