using System;
namespace <任意の名前空間名>
{
class <任意のクラス名> : MonobitEngine.MonoBehaviour
{
/**
* @brief 作成されたルーム情報.
*/
MunRoomInfo m_RoomInfo = null;
/**
* @brief コンストラクタ.
* @param roomInfo 作成されたルーム情報.
*/
public <任意のクラス名>(MunRoomInfo roomInfo)
{
// 自身のクラスを MonobitNetwork の監視下に登録する
MonobitEngine.MonobitNetwork.AddBehaviour(roomInfo.GetId(), this);
// ルーム情報を退避
m_RoomInfo = roomInfo;
}
/**
* @brief デストラクタ.
*/
~<任意のクラス名>()
{
// 自身のクラスを MonobitNetwork の監視下から除外する
MonobitEngine.MonobitNetwork.RemoveBehaviour(this);
}
/**
* @brief ルーム作成時の処理.
*/
public override void Start()
{
// TODO : ルーム作成時の処理
}
/**
* @brief ルーム更新時の処理.
*/
public override void Update()
{
// TODO : ルーム更新時の処理
}
/**
* @brief MUN サーバからリクエスト送信されたシーンオブジェクトが MUN クライアント上に生成された時のコールバック.
* @param prefabName 生成されたシーンオブジェクトのプレハブ名.
* @param position 生成されたシーンオブジェクトの位置.
* @param rotation 生成されたシーンオブジェクトの向き.
* @param viewId 生成されたシーンオブジェクトのMonobitViewID.
*/
public void OnMonobitInstantiateSceneObject(string prefabName, MonobitEngine.UnityEngine_Vector3 position, MonobitEngine.UnityEngine_Quaternion rotation, Int32 viewId)
{
// TODO : MUN サーバからリクエスト送信されたシーンオブジェクトが MUN クライアント上に生成された時の処理
}
/**
* @brief MUN クライアントから オブジェクト同期データが送信されてきた時のコールバック.
* @param playerId 送信者であるプレイヤーの ID.
* @param viewId 送信オブジェクトが保持する MonobitView の ID.
* @param objectName 送信オブジェクトのGameObjectの名前.
* @param transData MonobitTransformView コンポーネントから送信されてきたデータ群.
* @param animData MonobitAnimatorView コンポーネントから送信されてきたデータ群.
* @param otherData MonobitTransformView コンポーネント、および MonobitAnimatorView コンポーネント以外から送信されてきたデータ群。
* このデータで送信されてくるデータには、Transform, Rigidbody, および OnMonobitSerializeView() メソッドで送られるストリーム情報がある.
*/
public void OnMonobitSerializeView(Int32 playerId, Int32 viewId, string objectName, object[] transData, object[] animData, object[] otherData)
{
// TODO : MUN クライアントから オブジェクト同期データが送信されてきた時の処理
}
}
}