aeroson

Unity3D Unet automatic hook_ calling once client is connecte

Jul 9th, 2015
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.86 KB | None | 0 0
  1. using UnityEngine;
  2. using UnityEngine.Networking;
  3. using System.Collections.Generic;
  4. using System.Reflection;
  5. using System.Linq;
  6.  
  7. public class NewNetworkBehaviour : NetworkBehaviour
  8. {
  9.     static Dictionary<NetworkInstanceId, NetworkBehaviour> instanceIdToBehavior = new Dictionary<NetworkInstanceId, NetworkBehaviour>();
  10.     public override void OnStartClient()
  11.     {
  12.         const string prefix ="hook_";
  13.         var type = this.GetType();
  14.         foreach (var m in type.GetMethods(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public).Where(x => x.Name.StartsWith(prefix)))
  15.         {
  16.             var name = m.Name.Substring(prefix.Length);
  17.             var fieldInfo = type.GetField(name, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
  18.             m.Invoke(this, new[] { fieldInfo.GetValue(this) });
  19.         }
  20.     }
  21. }
Advertisement
Add Comment
Please, Sign In to add comment