public void Reload(ReloadStyle style) { switch (style) { case ReloadStyle.OneAtATime: break; case ReloadStyle.WholeMagazine: break; } }
private void DrawWeaponProperties() { EditorGUILayout.Space(); EditorGUI.BeginChangeCheck(); FireMode fireMode = (FireMode)EditorGUILayout.EnumPopup("Fire Mode", m_Target.fireMode); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Fire Mode"); m_Target.fireMode = fireMode; } EditorGUI.BeginChangeCheck(); ReloadStyle reloadStyle = (ReloadStyle)EditorGUILayout.EnumPopup("Reload Style", m_Target.reloadStyle); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Reload Style"); m_Target.reloadStyle = reloadStyle; } EditorGUI.BeginChangeCheck(); LayerMask cullingMask = EditorTools.LayerMaskField("Culling Mask", m_Target.cullingMask); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Culling Mask"); m_Target.cullingMask = cullingMask; } EditorGUI.BeginChangeCheck(); float fireRate = EditorGUILayout.FloatField("Fire Rate", m_Target.fireRate); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Fire Rate"); m_Target.fireRate = fireRate; } EditorGUI.BeginChangeCheck(); float shotForce = EditorGUILayout.FloatField("Force", m_Target.shotForce); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Fire Force"); m_Target.shotForce = shotForce; } EditorGUI.BeginChangeCheck(); float range = EditorGUILayout.FloatField("Range", m_Target.range); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Fire Range"); m_Target.range = range; } EditorGUILayout.Space(); EditorGUI.BeginChangeCheck(); DamageMode damageMode = (DamageMode)EditorGUILayout.EnumPopup("Damage Mode", m_Target.damageMode); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Damage Mode"); m_Target.damageMode = damageMode; } EditorGUILayout.LabelField("Weapon Damage"); EditorGUILayout.BeginHorizontal("box"); EditorGUILayout.BeginHorizontal("TextArea"); GUILayout.Label("Min: " + m_Target.minDamage.ToString("F0")); EditorGUILayout.EndHorizontal(); EditorGUI.BeginChangeCheck(); float minDamage = m_Target.minDamage; float maxDamage = m_Target.maxDamage; EditorGUILayout.MinMaxSlider(ref minDamage, ref maxDamage, 0, 100); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Min/Max Weapon Damage"); m_Target.minDamage = minDamage; m_Target.maxDamage = maxDamage; } EditorGUILayout.BeginHorizontal("TextArea"); GUILayout.Label("Max: " + m_Target.maxDamage.ToString("F0")); EditorGUILayout.EndHorizontal(); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUI.BeginChangeCheck(); bool infiniteAmmo = EditorGUILayout.Toggle("Infine Ammo", m_Target.infiniteAmmo); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Disabe/Enable Infine Ammo"); m_Target.infiniteAmmo = infiniteAmmo; } if (m_Target.fireMode == FireMode.ShotgunAuto || m_Target.fireMode == FireMode.ShotgunSemi) { EditorGUI.BeginChangeCheck(); int pelletCount = EditorGUILayout.IntField("Bullets per Shot", m_Target.pelletCount); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Bullets per Shot"); m_Target.pelletCount = pelletCount; } } else if (m_Target.fireMode == FireMode.Burst) { EditorGUI.BeginChangeCheck(); int burstCount = EditorGUILayout.IntField("Burst Shot", m_Target.burstCount); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Burst Shot"); m_Target.burstCount = burstCount; } } EditorGUI.BeginChangeCheck(); int magazineSize = EditorGUILayout.IntField("Bullets per Mag", m_Target.magazineSize); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Bullets per Mag"); m_Target.magazineSize = magazineSize; } EditorGUI.BeginChangeCheck(); int numberOfMags = EditorGUILayout.IntField("Number of Mags", m_Target.numberOfMags); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Number of Mags"); m_Target.numberOfMags = numberOfMags; } EditorGUI.BeginChangeCheck(); int maxNumberOfMags = EditorGUILayout.IntField("Max Number of Mags", m_Target.maxNumberOfMags); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Max Number of Mags"); m_Target.maxNumberOfMags = maxNumberOfMags; } }