Exemple #1
0
 public override void OnSelectionChanged()
 {
     if (Selection.activeGameObject != null)
     {
         externalArmorSelected = Selection.activeGameObject.GetComponent <HitBox>();
         if (externalArmorSelected != null)
         {
             armorType      = externalArmorSelected.hitBoxType;
             ArmorThickness = externalArmorSelected.Armor;
         }
     }
 }
Exemple #2
0
        public override void OnInspectorGUI()
        {
            vehicleHitBox = (VehicleHitBox)target;

            base.OnInspectorGUI();

            if (vehicleHitBox.HitBoxPrefab == null)
            {
                if (GUILayout.Button("Generate Prefab"))
                {
                    GenerateHitBoxPrefab();
                }
                return;
            }

            if (GUILayout.Button("Open Edit Mode"))
            {
                LockEditor();

                OpenEditorScene();

                HitBoxInstance = (GameObject)PrefabUtility.InstantiatePrefab(vehicleHitBox.HitBoxPrefab);

                Selection.activeGameObject = HitBoxInstance;
            }

            if (InEditingSceneObject)
            {
                if (GUILayout.Button("Save"))
                {
                    vehicleHitBox.HitBoxPrefab = PrefabUtility.ReplacePrefab(HitBoxInstance, vehicleHitBox.HitBoxPrefab, ReplacePrefabOptions.ConnectToPrefab);
                }

                if (ReferModelInstance != null)
                {
                    if (GUILayout.Button("Delete Refer Model"))
                    {
                        DestroyImmediate(ReferModelInstance);
                    }
                }

                if (GUILayout.Button("Generate Refer Model"))
                {
                    GenerateReferModel();
                }

                if (GUILayout.Button("Generate HitBox Model"))
                {
                    GenerateExternalArmor();
                }



                if (externalArmorSelected != null)
                {
                    armorType      = (HitBox.HitBoxType)EditorGUILayout.EnumPopup("Armor Type", armorType);
                    ArmorThickness = EditorGUILayout.IntField("ThickNess", ArmorThickness);
                    //      private bool isCommander, isDriver, isGunner, isRadioer, isReloader;

                    switch (armorType)
                    {
                    case HitBox.HitBoxType.Simple:
                    {
                        EditorGUILayout.LabelField("Const : 1");
                        break;
                    }
                    }
                }



                if (GUI.changed)
                {
                    EditorUtility.SetDirty(target);

                    if (externalArmorSelected != null)
                    {
                        externalArmorSelected.hitBoxType = armorType;
                        externalArmorSelected.Armor      = ArmorThickness;
                    }
                }
            }
        }