weaponType.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using EyE.Unity;
{
[System.Flags]
public enum DamageType
{ piercing=1, slashing=2, bludgeon=4, fire=8, poison=16}
[CreateAssetMenuAttribute(fileName = "DefaultWeaponType", menuName = "Types/InventoryItemType/WeaponType", order = 1)]
public class WeaponType : InventoryObjectType
{
[ExposeMember(tooltip = "When Saved as an asset, the system will attempted to use this string for filename of the WeaponType asset.")]
public string weaponTypeName { get { return base.name; } set { base.name = value; } }
[ExposeMember(group ="FoldOutDamageDetails", displayOrderInGroup = 0)]
public int Damage = 1;
[ExposeMember(group = "FoldOutDamageDetails", displayOrderInGroup = 1)]
public DamageType typesOfDamageInflicted = DamageType.bludgeon;
[ExposeMember(group = "FoldOutDamageDetails", displayOrderInGroup = 0)]
public float dps { get { return Damage * attackRate; } }
[ExposeMember(alternatelabel ="Fire Rate", alternateLabelConditionalName = "MissleWeapon", tooltip = "Number of attacks per round.")]
public float attackRate=1f;
[ExposeMember(group = "FoldOutMissleWeapon", conditionalDisplayMemberName = "isBaseWeaponType")]
public float range = 1.0f;
private bool __missleWeapon = false;
[ExposeMember(conditionalDisplayMemberName = "isBaseWeaponType")]
public virtual bool MissleWeapon { get { return __missleWeapon; } set { __missleWeapon = value; } }
[ExposeMember(group = "FoldOutMissleWeapon", tooltip ="Number of attacks that can be made before needing to reload.", conditionalDisplayMemberName = "isBaseWeaponType")]
public int maxAmmo;
[ExposeMember(group = "FoldOutMissleWeapon", tooltip = "How long this weapon type takes to reload.", conditionalDisplayMemberName = "isBaseWeaponType")]
public float reloadTime;
[ExposeMember(group = "FoldOutMissleWeapon", tooltip = "Can multiple kinds of ammo be fired by this weapon type.", conditionalDisplayMemberName = "MissleWeapon")]
public bool variableAmmo = false;
[ExposeMember(group = "FoldOutMissleWeapon/FoldOutvariableAmmo", tooltip = "Number typesofAmmo it can fire.", conditionalDisplayMemberName = "MissleWeapon")]
public List<AmmunitionType> usableKindsOfAmmo = new List<AmmunitionType>();
[ExposeMember]
public override float Price
{
get
{
return dps * range;
}
}
protected bool isBaseWeaponType()
{
return GetType() == typeof(WeaponType);
}
}
}
EyE
This namespace contains classes that provide various tools for use in the Unity Editor.
Definition: EmbededXMLTooltip.cs:5
EyE.Unity.Examples
Definition: CatDebugExample.cs:7
EyE.Unity
This namespace holds classes that extended or inherit from various Unity defined classes....
Definition: EmbededXMLTooltip.cs:5
EyE.Unity.Examples.DamageType
DamageType
Enum used in WeaponType to show how they are exposed
Definition: WeaponType.cs:12