public override void OnSelectionChanged() { if (Selection.activeGameObject != null) { externalArmorSelected = Selection.activeGameObject.GetComponent <HitBox>(); if (externalArmorSelected != null) { armorType = externalArmorSelected.hitBoxType; ArmorThickness = externalArmorSelected.Armor; } } }
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; } } } }