あるメソッドがコールされると紐づけたラムダ式内部を実行したい(別メソッドへ通知)
■現状
PhotonCloudというマルチオンラインのしくみを使って
マルチ対戦を作ろうとしています。
PhotonEventManager.csのOnConnectedToPhotonは
PhotonServerに接続されるとイベントが飛んできます。
イベントが飛んで来た時に、ある処理が呼ばれるという仕組みを作りたいのですが
呼ばれずに悩んでおります。
OnConnectedToPhotonメソッドが呼ばれることは確認できています。
イベントやデリゲートなどの基本的な事でできると思うのですができていません。
■やりたい事(C#3.0)
タイトルのラムダ式にこだわっているわけではなく、
あるメソッドが呼ばれたことを別のメソッドに通知するというような事が
したいというのが意図になります。
■ソースと説明
下記、PhotonEventManager.csのOnConnectedToPhotonと
ConnectionPhase.csのSetManagerメソッド内でラムダ式内部が呼ばれるように
紐づけているつもりなのですが、OnConnectedToPhotonメソッドが呼ばれますが
ラムダ式内部は呼ばれないです。
●PhotonCloud.cs
using UnityEngine;
using System;
public class PhotonEventManager : Photon.MonoBehaviour {
/// <summary>
/// 接続成功時に呼び出される。
/// </summary>
public void OnConnectedToPhoton()
{
Debug.Log("OnConnectedToPhoton");
}
//接続が切断されたときにコール
public void OnDisconnectedFromPhoton()
{
Debug.Log("Disconnected from Photon.");
}
}
●ConnectionPhase.cs
using System;
public class ConnectionPhase
{
public void SetManager(PhotonEventManager manager)
{
manager.OnConnectedPhoton = () =>
{
UnityEngine.Debug.Log("Success");
};
}
}
■環境
Unity5.5.1f1
C#3.0
VisualStudio 2015 Community