/// <summary>
        /// Draws the parameters rows.
        /// </summary>
        /// <param name="unityInterface">The unity interface.</param>
        /// <param name="foldout">If set to <c>true</c> [foldout].</param>
        /// <param name="fullMethodDescriptionsList">The full method descriptions list.</param>
        /// <param name="serializedObjects">The serialized objects.</param>
        /// <param name="lockParametersRows">If set to <c>true</c> [lock parameters rows].</param>
        public void DrawParametersRows(IUnityInterfaceWrapper unityInterface, bool foldout, List <FullMethodDescription> fullMethodDescriptionsList, Dictionary <Type, ISerializedObjectWrapper> serializedObjects, bool lockParametersRows)
        {
            if (fullMethodDescriptionsList != null && fullMethodDescriptionsList.Count > 0 && foldout /* && !lockParametersRows*/)
            {
                bool theCallBeforeMethodsHaveParameters = false;
                foreach (FullMethodDescription fullMethodDescription in fullMethodDescriptionsList)
                {
                    if (fullMethodDescription.Parameters.Parameters.Length > 0)
                    {
                        if (fullMethodDescription.MainMethod != null)
                        {
                            theCallBeforeMethodsHaveParameters = true;
                        }

                        if (theCallBeforeMethodsHaveParameters)
                        {
                            unityInterface.EditorGUILayoutSeparator();
                            unityInterface.EditorGUILayoutBeginHorizontal();
                            float  currentViewWidth = unityInterface.EditorGUIUtilityCurrentViewWidth();
                            string text             = this.GetHeaderTextForFullMethodDescription(fullMethodDescription);
                            unityInterface.EditorGUILayoutLabelFieldTruncate(text, currentViewWidth);
                            unityInterface.EditorGUILayoutEndHorizontal();
                        }

                        this.DrawParametersRows(unityInterface, foldout, fullMethodDescription, serializedObjects, lockParametersRows);
                    }
                }

                unityInterface.EditorGUILayoutSeparator();
                unityInterface.EditorGUILayoutSeparator();
            }
        }
Beispiel #2
0
        /// <summary>
        /// Draws the options.
        /// </summary>
        /// <param name="businessLogicData">The business logic data.</param>
        /// <param name="isStaticScenario">If set to <c>true</c> [is static scenario].</param>
        /// <param name="script">The script.</param>
        /// <param name="unityInterface">The unity interface.</param>
        /// <param name="bddComponents">The BDD components.</param>
        private void DrawOptions(RunnerEditorBusinessLogicData businessLogicData, bool isStaticScenario, BDDExtensionRunner script, IUnityInterfaceWrapper unityInterface, Component[] bddComponents)
        {
            Rect rect = unityInterface.EditorGUILayoutGetControlRect();

            businessLogicData.OptionsFoldout = unityInterface.EditorGUIFoldout(rect, businessLogicData.OptionsFoldout, "Options");
            if (businessLogicData.OptionsFoldout)
            {
                if (!isStaticScenario)
                {
                    this.ForceRebuildParametersButton(script, bddComponents);
                }

                unityInterface.EditorGUILayoutSeparator();
                this.ChooseBetweenUpdateAndFixedUpdate(script, this.unityIntefaceWrapper);
                float  width = unityInterface.EditorGUIUtilityCurrentViewWidth();
                int    numberOfSeparatorChars = (int)width / 7;
                string text = string.Empty.PadLeft(numberOfSeparatorChars, '_');

                unityInterface.EditorGUILayoutLabelFieldTruncate(text, width);
            }
        }