예제 #1
0
        void DrawActionList(string title, ref List <ActionData> actionDataList)
        {
            EditorGUILayout.BeginHorizontal();

            if (actionListVisableDic.TryGetValue(actionDataList, out actionListVisable) == false)
            {
                actionListVisable = false;
            }
            actionListVisable = MyGUI.FoldoutWithTitle(title, actionListVisable);
            actionListVisableDic[actionDataList] = actionListVisable;

            if (actionListVisable)
            {
                if (MyGUI.Button("添加"))
                {
                    actionDataList.Add(new ActionData());
                }
            }
            EditorGUILayout.EndHorizontal();
            if (actionListVisable)
            {
                GUIStyle boxStyle = new GUIStyle("box");
                EditorGUILayout.BeginVertical(boxStyle, GUILayout.ExpandWidth(true));

                for (int i = actionDataList.Count - 1; i >= 0; i--)
                {
                    EditorGUILayout.BeginHorizontal();


                    var actionData = actionDataList[i];
                    DrawActionData(ref actionData);

                    if (MyGUI.Button("删除"))
                    {
                        actionDataList.RemoveAt(i);
                    }

                    EditorGUILayout.EndHorizontal();
                }

                EditorGUILayout.EndVertical();
            }
        }
예제 #2
0
        public override void OnInspectorGUI()
        {
            if (Application.isPlaying)
            {
                animEffectId = MyGUI.TextFieldWithTitle("animEffectId", animEffectId);
                if (MyGUI.Button("测试特效"))
                {
                    var playerObject = GameObject.Find("Player1");
                    AnimManager.Instance.PlayAnimEffect(animEffectId, playerObject.transform.position);
                }

                shakeEffectVisable = MyGUI.FoldoutWithTitle("Shake", shakeEffectVisable);
                if (shakeEffectVisable)
                {
                    shakeXYEnum = (ShakeXYEnum)MyGUI.EnumPopupWithTitle("震动类型", shakeXYEnum);
                    EditorGUILayout.BeginVertical();

                    duration = MyGUI.FloatFieldWithTitle("持续时间(duration)", duration);
                    if (shakeXYEnum == ShakeXYEnum.ShakeV3)
                    {
                        strengthV3 = MyGUI.Vector3WithTitle("震动幅度(strength)Vector3", strengthV3);
                    }
                    else
                    {
                        strength = MyGUI.FloatFieldWithTitle("震动幅度(strength)", strength);
                    }

                    vibrato    = MyGUI.IntFieldWithTitle("震动强度(vibrato)", vibrato);
                    randomness = MyGUI.FloatFieldWithTitle("随机性震动(randomness)", randomness);
                    snapping   = MyGUI.ToggleWithTitle("snapping", snapping);
                    fadeOut    = MyGUI.ToggleWithTitle("fadeOut", fadeOut);

                    EditorGUILayout.EndVertical();

                    if (MyGUI.Button("测试震动"))
                    {
                        switch (shakeXYEnum)
                        {
                        case ShakeXYEnum.FastShake:
                            AnimManager.Instance.Shake(duration, strength, vibrato, randomness, snapping, fadeOut);
                            break;

                        case ShakeXYEnum.ShakeX:
                            AnimManager.Instance.ShakeX(duration, strength, vibrato, randomness, snapping, fadeOut);
                            break;

                        case ShakeXYEnum.ShakeY:
                            AnimManager.Instance.ShakeY(duration, strength, vibrato, randomness, snapping, fadeOut);
                            break;

                        case ShakeXYEnum.ShakeV3:
                            AnimManager.Instance.ShakeV3(duration, strengthV3, vibrato, randomness, snapping, fadeOut);
                            break;

                        default:
                            break;
                        }
                    }
                }
                CameraScaleVisable = MyGUI.FoldoutWithTitle("CameraScale", CameraScaleVisable);
                if (CameraScaleVisable)
                {
                    CameraScale = MyGUI.FloatFieldWithTitle("Camerasize", CameraScale);
                    if (MyGUI.Button("测试摄像机放大"))
                    {
                        AnimManager.Instance.CameraScaleUp(CameraScale);
                    }
                }
                game = (GameObject)EditorGUILayout.ObjectField(new GUIContent("role"), game, typeof(GameObject), true);
                if (game != null)
                {
                    longlong = MyGUI.FloatFieldWithTitle("long", longlong);
                    heitht   = MyGUI.FloatFieldWithTitle("height", heitht);
                    t        = MyGUI.FloatFieldWithTitle("", t);
                    if (MyGUI.Button("测试伤害数值"))
                    {
                        Vector3 v3 = new Vector3(0, 3, 0) + game.transform.position;
                        AnimManager.Instance.cebezierInterrupt("13", v3, 1f, false, longlong, heitht, t);
                    }
                }
            }

            DrawDefaultInspector();
        }