コード例 #1
0
        void ExecuteFunction(vButtonAttribute target)
        {
            if (target.type == null)
            {
                return;
            }
            UnityEngine.Object theObject = Selection.activeGameObject.GetComponent(target.type) as UnityEngine.Object;

            MethodInfo tMethod = theObject.GetType().GetMethods().FirstOrDefault(method => method.Name == target.function &&
                                                                                 method.GetParameters().Count() == 0);

            if (tMethod != null)
            {
                tMethod.Invoke(theObject, null);
            }
        }
コード例 #2
0
        public override void OnGUI(Rect position)
        {
            vButtonAttribute target = (vButtonAttribute)attribute;

            if (target != null)
            {
                GUI.enabled = target.enabledJustInPlayMode && Application.isPlaying || !target.enabledJustInPlayMode;
                Rect rect = position;
                rect.height = 20;
                if (GUI.Button(rect, new GUIContent(target.label, GUI.enabled ? "Call function " + target.function : "Enabled Just in Play Mode")))
                {
                    ExecuteFunction(target);
                }
                GUI.enabled = true;
            }
        }