示例#1
0
        /// <summary>
        /// Populates the members array with member drawers using information provided by the memberBuildList.
        /// Also should handle resizing the members array to the correct length, when necessary.
        /// GenerateMemberBuildList should always get called before this.
        /// </summary>
        protected void BuildMembers()
        {
                        #if DEV_MODE && PI_ASSERTATIONS
            Debug.Assert(memberBuildState == MemberBuildState.BuildListGenerated, ToString() + ".BuildMembers was called but memberBuildState was " + memberBuildState);
            if (memberBuildList.ContainsNullMembers())
            {
                Debug.LogError(ToString() + " memberBuildList had empty elements: " + StringUtils.ToString(memberBuildList));
            }
                        #endif

            DoBuildMembers();

                        #if DEV_MODE && PI_ASSERTATIONS
            if (Members.ContainsNullMembers())
            {
                Debug.LogError("buildState=" + memberBuildState + ", DebugMode=" + DebugMode + ", members:\n" + StringUtils.ToString(members, "\n"));
            }
                        #endif

            memberBuildState = MemberBuildState.MembersBuilt;

            ParentDrawerUtility.SendOnParentAssignedEvents(this);

            OnAfterMembersBuilt();
        }