1900 lines
88 KiB
C#
1900 lines
88 KiB
C#
|
|
using UnityEngine;
|
|||
|
|
using System.Collections;
|
|||
|
|
using UnityEngine.Events;
|
|||
|
|
|
|||
|
|
|
|||
|
|
#if UNITY_EDITOR
|
|||
|
|
using GameKitController.Editor;
|
|||
|
|
using UnityEditor;
|
|||
|
|
|
|||
|
|
[CustomEditor (typeof (playerWeaponSystem))]
|
|||
|
|
public class playerWeaponSystemEditor : Editor
|
|||
|
|
{
|
|||
|
|
SerializedProperty weaponSettingsName;
|
|||
|
|
SerializedProperty weaponSettingsNumberKey;
|
|||
|
|
SerializedProperty reloading;
|
|||
|
|
SerializedProperty carryingWeaponInThirdPerson;
|
|||
|
|
SerializedProperty carryingWeaponInFirstPerson;
|
|||
|
|
SerializedProperty aimingInThirdPerson;
|
|||
|
|
SerializedProperty aimingInFirstPerson;
|
|||
|
|
SerializedProperty weaponUpdateActive;
|
|||
|
|
SerializedProperty showAllSettings;
|
|||
|
|
SerializedProperty showHUDSettings;
|
|||
|
|
SerializedProperty showWeaponSettings;
|
|||
|
|
SerializedProperty showProjectileSettings;
|
|||
|
|
SerializedProperty showAmmoSettings;
|
|||
|
|
SerializedProperty showFireTypeSettings;
|
|||
|
|
SerializedProperty showSoundAndParticlesSettings;
|
|||
|
|
SerializedProperty showEventsSettings;
|
|||
|
|
SerializedProperty showOtherSettings;
|
|||
|
|
SerializedProperty weaponSettings;
|
|||
|
|
SerializedProperty layer;
|
|||
|
|
SerializedProperty playerControllerGameObject;
|
|||
|
|
SerializedProperty playerCameraGameObject;
|
|||
|
|
|
|||
|
|
SerializedProperty useHumanBodyBonesEnum;
|
|||
|
|
SerializedProperty weaponParentBone;
|
|||
|
|
|
|||
|
|
SerializedProperty useMountPointForWeaponParent;
|
|||
|
|
SerializedProperty mountPointNameForWeaponParent;
|
|||
|
|
|
|||
|
|
|
|||
|
|
SerializedProperty weaponProjectile;
|
|||
|
|
SerializedProperty outOfAmmo;
|
|||
|
|
SerializedProperty outOfAmmoAudioElement;
|
|||
|
|
SerializedProperty useEventOnSetDualWeapon;
|
|||
|
|
SerializedProperty eventOnSetRightWeapon;
|
|||
|
|
SerializedProperty eventOnSetLeftWeapon;
|
|||
|
|
SerializedProperty useEventOnSetSingleWeapon;
|
|||
|
|
SerializedProperty eventOnSetSingleWeapon;
|
|||
|
|
SerializedProperty useRemoteEventOnObjectsFound;
|
|||
|
|
SerializedProperty remoteEventNameList;
|
|||
|
|
|
|||
|
|
SerializedProperty useRemoteEventOnObjectsFoundOnExplosion;
|
|||
|
|
SerializedProperty remoteEventNameOnExplosion;
|
|||
|
|
|
|||
|
|
SerializedProperty impactDecalList;
|
|||
|
|
SerializedProperty impactDecalIndex;
|
|||
|
|
SerializedProperty impactDecalName;
|
|||
|
|
|
|||
|
|
SerializedProperty mainDecalManagerName;
|
|||
|
|
SerializedProperty mainNoiseMeshManagerName;
|
|||
|
|
|
|||
|
|
SerializedProperty canMarkTargets;
|
|||
|
|
SerializedProperty tagListToMarkTargets;
|
|||
|
|
SerializedProperty markTargetName;
|
|||
|
|
SerializedProperty maxDistanceToMarkTargets;
|
|||
|
|
SerializedProperty markTargetsLayer;
|
|||
|
|
SerializedProperty canMarkTargetsOnFirstPerson;
|
|||
|
|
SerializedProperty canMarkTargetsOnThirdPerson;
|
|||
|
|
SerializedProperty aimOnFirstPersonToMarkTarget;
|
|||
|
|
SerializedProperty useMarkTargetSound;
|
|||
|
|
SerializedProperty markTargetSound;
|
|||
|
|
SerializedProperty markTargetAudioElement;
|
|||
|
|
|
|||
|
|
SerializedProperty projectilesPoolEnabled;
|
|||
|
|
|
|||
|
|
SerializedProperty maxAmountOfPoolElementsOnWeapon;
|
|||
|
|
|
|||
|
|
SerializedProperty useAbilitiesListToEnableOnWeapon;
|
|||
|
|
SerializedProperty abilitiesListToEnableOnWeapon;
|
|||
|
|
|
|||
|
|
SerializedProperty useAbilitiesListToDisableOnWeapon;
|
|||
|
|
SerializedProperty abilitiesListToDisableOnWeapon;
|
|||
|
|
|
|||
|
|
SerializedProperty useObjectDurability;
|
|||
|
|
|
|||
|
|
SerializedProperty durabilityUsedOnAttack;
|
|||
|
|
|
|||
|
|
SerializedProperty mainDurabilityInfo;
|
|||
|
|
|
|||
|
|
SerializedProperty fullBodyAwarenessActive;
|
|||
|
|
|
|||
|
|
SerializedProperty ignoreTriggerOnRaycastEnabled;
|
|||
|
|
|
|||
|
|
SerializedProperty weaponEffectsSource;
|
|||
|
|
|
|||
|
|
SerializedProperty checkForExtraCollidersOnWeaponOwnerIfDetected;
|
|||
|
|
|
|||
|
|
|
|||
|
|
playerWeaponSystem weapon;
|
|||
|
|
|
|||
|
|
bool showAllEventsSettings;
|
|||
|
|
|
|||
|
|
bool showInpuEventSettings;
|
|||
|
|
|
|||
|
|
bool showAbilityEventSettings;
|
|||
|
|
|
|||
|
|
bool showDrawAimFunctionSettings;
|
|||
|
|
bool showReloadEventsSettings;
|
|||
|
|
bool showSecondaryActionEventsSettings;
|
|||
|
|
bool showForwardBackwardEventsSettings;
|
|||
|
|
bool showRemoteEventsSettings;
|
|||
|
|
|
|||
|
|
Color buttonColor;
|
|||
|
|
|
|||
|
|
string buttonMessage;
|
|||
|
|
|
|||
|
|
GUIStyle style = new GUIStyle ();
|
|||
|
|
|
|||
|
|
GUIStyle buttonStyle = new GUIStyle ();
|
|||
|
|
|
|||
|
|
|
|||
|
|
void OnEnable ()
|
|||
|
|
{
|
|||
|
|
weaponSettingsName = serializedObject.FindProperty ("weaponSettings.Name");
|
|||
|
|
weaponSettingsNumberKey = serializedObject.FindProperty ("weaponSettings.numberKey");
|
|||
|
|
reloading = serializedObject.FindProperty ("reloading");
|
|||
|
|
carryingWeaponInThirdPerson = serializedObject.FindProperty ("carryingWeaponInThirdPerson");
|
|||
|
|
carryingWeaponInFirstPerson = serializedObject.FindProperty ("carryingWeaponInFirstPerson");
|
|||
|
|
aimingInThirdPerson = serializedObject.FindProperty ("aimingInThirdPerson");
|
|||
|
|
aimingInFirstPerson = serializedObject.FindProperty ("aimingInFirstPerson");
|
|||
|
|
weaponUpdateActive = serializedObject.FindProperty ("weaponUpdateActive");
|
|||
|
|
showAllSettings = serializedObject.FindProperty ("showAllSettings");
|
|||
|
|
showHUDSettings = serializedObject.FindProperty ("showHUDSettings");
|
|||
|
|
showWeaponSettings = serializedObject.FindProperty ("showWeaponSettings");
|
|||
|
|
showProjectileSettings = serializedObject.FindProperty ("showProjectileSettings");
|
|||
|
|
showAmmoSettings = serializedObject.FindProperty ("showAmmoSettings");
|
|||
|
|
showFireTypeSettings = serializedObject.FindProperty ("showFireTypeSettings");
|
|||
|
|
showSoundAndParticlesSettings = serializedObject.FindProperty ("showSoundAndParticlesSettings");
|
|||
|
|
showEventsSettings = serializedObject.FindProperty ("showEventsSettings");
|
|||
|
|
showOtherSettings = serializedObject.FindProperty ("showOtherSettings");
|
|||
|
|
weaponSettings = serializedObject.FindProperty ("weaponSettings");
|
|||
|
|
layer = serializedObject.FindProperty ("layer");
|
|||
|
|
playerControllerGameObject = serializedObject.FindProperty ("playerControllerGameObject");
|
|||
|
|
playerCameraGameObject = serializedObject.FindProperty ("playerCameraGameObject");
|
|||
|
|
|
|||
|
|
useHumanBodyBonesEnum = serializedObject.FindProperty ("useHumanBodyBonesEnum");
|
|||
|
|
weaponParentBone = serializedObject.FindProperty ("weaponParentBone");
|
|||
|
|
|
|||
|
|
useMountPointForWeaponParent = serializedObject.FindProperty ("useMountPointForWeaponParent");
|
|||
|
|
mountPointNameForWeaponParent = serializedObject.FindProperty ("mountPointNameForWeaponParent");
|
|||
|
|
|
|||
|
|
weaponProjectile = serializedObject.FindProperty ("weaponProjectile");
|
|||
|
|
outOfAmmo = serializedObject.FindProperty ("outOfAmmo");
|
|||
|
|
outOfAmmoAudioElement = serializedObject.FindProperty ("outOfAmmoAudioElement");
|
|||
|
|
useEventOnSetDualWeapon = serializedObject.FindProperty ("useEventOnSetDualWeapon");
|
|||
|
|
eventOnSetRightWeapon = serializedObject.FindProperty ("eventOnSetRightWeapon");
|
|||
|
|
eventOnSetLeftWeapon = serializedObject.FindProperty ("eventOnSetLeftWeapon");
|
|||
|
|
useEventOnSetSingleWeapon = serializedObject.FindProperty ("useEventOnSetSingleWeapon");
|
|||
|
|
eventOnSetSingleWeapon = serializedObject.FindProperty ("eventOnSetSingleWeapon");
|
|||
|
|
useRemoteEventOnObjectsFound = serializedObject.FindProperty ("useRemoteEventOnObjectsFound");
|
|||
|
|
remoteEventNameList = serializedObject.FindProperty ("remoteEventNameList");
|
|||
|
|
|
|||
|
|
useRemoteEventOnObjectsFoundOnExplosion = serializedObject.FindProperty ("useRemoteEventOnObjectsFoundOnExplosion");
|
|||
|
|
remoteEventNameOnExplosion = serializedObject.FindProperty ("remoteEventNameOnExplosion");
|
|||
|
|
|
|||
|
|
impactDecalList = serializedObject.FindProperty ("impactDecalList");
|
|||
|
|
impactDecalIndex = serializedObject.FindProperty ("impactDecalIndex");
|
|||
|
|
impactDecalName = serializedObject.FindProperty ("impactDecalName");
|
|||
|
|
|
|||
|
|
mainDecalManagerName = serializedObject.FindProperty ("mainDecalManagerName");
|
|||
|
|
mainNoiseMeshManagerName = serializedObject.FindProperty ("mainNoiseMeshManagerName");
|
|||
|
|
|
|||
|
|
canMarkTargets = serializedObject.FindProperty ("canMarkTargets");
|
|||
|
|
tagListToMarkTargets = serializedObject.FindProperty ("tagListToMarkTargets");
|
|||
|
|
markTargetName = serializedObject.FindProperty ("markTargetName");
|
|||
|
|
maxDistanceToMarkTargets = serializedObject.FindProperty ("maxDistanceToMarkTargets");
|
|||
|
|
markTargetsLayer = serializedObject.FindProperty ("markTargetsLayer");
|
|||
|
|
canMarkTargetsOnFirstPerson = serializedObject.FindProperty ("canMarkTargetsOnFirstPerson");
|
|||
|
|
canMarkTargetsOnThirdPerson = serializedObject.FindProperty ("canMarkTargetsOnThirdPerson");
|
|||
|
|
aimOnFirstPersonToMarkTarget = serializedObject.FindProperty ("aimOnFirstPersonToMarkTarget");
|
|||
|
|
useMarkTargetSound = serializedObject.FindProperty ("useMarkTargetSound");
|
|||
|
|
markTargetSound = serializedObject.FindProperty ("markTargetSound");
|
|||
|
|
markTargetAudioElement = serializedObject.FindProperty ("markTargetAudioElement");
|
|||
|
|
|
|||
|
|
projectilesPoolEnabled = serializedObject.FindProperty ("projectilesPoolEnabled");
|
|||
|
|
|
|||
|
|
maxAmountOfPoolElementsOnWeapon = serializedObject.FindProperty ("maxAmountOfPoolElementsOnWeapon");
|
|||
|
|
|
|||
|
|
useAbilitiesListToEnableOnWeapon = serializedObject.FindProperty ("useAbilitiesListToEnableOnWeapon");
|
|||
|
|
|
|||
|
|
abilitiesListToEnableOnWeapon = serializedObject.FindProperty ("abilitiesListToEnableOnWeapon");
|
|||
|
|
|
|||
|
|
useAbilitiesListToDisableOnWeapon = serializedObject.FindProperty ("useAbilitiesListToDisableOnWeapon");
|
|||
|
|
|
|||
|
|
abilitiesListToDisableOnWeapon = serializedObject.FindProperty ("abilitiesListToDisableOnWeapon");
|
|||
|
|
|
|||
|
|
useObjectDurability = serializedObject.FindProperty ("useObjectDurability");
|
|||
|
|
|
|||
|
|
durabilityUsedOnAttack = serializedObject.FindProperty ("durabilityUsedOnAttack");
|
|||
|
|
|
|||
|
|
mainDurabilityInfo = serializedObject.FindProperty ("mainDurabilityInfo");
|
|||
|
|
|
|||
|
|
fullBodyAwarenessActive = serializedObject.FindProperty ("fullBodyAwarenessActive");
|
|||
|
|
|
|||
|
|
ignoreTriggerOnRaycastEnabled = serializedObject.FindProperty ("ignoreTriggerOnRaycastEnabled");
|
|||
|
|
|
|||
|
|
weaponEffectsSource = serializedObject.FindProperty ("weaponEffectsSource");
|
|||
|
|
|
|||
|
|
checkForExtraCollidersOnWeaponOwnerIfDetected = serializedObject.FindProperty ("checkForExtraCollidersOnWeaponOwnerIfDetected");
|
|||
|
|
|
|||
|
|
weapon = (playerWeaponSystem)target;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public override void OnInspectorGUI ()
|
|||
|
|
{
|
|||
|
|
GUILayout.BeginVertical (GUILayout.Height (30));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
buttonStyle = new GUIStyle (GUI.skin.button);
|
|||
|
|
|
|||
|
|
buttonStyle.fontStyle = FontStyle.Bold;
|
|||
|
|
buttonStyle.fontSize = 12;
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Weapon Info", "window");
|
|||
|
|
EditorGUILayout.PropertyField (weaponSettingsName);
|
|||
|
|
EditorGUILayout.PropertyField (weaponSettingsNumberKey);
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Weapon State", "window");
|
|||
|
|
GUILayout.Label ("Reloading\t\t\t" + reloading.boolValue);
|
|||
|
|
GUILayout.Label ("Carrying 3rd Person\t\t" + carryingWeaponInThirdPerson.boolValue);
|
|||
|
|
GUILayout.Label ("Carrying 1st Person\t\t" + carryingWeaponInFirstPerson.boolValue);
|
|||
|
|
GUILayout.Label ("Aiming 3rd Person\t\t" + aimingInThirdPerson.boolValue);
|
|||
|
|
GUILayout.Label ("Aiming 1st Person\t\t" + aimingInFirstPerson.boolValue);
|
|||
|
|
GUILayout.Label ("Update Active\t\t\t" + weaponUpdateActive.boolValue);
|
|||
|
|
GUILayout.Label ("Key Number\t\t\t" + weaponSettingsNumberKey.intValue);
|
|||
|
|
GUILayout.Label ("FBA Active\t\t\t" + fullBodyAwarenessActive.boolValue);
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUI.color = Color.cyan;
|
|||
|
|
EditorGUILayout.HelpBox ("Configure every setting of this weapon", MessageType.None);
|
|||
|
|
GUI.color = Color.white;
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
buttonColor = GUI.backgroundColor;
|
|||
|
|
EditorGUILayout.BeginVertical ();
|
|||
|
|
EditorGUILayout.BeginHorizontal ();
|
|||
|
|
|
|||
|
|
if (showHUDSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("HUD")) {
|
|||
|
|
showHUDSettings.boolValue = !showHUDSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showWeaponSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Weapon")) {
|
|||
|
|
showWeaponSettings.boolValue = !showWeaponSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showProjectileSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Projectile")) {
|
|||
|
|
showProjectileSettings.boolValue = !showProjectileSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showAmmoSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Ammo")) {
|
|||
|
|
showAmmoSettings.boolValue = !showAmmoSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.EndHorizontal ();
|
|||
|
|
EditorGUILayout.BeginHorizontal ();
|
|||
|
|
|
|||
|
|
if (showFireTypeSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Fire Type")) {
|
|||
|
|
showFireTypeSettings.boolValue = !showFireTypeSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showSoundAndParticlesSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Sound & Particles")) {
|
|||
|
|
showSoundAndParticlesSettings.boolValue = !showSoundAndParticlesSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showEventsSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Events")) {
|
|||
|
|
showEventsSettings.boolValue = !showEventsSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showOtherSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Others")) {
|
|||
|
|
showOtherSettings.boolValue = !showOtherSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.EndHorizontal ();
|
|||
|
|
EditorGUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
if (showAllSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
buttonMessage = "Hide All Settings";
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
buttonMessage = "Show All Settings";
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button (buttonMessage)) {
|
|||
|
|
showAllSettings.boolValue = !showAllSettings.boolValue;
|
|||
|
|
|
|||
|
|
showHUDSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
showWeaponSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
showProjectileSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
showAmmoSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
showFireTypeSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
showSoundAndParticlesSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
showEventsSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
showOtherSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
style.fontStyle = FontStyle.Bold;
|
|||
|
|
style.fontSize = 30;
|
|||
|
|
style.alignment = TextAnchor.MiddleCenter;
|
|||
|
|
|
|||
|
|
showSettings (weaponSettings);
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (GUI.changed) {
|
|||
|
|
serializedObject.ApplyModifiedProperties ();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void showSettings (SerializedProperty list)
|
|||
|
|
{
|
|||
|
|
if (showHUDSettings.boolValue || showAllSettings.boolValue) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("HUD", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("HUD Elements Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("weaponIcon"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("weaponInventorySlotIcon"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("weaponIConHUD"), new GUIContent ("Weapon Icon HUD"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("showWeaponNameInHUD"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("showWeaponIconInHUD"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("showWeaponAmmoSliderInHUD"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("showWeaponAmmoTextInHUD"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("sniperSightThirdPersonEnabled"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("sniperSightFirstPersonEnabled"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Reticle Setting", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useReticleThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useAimReticleThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useReticleFirstPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useAimReticleFirstPerson"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useCustomReticle"));
|
|||
|
|
if (list.FindPropertyRelative ("useCustomReticle").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("regularCustomReticle"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useAimCustomReticle"));
|
|||
|
|
if (list.FindPropertyRelative ("useAimCustomReticle").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("aimCustomReticle"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useDynamicReticle"));
|
|||
|
|
if (list.FindPropertyRelative ("useDynamicReticle").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("dynamicReticleName"));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("HUD/Hologram On Weapon Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useCanvasHUD"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useHUD"));
|
|||
|
|
if (list.FindPropertyRelative ("useHUD").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useHUDOnFBA"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("disableHUDInFirstPersonAim"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("clipSizeText"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("remainAmmoText"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("HUD"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("ammoInfoHUD"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("changeHUDPosition"));
|
|||
|
|
if (list.FindPropertyRelative ("changeHUDPosition").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("HUDTransformInThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("HUDTransformInFirstPerson"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useHUDDualWeaponThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useHUDDualWeaponFirstPerson"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("changeHUDPositionDualWeapon"));
|
|||
|
|
if (list.FindPropertyRelative ("changeHUDPositionDualWeapon").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("HUDRightHandTransformThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("HUDLeftHandTransformThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("HUDRightHandTransformFirstPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("HUDLeftHandTransformFirstPerson"));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showWeaponSettings.boolValue || showAllSettings.boolValue) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("WEAPON", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Fire Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("automatic"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("fireRate"));
|
|||
|
|
if (list.FindPropertyRelative ("automatic").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useBurst"));
|
|||
|
|
if (list.FindPropertyRelative ("useBurst").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("burstAmount"));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (layer, new GUIContent ("Layer To Check"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Reload Settings", "window");
|
|||
|
|
GUILayout.BeginVertical ("Third Person Reload Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadTimeThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useReloadDelayThirdPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useReloadDelayThirdPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadDelayThirdPerson"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("usePreReloadDelayThirdPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("usePreReloadDelayThirdPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("preReloadDelayThirdPerson"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("First Person Reload Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadTimeFirstPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useReloadDelayFirstPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useReloadDelayFirstPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadDelayFirstPerson"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("usePreReloadDelayFirstPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("usePreReloadDelayFirstPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("preReloadDelayFirstPerson"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Weapon Components", "window");
|
|||
|
|
EditorGUILayout.PropertyField (playerControllerGameObject);
|
|||
|
|
EditorGUILayout.PropertyField (playerCameraGameObject);
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("weaponMesh"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Weapon Place On Player's Body Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (useHumanBodyBonesEnum);
|
|||
|
|
if (useHumanBodyBonesEnum.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (weaponParentBone);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (useMountPointForWeaponParent);
|
|||
|
|
if (useMountPointForWeaponParent.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (mountPointNameForWeaponParent);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("weaponParent"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Weapon Animations", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useFireAnimation"));
|
|||
|
|
if (list.FindPropertyRelative ("useFireAnimation").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("animation"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("animationSpeed"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("playAnimationBackward"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useReloadAnimation"));
|
|||
|
|
if (list.FindPropertyRelative ("useReloadAnimation").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadAnimationName"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadAnimationSpeed"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useReloadOnThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useReloadOnFirstPerson"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Shell Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useShellOnWeaponShootEnabled"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shell"));
|
|||
|
|
if (list.FindPropertyRelative ("useShellOnWeaponShootEnabled").boolValue) {
|
|||
|
|
showSimpleList (list.FindPropertyRelative ("shellPosition"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shellEjectionForce"));
|
|||
|
|
showSimpleList (list.FindPropertyRelative ("shellDropSoundList"));
|
|||
|
|
EditorGUIHelper.showAudioElementList (list.FindPropertyRelative ("shellDropAudioElements"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useShellDelay"));
|
|||
|
|
if (list.FindPropertyRelative ("useShellDelay").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shellDelayThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shellDelayFirsPerson"), new GUIContent ("Shell Delay First Person"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("checkToCreateShellsIfNoRemainAmmo"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("removeDroppedShellsAfterTime"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("createShellsOnReload"));
|
|||
|
|
if (list.FindPropertyRelative ("createShellsOnReload").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("createShellsOnReloadDelayThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("createShellsOnReloadDelayFirstPerson"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("maxAmountOfShellsBeforeRemoveThem"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showProjectileSettings.boolValue || showAllSettings.boolValue) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("PROJECTILE", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Projectile Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (projectilesPoolEnabled);
|
|||
|
|
EditorGUILayout.PropertyField (maxAmountOfPoolElementsOnWeapon);
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shootAProjectile"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("launchProjectile"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (weaponProjectile);
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (checkForExtraCollidersOnWeaponOwnerIfDetected);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("projectilesPerShoot"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("projectileDamage"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("killInOneShot"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("projectileWithAbility"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("allowDamageForProjectileOwner"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("checkObjectsWithMultipleDamageReceiversEnabled"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useInfiniteRaycastDistance"));
|
|||
|
|
if (!list.FindPropertyRelative ("useInfiniteRaycastDistance").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("maxRaycastDistance"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (ignoreTriggerOnRaycastEnabled);
|
|||
|
|
|
|||
|
|
if (list.FindPropertyRelative ("launchProjectile").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Launch Projectile Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("activateLaunchParableThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("activateLaunchParableFirstPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useParableSpeed"));
|
|||
|
|
if (!list.FindPropertyRelative ("useParableSpeed").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("projectileSpeed"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("parableDirectionTransform"));
|
|||
|
|
} else {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useMaxDistanceWhenNoSurfaceFound"));
|
|||
|
|
if (list.FindPropertyRelative ("useMaxDistanceWhenNoSurfaceFound").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("maxDistanceWhenNoSurfaceFound"));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useRaycastCheckingOnRigidbody"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("customRaycastCheckingRate"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("customRaycastCheckingDistance"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
} else {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("fireWeaponForward"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useRayCastShoot"));
|
|||
|
|
|
|||
|
|
if (list.FindPropertyRelative ("useRayCastShoot").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Shoot Delay and Fake Trail Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useRaycastShootDelay"));
|
|||
|
|
if (list.FindPropertyRelative ("useRaycastShootDelay").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("getDelayWithDistance"));
|
|||
|
|
if (list.FindPropertyRelative ("getDelayWithDistance").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("delayWithDistanceSpeed"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("maxDelayWithDistance"));
|
|||
|
|
} else {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("raycastShootDelay"));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useFakeProjectileTrails"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("checkIfSurfacesCloseToWeapon"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("minDistanceToCheck"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
} else {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("projectileSpeed"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useRaycastCheckingOnRigidbody"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("customRaycastCheckingRate"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("customRaycastCheckingDistance"));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("setProjectileMeshRotationToFireRotation"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Projectile Circumnavigation Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("checkGravitySystemOnProjectile"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("checkCircumnavigationValuesOnProjectile"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("gravityForceForCircumnavigationOnProjectile"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Search Target Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("isHommingProjectile"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("isSeeker"));
|
|||
|
|
if (list.FindPropertyRelative ("isHommingProjectile").boolValue || list.FindPropertyRelative ("isSeeker").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("waitTimeToSearchTarget"));
|
|||
|
|
showTagToLocateList (list.FindPropertyRelative ("tagToLocate"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("targetOnScreenForSeeker"));
|
|||
|
|
}
|
|||
|
|
if (list.FindPropertyRelative ("isHommingProjectile").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("locatedEnemyIconName"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Force Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("impactForceApplied"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("forceMode"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("applyImpactForceToVehicles"));
|
|||
|
|
if (list.FindPropertyRelative ("applyImpactForceToVehicles").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("impactForceToVehiclesMultiplier"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("forceMassMultiplier"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Explosion Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("isExplosive"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("isImplosive"));
|
|||
|
|
if (list.FindPropertyRelative ("isExplosive").boolValue || list.FindPropertyRelative ("isImplosive").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("explosionForce"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("explosionRadius"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useExplosionDelay"));
|
|||
|
|
if (list.FindPropertyRelative ("useExplosionDelay").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("explosionDelay"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("explosionDamage"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("pushCharacters"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("canDamageProjectileOwner"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("applyExplosionForceToVehicles"));
|
|||
|
|
if (list.FindPropertyRelative ("applyExplosionForceToVehicles").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("explosionForceToVehiclesMultiplier"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("searchClosestWeakSpot"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Disable Projectile Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useDisableTimer"));
|
|||
|
|
if (list.FindPropertyRelative ("useDisableTimer").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("noImpactDisableTimer"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("impactDisableTimer"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Spread Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useProjectileSpread"));
|
|||
|
|
if (list.FindPropertyRelative ("useProjectileSpread").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("thirdPersonSpreadAmountAiming"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("thirdPersonSpreadAmountNoAiming"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("firstPersonSpreadAmountAiming"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("firstPersonSpreadAmountNoAiming"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Projectile Position Settings", "window");
|
|||
|
|
showSimpleList (list.FindPropertyRelative ("projectilePosition"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("checkCrossingSurfacesOnCameraDirection"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Projectile Adherence Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useGravityOnLaunch"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useGraivtyOnImpact"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("adhereToSurface"));
|
|||
|
|
if (list.FindPropertyRelative ("adhereToSurface").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("adhereToLimbs"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("ignoreSetProjectilePositionOnImpact"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Projectile Pierce Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("breakThroughObjects"));
|
|||
|
|
if (list.FindPropertyRelative ("breakThroughObjects").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("infiniteNumberOfImpacts"));
|
|||
|
|
if (!list.FindPropertyRelative ("infiniteNumberOfImpacts").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("numberOfImpacts"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("canDamageSameObjectMultipleTimes"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("stopBreakThroughObjectsOnLayer"));
|
|||
|
|
if (list.FindPropertyRelative ("stopBreakThroughObjectsOnLayer").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("layerToStopBreahtThroughObjects"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("ignoreNewRotationOnProjectileImpact"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("canBreakThroughArmorSurface"));
|
|||
|
|
if (list.FindPropertyRelative ("canBreakThroughArmorSurface").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("breakThroughArmorSurfacePriorityValue"));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Shield And Reaction Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("ignoreShield"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("canActivateReactionSystemTemporally"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("damageReactionID"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("damageTypeID"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("projectileCanBeDeflected"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("damageCanBeBlocked"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Slice Surface Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("sliceObjectsDetected"));
|
|||
|
|
if (list.FindPropertyRelative ("sliceObjectsDetected").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("layerToSlice"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("randomSliceDirection"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useBodyPartsSliceList"));
|
|||
|
|
if (list.FindPropertyRelative ("useBodyPartsSliceList").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("maxDistanceToBodyPart"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
showSimpleList (list.FindPropertyRelative ("bodyPartsSliceList"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useGeneralProbabilitySliceObjects"));
|
|||
|
|
if (list.FindPropertyRelative ("useGeneralProbabilitySliceObjects").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("generalProbabilitySliceObjects"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("showSliceGizmo"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("activateRigidbodiesOnNewObjects"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showAmmoSettings.boolValue || showAllSettings.boolValue) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("AMMO", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Ammo Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("weaponUsesAmmo"));
|
|||
|
|
if (list.FindPropertyRelative ("weaponUsesAmmo").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("clipSize"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("infiniteAmmo"));
|
|||
|
|
if (!list.FindPropertyRelative ("infiniteAmmo").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useRemainAmmoFromInventory"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("remainAmmo"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("removePreviousAmmoOnClip"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("startWithEmptyClip"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("autoReloadWhenClipEmpty"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useAmmoLimit"));
|
|||
|
|
if (list.FindPropertyRelative ("useAmmoLimit").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("ammoLimit"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("ammoName"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("ignoreAnyWaitTimeOnReload"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Magazine Mesh Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("dropClipWhenReload"));
|
|||
|
|
if (list.FindPropertyRelative ("dropClipWhenReload").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("positionToDropClip"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("clipModel"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("delayDropClipWhenReloadThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("delayDropClipWhenReloadFirstPerson"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("dropClipWhenReloadFirstPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("dropClipWhenReloadThirdPerson"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("magazineInHandTransform"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("magazineInHandGameObject"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showFireTypeSettings.boolValue || showAllSettings.boolValue) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("FIRE TYPE", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Damage Target Over Time Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("damageTargetOverTime"));
|
|||
|
|
if (list.FindPropertyRelative ("damageTargetOverTime").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("damageOverTimeDelay"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("damageOverTimeDuration"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("damageOverTimeAmount"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("damageOverTimeRate"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("damageOverTimeToDeath"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("removeDamageOverTimeState"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Sedate Characters Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("sedateCharacters"));
|
|||
|
|
if (list.FindPropertyRelative ("sedateCharacters").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("sedateDelay"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useWeakSpotToReduceDelay"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("sedateUntilReceiveDamage"));
|
|||
|
|
if (!list.FindPropertyRelative ("sedateUntilReceiveDamage").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("sedateDuration"));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Push Characters Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("pushCharacter"));
|
|||
|
|
if (list.FindPropertyRelative ("pushCharacter").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("pushCharacterForce"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("pushCharacterRagdollForce"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showSoundAndParticlesSettings.boolValue || showAllSettings.boolValue) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("SOUNDS & PARTICLES", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (weaponEffectsSource);
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Sound Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shootSoundEffect"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useRandomShootSound"));
|
|||
|
|
|
|||
|
|
if (list.FindPropertyRelative ("useRandomShootSound").boolValue) {
|
|||
|
|
showSimpleList (list.FindPropertyRelative ("randomShootSoundList"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shootAudioElement"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("silencerShootEffect"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("silencerShootAudioElement"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("impactSoundEffect"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("impactAudioElement"));
|
|||
|
|
EditorGUILayout.PropertyField (outOfAmmo);
|
|||
|
|
EditorGUILayout.PropertyField (outOfAmmoAudioElement);
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadSoundEffect"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadAudioElement"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("cockSound"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("cockSoundAudioElement"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useSoundsPool"));
|
|||
|
|
if (list.FindPropertyRelative ("useSoundsPool").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("maxSoundsPoolAmount"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("weaponEffectSourcePrefab"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("weaponEffectSourceParent"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Draw/Keep Weapon Sound Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useSoundOnDrawKeepWeapon"));
|
|||
|
|
if (list.FindPropertyRelative ("useSoundOnDrawKeepWeapon").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("drawWeaponSound"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("drawWeaponAudioElement"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("keepWeaponSound"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("keepWeaponAudioElement"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Particle Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shootParticles"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("projectileParticles"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("impactParticles"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("setShootParticlesLayerOnFirstPerson"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Muzzle Flash Light Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useMuzzleFlash"));
|
|||
|
|
if (list.FindPropertyRelative ("useMuzzleFlash").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("muzzleFlahsLight"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("muzzleFlahsDuration"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showEventsSettings.boolValue || showAllSettings.boolValue) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("EVENTS", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (showAllEventsSettings) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
buttonMessage = "Hide All Event Settings";
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
buttonMessage = "Show All Events Settings";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (GUILayout.Button (buttonMessage)) {
|
|||
|
|
showAllEventsSettings = !showAllEventsSettings;
|
|||
|
|
|
|||
|
|
showAbilityEventSettings = showAllEventsSettings;
|
|||
|
|
|
|||
|
|
showInpuEventSettings = showAllEventsSettings;
|
|||
|
|
|
|||
|
|
showDrawAimFunctionSettings = showAllEventsSettings;
|
|||
|
|
showReloadEventsSettings = showAllEventsSettings;
|
|||
|
|
showSecondaryActionEventsSettings = showAllEventsSettings;
|
|||
|
|
showForwardBackwardEventsSettings = showAllEventsSettings;
|
|||
|
|
showRemoteEventsSettings = showAllEventsSettings;
|
|||
|
|
|
|||
|
|
list.FindPropertyRelative ("showInpuEventSettings").boolValue = showAllEventsSettings;
|
|||
|
|
list.FindPropertyRelative ("showAbilityEventSettings").boolValue = showAllEventsSettings;
|
|||
|
|
list.FindPropertyRelative ("showDrawAimFunctionSettings").boolValue = showAllEventsSettings;
|
|||
|
|
list.FindPropertyRelative ("showReloadEventsSettings").boolValue = showAllEventsSettings;
|
|||
|
|
list.FindPropertyRelative ("showSecondaryActionEventsSettings").boolValue = showAllEventsSettings;
|
|||
|
|
list.FindPropertyRelative ("showForwardBackwardEventsSettings").boolValue = showAllEventsSettings;
|
|||
|
|
list.FindPropertyRelative ("showRemoteEventsSettings").boolValue = showAllEventsSettings;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Ability Weapon Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
buttonColor = GUI.backgroundColor;
|
|||
|
|
showAbilityEventSettings = list.FindPropertyRelative ("showAbilityEventSettings").boolValue;
|
|||
|
|
|
|||
|
|
EditorGUILayout.BeginVertical ();
|
|||
|
|
|
|||
|
|
if (showAbilityEventSettings) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
buttonMessage = "Hide Ability Events Settings";
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
buttonMessage = "Show Ability Events Settings";
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button (buttonMessage)) {
|
|||
|
|
showAbilityEventSettings = !showAbilityEventSettings;
|
|||
|
|
}
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
EditorGUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
list.FindPropertyRelative ("showAbilityEventSettings").boolValue = showAbilityEventSettings;
|
|||
|
|
|
|||
|
|
if (showAbilityEventSettings) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("weaponWithAbility"));
|
|||
|
|
if (list.FindPropertyRelative ("weaponWithAbility").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Button Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useDownButton"));
|
|||
|
|
if (list.FindPropertyRelative ("useDownButton").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("downButtonAction"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useHoldButton"));
|
|||
|
|
if (list.FindPropertyRelative ("useHoldButton").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("holdButtonAction"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useUpButton"));
|
|||
|
|
if (list.FindPropertyRelative ("useUpButton").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("upButtonAction"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("ignoreUpButtonActionOnFBA"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useEventOnFireWeapon"));
|
|||
|
|
if (list.FindPropertyRelative ("useEventOnFireWeapon").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("eventOnFireWeapon"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Input Weapon Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
buttonColor = GUI.backgroundColor;
|
|||
|
|
showInpuEventSettings = list.FindPropertyRelative ("showInpuEventSettings").boolValue;
|
|||
|
|
|
|||
|
|
EditorGUILayout.BeginVertical ();
|
|||
|
|
|
|||
|
|
if (showInpuEventSettings) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
buttonMessage = "Hide Input Events Settings";
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
buttonMessage = "Show Input Events Settings";
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button (buttonMessage)) {
|
|||
|
|
showInpuEventSettings = !showInpuEventSettings;
|
|||
|
|
}
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
EditorGUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
list.FindPropertyRelative ("showInpuEventSettings").boolValue = showInpuEventSettings;
|
|||
|
|
|
|||
|
|
if (showInpuEventSettings) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useEventOnInputDown"));
|
|||
|
|
if (list.FindPropertyRelative ("useEventOnInputDown").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("eventOnInputDown"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useEventOnInputUp"));
|
|||
|
|
if (list.FindPropertyRelative ("useEventOnInputUp").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("eventOnInputUp"));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Draw/Aim Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
buttonColor = GUI.backgroundColor;
|
|||
|
|
showDrawAimFunctionSettings = list.FindPropertyRelative ("showDrawAimFunctionSettings").boolValue;
|
|||
|
|
|
|||
|
|
EditorGUILayout.BeginVertical ();
|
|||
|
|
|
|||
|
|
if (showDrawAimFunctionSettings) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
buttonMessage = "Hide Draw/Aim Function Settings";
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
buttonMessage = "Show Draw/Aim Function Settings";
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button (buttonMessage)) {
|
|||
|
|
showDrawAimFunctionSettings = !showDrawAimFunctionSettings;
|
|||
|
|
}
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
EditorGUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
list.FindPropertyRelative ("showDrawAimFunctionSettings").boolValue = showDrawAimFunctionSettings;
|
|||
|
|
|
|||
|
|
if (showDrawAimFunctionSettings) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Draw Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useStartDrawAction"));
|
|||
|
|
if (list.FindPropertyRelative ("useStartDrawAction").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("startDrawAction"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useStopDrawAction"));
|
|||
|
|
if (list.FindPropertyRelative ("useStopDrawAction").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("stopDrawAction"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Third Person Draw Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useStartDrawActionThirdPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useStartDrawActionThirdPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("startDrawActionThirdPerson"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useStopDrawActionThirdPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useStopDrawActionThirdPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("stopDrawActionThirdPerson"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("First Person Draw Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useStartDrawActionFirstPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useStartDrawActionFirstPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("startDrawActionFirstPerson"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useStopDrawActionFirstPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useStopDrawActionFirstPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("stopDrawActionFirstPerson"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Third Person Aim Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useStartAimActionThirdPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useStartAimActionThirdPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("startAimActionThirdPerson"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useStopAimActionThirdPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useStopAimActionThirdPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("stopAimActionThirdPerson"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("First Person Aim Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useStartAimActionFirstPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useStartAimActionFirstPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("startAimActionFirstPerson"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useStopAimActionFirstPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useStopAimActionFirstPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("stopAimActionFirstPerson"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Secondary Action Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
buttonColor = GUI.backgroundColor;
|
|||
|
|
showSecondaryActionEventsSettings = list.FindPropertyRelative ("showSecondaryActionEventsSettings").boolValue;
|
|||
|
|
|
|||
|
|
EditorGUILayout.BeginVertical ();
|
|||
|
|
|
|||
|
|
if (showSecondaryActionEventsSettings) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
buttonMessage = "Hide Secondary Action Events Settings";
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
buttonMessage = "Show Secondary Action Events Settings";
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button (buttonMessage)) {
|
|||
|
|
showSecondaryActionEventsSettings = !showSecondaryActionEventsSettings;
|
|||
|
|
}
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
EditorGUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
list.FindPropertyRelative ("showSecondaryActionEventsSettings").boolValue = showSecondaryActionEventsSettings;
|
|||
|
|
|
|||
|
|
if (showSecondaryActionEventsSettings) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useSecondaryAction"));
|
|||
|
|
if (list.FindPropertyRelative ("useSecondaryAction").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("secondaryAction"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useSecondaryActionOnDownPress"));
|
|||
|
|
if (list.FindPropertyRelative ("useSecondaryActionOnDownPress").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("secondaryActionOnDownPress"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useSecondaryActionOnHoldPress"));
|
|||
|
|
if (list.FindPropertyRelative ("useSecondaryActionOnHoldPress").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("secondaryActionOnHoldPress"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useSecondaryActionOnUpPress"));
|
|||
|
|
if (list.FindPropertyRelative ("useSecondaryActionOnUpPress").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("secondaryActionOnUpPress"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useSecondaryActionsOnlyAimingThirdPerson"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("allowUseSecondaryActionOnFBA"));
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Forward And Backward Action Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
buttonColor = GUI.backgroundColor;
|
|||
|
|
showForwardBackwardEventsSettings = list.FindPropertyRelative ("showForwardBackwardEventsSettings").boolValue;
|
|||
|
|
|
|||
|
|
EditorGUILayout.BeginVertical ();
|
|||
|
|
|
|||
|
|
if (showForwardBackwardEventsSettings) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
buttonMessage = "Hide Forward Backward Events Settings";
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
buttonMessage = "Show Forward Backward Events Settings";
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button (buttonMessage)) {
|
|||
|
|
showForwardBackwardEventsSettings = !showForwardBackwardEventsSettings;
|
|||
|
|
}
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
EditorGUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
list.FindPropertyRelative ("showForwardBackwardEventsSettings").boolValue = showForwardBackwardEventsSettings;
|
|||
|
|
|
|||
|
|
if (showForwardBackwardEventsSettings) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useForwardActionEvent"));
|
|||
|
|
if (list.FindPropertyRelative ("useForwardActionEvent").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("forwardActionEvent"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useBackwardActionEvent"));
|
|||
|
|
if (list.FindPropertyRelative ("useBackwardActionEvent").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("backwardActionEvent"));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Dual Weapon Event Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (useEventOnSetDualWeapon);
|
|||
|
|
if (useEventOnSetDualWeapon.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (eventOnSetRightWeapon);
|
|||
|
|
EditorGUILayout.PropertyField (eventOnSetLeftWeapon);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Single Weapon Event Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (useEventOnSetSingleWeapon);
|
|||
|
|
if (useEventOnSetSingleWeapon.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (eventOnSetSingleWeapon);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Remote Event Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
buttonColor = GUI.backgroundColor;
|
|||
|
|
showRemoteEventsSettings = list.FindPropertyRelative ("showRemoteEventsSettings").boolValue;
|
|||
|
|
|
|||
|
|
EditorGUILayout.BeginVertical ();
|
|||
|
|
|
|||
|
|
if (showRemoteEventsSettings) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
buttonMessage = "Hide Remote Events Settings";
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
buttonMessage = "Show Remote Events Settings";
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button (buttonMessage)) {
|
|||
|
|
showRemoteEventsSettings = !showRemoteEventsSettings;
|
|||
|
|
}
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
EditorGUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
list.FindPropertyRelative ("showRemoteEventsSettings").boolValue = showRemoteEventsSettings;
|
|||
|
|
|
|||
|
|
if (showRemoteEventsSettings) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.PropertyField (useRemoteEventOnObjectsFound);
|
|||
|
|
if (useRemoteEventOnObjectsFound.boolValue) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
showSimpleList (remoteEventNameList);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (useRemoteEventOnObjectsFoundOnExplosion);
|
|||
|
|
if (useRemoteEventOnObjectsFoundOnExplosion.boolValue) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (remoteEventNameOnExplosion);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Reload Event Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
buttonColor = GUI.backgroundColor;
|
|||
|
|
showReloadEventsSettings = list.FindPropertyRelative ("showReloadEventsSettings").boolValue;
|
|||
|
|
|
|||
|
|
EditorGUILayout.BeginVertical ();
|
|||
|
|
|
|||
|
|
if (showReloadEventsSettings) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
buttonMessage = "Hide Reload Events Settings";
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
buttonMessage = "Show Reload Events Settings";
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button (buttonMessage)) {
|
|||
|
|
showReloadEventsSettings = !showReloadEventsSettings;
|
|||
|
|
}
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
EditorGUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
list.FindPropertyRelative ("showReloadEventsSettings").boolValue = showReloadEventsSettings;
|
|||
|
|
|
|||
|
|
if (showReloadEventsSettings) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useReloadEvent"));
|
|||
|
|
if (list.FindPropertyRelative ("useReloadEvent").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useThirdPersonEventOnReloadOnFBAView"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useReloadEventThirdPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useReloadEventThirdPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadSingleWeaponThirdPersonEvent"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadDualWeaponThirdPersonEvent"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useReloadEventFirstPerson"));
|
|||
|
|
if (list.FindPropertyRelative ("useReloadEventFirstPerson").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadSingleWeaponFirstPersonEvent"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("reloadDualWeaponFirstPersonEvent"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useEventOnCancelReload"));
|
|||
|
|
if (list.FindPropertyRelative ("useEventOnCancelReload").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("eventOnCancelReload"));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Event On Weapon Activated/Deactivated Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useEventOnWeaponActivated"));
|
|||
|
|
if (list.FindPropertyRelative ("useEventOnWeaponActivated").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("eventOnWeaponActivated"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useEventOnWeaponDeactivated"));
|
|||
|
|
if (list.FindPropertyRelative ("useEventOnWeaponDeactivated").boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("eventOnWeaponDeactivated"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showOtherSettings.boolValue || showAllSettings.boolValue) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("OTHERS", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Durability Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (useObjectDurability);
|
|||
|
|
EditorGUILayout.PropertyField (durabilityUsedOnAttack);
|
|||
|
|
EditorGUILayout.PropertyField (mainDurabilityInfo);
|
|||
|
|
|
|||
|
|
if (useObjectDurability.boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (GUILayout.Button ("Destroy Object (INGAME)")) {
|
|||
|
|
if (Application.isPlaying) {
|
|||
|
|
weapon.breakFullDurabilityOnCurrentWeapon ();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Scorch Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Scorch from Decal Manager", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (mainDecalManagerName);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (impactDecalList.arraySize > 0) {
|
|||
|
|
impactDecalIndex.intValue = EditorGUILayout.Popup ("Default Decal Type", impactDecalIndex.intValue, weapon.impactDecalList);
|
|||
|
|
|
|||
|
|
if (impactDecalIndex.intValue < impactDecalList.arraySize) {
|
|||
|
|
impactDecalName.stringValue = weapon.impactDecalList [impactDecalIndex.intValue];
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (GUILayout.Button ("Update Decal Impact List")) {
|
|||
|
|
weapon.getImpactListInfo ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Regular Scorch", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("scorch"));
|
|||
|
|
if (list.FindPropertyRelative ("scorch").objectReferenceValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("scorchRayCastDistance"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Auto Shoot Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("autoShootOnTag"));
|
|||
|
|
if (list.FindPropertyRelative ("autoShootOnTag").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("layerToAutoShoot"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("maxDistanceToRaycast"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shootAtLayerToo"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Auto Shoot Tag List", "window");
|
|||
|
|
showSimpleList (list.FindPropertyRelative ("autoShootTagList"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Avoid Shoot Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("avoidShootAtTag"));
|
|||
|
|
if (list.FindPropertyRelative ("avoidShootAtTag").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("layertToAvoidShoot"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("avoidShootMaxDistanceToRaycast"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("avoidShootAtLayerToo"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useLowerPositionOnAvoidShoot"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Avoid Shoot Tag List", "window");
|
|||
|
|
showSimpleList (list.FindPropertyRelative ("avoidShootTagList"));
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Player Force Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("applyForceAtShoot"));
|
|||
|
|
if (list.FindPropertyRelative ("applyForceAtShoot").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("forceDirection"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("forceAmount"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Upper Body Shake Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shakeUpperBodyWhileShooting"));
|
|||
|
|
if (list.FindPropertyRelative ("shakeUpperBodyWhileShooting").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shakeAmount"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shakeSpeed"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Dual Weapon Upper Body Shake Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("shakeUpperBodyShootingDualWeapons"));
|
|||
|
|
if (list.FindPropertyRelative ("shakeUpperBodyShootingDualWeapons").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("dualWeaponShakeAmount"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("dualWeaponShakeSpeed"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Shoot Noise Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (mainNoiseMeshManagerName);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useNoise"));
|
|||
|
|
if (list.FindPropertyRelative ("useNoise").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("noiseRadius"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("noiseExpandSpeed"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useNoiseDetection"));
|
|||
|
|
if (list.FindPropertyRelative ("useNoiseDetection").boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("noiseDetectionLayer"));
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("showNoiseDetectionGizmo"));
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("noiseDecibels"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("useNoiseMesh"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("forceNoiseDetection"));
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (list.FindPropertyRelative ("noiseID"));
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Mark Targets Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (canMarkTargets);
|
|||
|
|
if (canMarkTargets.boolValue) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Tag List To Mark Targets", "window");
|
|||
|
|
showSimpleList (tagListToMarkTargets);
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (markTargetName);
|
|||
|
|
EditorGUILayout.PropertyField (maxDistanceToMarkTargets);
|
|||
|
|
EditorGUILayout.PropertyField (markTargetsLayer);
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (canMarkTargetsOnFirstPerson);
|
|||
|
|
EditorGUILayout.PropertyField (canMarkTargetsOnThirdPerson);
|
|||
|
|
EditorGUILayout.PropertyField (aimOnFirstPersonToMarkTarget);
|
|||
|
|
EditorGUILayout.PropertyField (useMarkTargetSound);
|
|||
|
|
if (useMarkTargetSound.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (markTargetSound);
|
|||
|
|
EditorGUILayout.PropertyField (markTargetAudioElement);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Enable/Disable Abilities on Weapon Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (useAbilitiesListToEnableOnWeapon);
|
|||
|
|
if (useAbilitiesListToEnableOnWeapon.boolValue) {
|
|||
|
|
showSimpleList (abilitiesListToEnableOnWeapon);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (useAbilitiesListToDisableOnWeapon);
|
|||
|
|
if (useAbilitiesListToDisableOnWeapon.boolValue) {
|
|||
|
|
showSimpleList (abilitiesListToDisableOnWeapon);
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void showSimpleList (SerializedProperty list)
|
|||
|
|
{
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (GUILayout.Button ("Show/Hide " + list.displayName, buttonStyle)) {
|
|||
|
|
list.isExpanded = !list.isExpanded;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (list.isExpanded) {
|
|||
|
|
GUILayout.BeginVertical ("box");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.Label ("Amount: \t" + list.arraySize);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginHorizontal ();
|
|||
|
|
if (GUILayout.Button ("Add")) {
|
|||
|
|
list.arraySize++;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Clear")) {
|
|||
|
|
list.arraySize = 0;
|
|||
|
|
}
|
|||
|
|
GUILayout.EndHorizontal ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
for (int i = 0; i < list.arraySize; i++) {
|
|||
|
|
GUILayout.BeginHorizontal ();
|
|||
|
|
if (i < list.arraySize && i >= 0) {
|
|||
|
|
EditorGUILayout.PropertyField (list.GetArrayElementAtIndex (i), new GUIContent ("", null, ""), false);
|
|||
|
|
}
|
|||
|
|
GUILayout.BeginHorizontal ();
|
|||
|
|
if (GUILayout.Button ("x")) {
|
|||
|
|
list.DeleteArrayElementAtIndex (i);
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("v")) {
|
|||
|
|
if (i >= 0) {
|
|||
|
|
list.MoveArrayElement (i, i + 1);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("^")) {
|
|||
|
|
if (i < list.arraySize) {
|
|||
|
|
list.MoveArrayElement (i, i - 1);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndHorizontal ();
|
|||
|
|
GUILayout.EndHorizontal ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void showTagToLocateList (SerializedProperty list)
|
|||
|
|
{
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (GUILayout.Button ("Show/Hide " + list.displayName, buttonStyle)) {
|
|||
|
|
list.isExpanded = !list.isExpanded;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (list.isExpanded) {
|
|||
|
|
GUILayout.BeginVertical ("box");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.Label ("Number of Tags: \t" + list.arraySize);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginHorizontal ();
|
|||
|
|
if (GUILayout.Button ("Add")) {
|
|||
|
|
list.arraySize++;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Clear")) {
|
|||
|
|
list.arraySize = 0;
|
|||
|
|
}
|
|||
|
|
GUILayout.EndHorizontal ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
for (int i = 0; i < list.arraySize; i++) {
|
|||
|
|
GUILayout.BeginHorizontal ();
|
|||
|
|
if (i < list.arraySize && i >= 0) {
|
|||
|
|
EditorGUILayout.PropertyField (list.GetArrayElementAtIndex (i), new GUIContent ("", null, ""), false);
|
|||
|
|
}
|
|||
|
|
GUILayout.BeginHorizontal ();
|
|||
|
|
if (GUILayout.Button ("x")) {
|
|||
|
|
list.DeleteArrayElementAtIndex (i);
|
|||
|
|
}
|
|||
|
|
GUILayout.EndHorizontal ();
|
|||
|
|
GUILayout.EndHorizontal ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endif
|