Beispiel #1
0
 void optimizedReflect()
 {
     //UnityEngine.Debug.Log($"reflect {GetType()}");
     if (!TreeInfo.TryGetFieldInfo(GetType(), out var info))
     {
         throw new Exception($"type::{GetType()} info not found");
     }
     if (info.findedFields.Count > 0)
     {
         needFindInfo = new List <FieldInfo>();
         needFindInfo.AddRange(info.findedFields);
         //foreach (var item in needFindInfo)
         //{
         //    UnityEngine.Debug.Log($"find ::{item}");
         //}
     }
     foreach (var item in info.cmpFields)
     {
         injectCmp(item);
         //UnityEngine.Debug.Log($"cmpFields ::{item}");
     }
     foreach (var item in info.cmpArrayFields)
     {
         //UnityEngine.Debug.Log($"cmpArrayFields ::{item}");
         injectCmpArray(item);
     }
 }