예제 #1
0
    public void EditUnit()
    {
        if (AI.Unit == null)
        {
            AI.Unit = AI.GetComponent <Unit> ();
        }

        #region Edit Unit
        EnableEditUnit = EditorGUILayout.BeginToggleGroup("Edit Unit : " + AI.Unit.Name, EnableEditUnit);
        if (EnableEditUnit)
        {
            //EditBasicUnitProperty ();
            AI.Unit = (Unit)EditorCommon.EditBasicUnitProperty(AI.Unit);
            //Edit Start AI
            AbstractAI[] AllAI = AI.gameObject.GetComponents <AbstractAI> ();
            AI.Unit.StartAIName = EditorCommon.EditPopup("Unit Start AI:", AI.Unit.StartAIName, AllAI.Select(x => x.Name).ToArray());
            //Edit Idle Data
            if (EnableEditIdleData = EditorGUILayout.BeginToggleGroup("---Edit Idle Data", EnableEditIdleData))
            {
                AI.Unit.IdleData = EditorCommon.EditIdleDataArray(AI.Unit.gameObject,
                                                                  AI.Unit.IdleData);
            }
            EditorGUILayout.EndToggleGroup();

            //Edit rotate data
            if (EnableEditRotateData = EditorGUILayout.BeginToggleGroup("---Edit Rotate Data", EnableEditRotateData))
            {
                AI.Unit.RotateData = EditorCommon.EditRotateDataArray(AI.Unit.gameObject,
                                                                      AI.Unit.RotateData);
            }
            EditorGUILayout.EndToggleGroup();

            //Edit Move Data
            if (EnableEditMoveData = EditorGUILayout.BeginToggleGroup("---Edit Move Data", EnableEditMoveData))
            {
                AI.Unit.MoveData = EditorCommon.EditMoveDataArray(AI.Unit.gameObject,
                                                                  AI.Unit.MoveData);
            }
            EditorGUILayout.EndToggleGroup();

            //Edit attack data
            if (EnableEditAttackData = EditorGUILayout.BeginToggleGroup("---Edit Attack Data---", EnableEditAttackData))
            {
                AI.Unit.AttackData = EditorCommon.EditAttackDataArray(AI.Unit,
                                                                      AI.Unit.AttackData);
            }
            EditorGUILayout.EndToggleGroup();



            //Edit Effect Data
            if (EnableEditEffectData = EditorGUILayout.BeginToggleGroup("---Edit Effect Data---", EnableEditEffectData))
            {
                AI.Unit.EffectData = EditorCommon.EditEffectData(AI.Unit.EffectData);
            }
            EditorGUILayout.EndToggleGroup();

            //Edit Decal data
            if (EnableEditDecalData = EditorGUILayout.BeginToggleGroup("---Edit Decal Data---", EnableEditDecalData))
            {
                AI.Unit.DecalData = EditorCommon.EditDecalData(AI.Unit.DecalData);
            }
            EditorGUILayout.EndToggleGroup();
            //Edit receive damage data:
            if (EnableEditReceiveDamageData = EditorGUILayout.BeginToggleGroup("---Edit ReceiveDamage Data---", EnableEditReceiveDamageData))
            {
                AI.Unit.ReceiveDamageData = EditorCommon.EditReceiveDamageData(AI.Unit,
                                                                               AI.Unit.ReceiveDamageData);
            }
            EditorGUILayout.EndToggleGroup();


            //Edit death data
            if (EnableEditDeathData = EditorGUILayout.BeginToggleGroup("---Edit Death Data---", EnableEditDeathData))
            {
                AI.Unit.DeathData = EditorCommon.EditDeathData(AI.Unit, AI.Unit.DeathData);
            }
            EditorGUILayout.EndToggleGroup();

            //Edit audio data
            if (EnableEditAudioData = EditorGUILayout.BeginToggleGroup("---Edit Audio Data---", EnableEditAudioData))
            {
                AI.Unit.AudioData = EditorCommon.EditAudioData(AI.Unit, AI.Unit.AudioData);
            }
            EditorGUILayout.EndToggleGroup();
        }
        EditorGUILayout.EndToggleGroup();
        #endregion
    }
예제 #2
0
    public override void OnInspectorGUI()
    {
        Predator3rdPersonalUnit PlayerPredatorUnit = this.target as Predator3rdPersonalUnit;

        if (UseBaseInspector = EditorGUILayout.BeginToggleGroup("Base Inspector", UseBaseInspector))
        {
            base.OnInspectorGUI();
        }
        EditorGUILayout.EndToggleGroup();

        if (UseAdvancedInspector = EditorGUILayout.BeginToggleGroup("Advanced Inspector", UseAdvancedInspector))
        {
            PlayerPredatorUnit = (Predator3rdPersonalUnit)EditorCommon.EditBasicUnitProperty(PlayerPredatorUnit);
            if (GUILayout.Button("Save change"))
            {
                EditorUtility.SetDirty(PlayerPredatorUnit.gameObject);
            }
            //Edit Idle Data
            if (EnableEditIdleData = EditorGUILayout.BeginToggleGroup("---Edit Idle Data", EnableEditIdleData))
            {
                PlayerPredatorUnit.IdleData = EditorCommon.EditIdleData(PlayerPredatorUnit.gameObject, PlayerPredatorUnit.IdleData);
            }
            EditorGUILayout.EndToggleGroup();

            //Edit Move Data
            if (EnableEditMoveData = EditorGUILayout.BeginToggleGroup("---Edit Move Data", EnableEditMoveData))
            {
                PlayerPredatorUnit.MoveData = EditorCommon.EditMoveData(PlayerPredatorUnit.gameObject, PlayerPredatorUnit.MoveData);
            }
            EditorGUILayout.EndToggleGroup();

            //Edit Jump Data
            if (EnableEditJumpData = EditorGUILayout.BeginToggleGroup("---Edit Jump Data", EnableEditJumpData))
            {
                PlayerPredatorUnit.JumpData = EditJumpData(PlayerPredatorUnit.gameObject, PlayerPredatorUnit.JumpData);
            }
            EditorGUILayout.EndToggleGroup();

            //Edit PredatorPlayerAttackData array
            if (EnableEditAttackData = EditorGUILayout.BeginToggleGroup("---Edit Predator Attack Data", EnableEditAttackData))
            {
                PlayerPredatorUnit.PredatorAttackData = EditPredatorPlayerAttackDataArray(PlayerPredatorUnit, PlayerPredatorUnit.PredatorAttackData);
            }
            EditorGUILayout.EndToggleGroup();

            //Edit attack basic variables
            if (EnableEditCombatData = EditorGUILayout.BeginToggleGroup("---Edit attack variables", EnableEditCombatData))
            {
                PlayerPredatorUnit.RushRadius = EditorGUILayout.FloatField(new GUIContent("Rush radius:", "Inside rush radius, predator rush to the target"), PlayerPredatorUnit.RushRadius);
//				PlayerPredatorUnit.AttackAnimationLayer = EditorGUILayout.IntField ("Attack animation layer:", PlayerPredatorUnit.AttackAnimationLayer);
                PlayerPredatorUnit.CombatCoolDown = EditorGUILayout.FloatField("common combat cooldown:", PlayerPredatorUnit.CombatCoolDown);
                //Edit attack animation array
//				if (EnableEditAttackAnimation = EditorGUILayout.BeginToggleGroup ("    ----- Edit attack animation string array ----", EnableEditAttackAnimation)) {
//					PlayerPredatorUnit.AttackAnimations = EditorCommon.EditStringArray ("All attack animation:",
//				                                                                    PlayerPredatorUnit.AttackAnimations,
//				                                                                    EditorCommon.GetAnimationNames (PlayerPredatorUnit.gameObject));
//				}
//				EditorGUILayout.EndToggleGroup ();

                //Edit default combat - left claw
                if (EnableEditDefaultLeftClawCombat = EditorGUILayout.BeginToggleGroup("  ---Edit default combat : left claw", EnableEditDefaultLeftClawCombat))
                {
                    PlayerPredatorUnit.DefaultCombat_LeftClaw = Editor_Predator3rdPersonalUnit.EditCombat(
                        "Edit default left claw combat:",
                        PlayerPredatorUnit,
                        PlayerPredatorUnit.DefaultCombat_LeftClaw);
                    PlayerPredatorUnit.DefaultCombat_LeftClaw.userInput = UserInputType.Button_Left_Claw_Tap;
                }
                EditorGUILayout.EndToggleGroup();

                //Edit default combat - right claw
                if (EnableEditDefaultRightClawCombat = EditorGUILayout.BeginToggleGroup("  ---Edit default combat : right claw", EnableEditDefaultRightClawCombat))
                {
                    PlayerPredatorUnit.DefaultCombat_RightClaw = Editor_Predator3rdPersonalUnit.EditCombat(
                        "Edit default right claw combat:",
                        PlayerPredatorUnit,
                        PlayerPredatorUnit.DefaultCombat_RightClaw);
                    PlayerPredatorUnit.DefaultCombat_RightClaw.userInput = UserInputType.Button_Right_Claw_Tap;
                }
                EditorGUILayout.EndToggleGroup();

                //Edit default combat - dual claw
                if (EnableEditDefaultDualClawCombat = EditorGUILayout.BeginToggleGroup("  ---Edit default combat : dual claw", EnableEditDefaultDualClawCombat))
                {
                    PlayerPredatorUnit.DefaultCombat_DualClaw = Editor_Predator3rdPersonalUnit.EditCombat(
                        "Edit default dual claw combat:",
                        PlayerPredatorUnit,
                        PlayerPredatorUnit.DefaultCombat_DualClaw);
                    PlayerPredatorUnit.DefaultCombat_DualClaw.userInput = UserInputType.Button_Dual_Claw_Tap;
                }
                EditorGUILayout.EndToggleGroup();

                //Edit ComboCombat Data
                if (EnableEditComboCombatData = EditorGUILayout.BeginToggleGroup("    ---Edit ComboCombat Data---", EnableEditComboCombatData))
                {
                    PlayerPredatorUnit.ComboCombat = Editor_Predator3rdPersonalUnit.EditComboCombatData(
                        PlayerPredatorUnit,
                        PlayerPredatorUnit.ComboCombat);
                }
                EditorGUILayout.EndToggleGroup();
            }
            EditorGUILayout.EndToggleGroup();

            //Edit Effect Data
            if (EnableEditEffectData = EditorGUILayout.BeginToggleGroup("---Edit Effect Data---", EnableEditEffectData))
            {
                PlayerPredatorUnit.EffectData = EditPlayerEffectDataArray(PlayerPredatorUnit.gameObject,
                                                                          PlayerPredatorUnit.EffectData);
            }
            EditorGUILayout.EndToggleGroup();
            //Edit Audio Data
            if (EnableEditAudioData = EditorGUILayout.BeginToggleGroup("---Edit Audio Data---", EnableEditAudioData))
            {
                PlayerPredatorUnit.AudioData = EditAudioDataArray(PlayerPredatorUnit.gameObject,
                                                                  PlayerPredatorUnit.AudioData);
            }
            EditorGUILayout.EndToggleGroup();
        }
        EditorGUILayout.EndToggleGroup();
    }