public static T23_BroadcastGlobal[] TakeCommonBuffersRelate(T23_CommonBuffer commonBuffer) { List <T23_BroadcastGlobal> broadcastGlobals = new List <T23_BroadcastGlobal>(); var allbroadcasts = GetAllBroadcastGlobals(); foreach (var broadcast in allbroadcasts) { var field = broadcast.GetProgramVariable("commonBuffer") as T23_CommonBuffer; if (field != null && field.transform.GetHierarchyPath() == commonBuffer.transform.GetHierarchyPath()) { broadcastGlobals.Add(broadcast); } } return(broadcastGlobals.ToArray()); }
public static void JoinAllBufferingBroadcasts(T23_CommonBuffer commonBuffer) { var broadcasts = GetAllBroadcastGlobals();; foreach (var broadcast in broadcasts) { var commonBufferField = broadcast.GetProgramVariable("commonBuffer") as T23_CommonBuffer; var bufferTypeField = broadcast.GetProgramVariable("bufferType") as int?; if (commonBufferField == null && bufferTypeField != 0) { broadcast.commonBuffer = commonBuffer; UdonSharpEditorUtility.CopyProxyToUdon(broadcast); } } commonBuffer.broadcasts = TakeCommonBuffersRelate(commonBuffer); UdonSharpEditorUtility.CopyProxyToUdon(commonBuffer); }
void OnEnable() { body = target as T23_CommonBuffer; }