예제 #1
0
    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());
    }
예제 #2
0
    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);
    }
예제 #3
0
 void OnEnable()
 {
     body = target as T23_CommonBuffer;
 }