57 lines
2.7 KiB
C#
57 lines
2.7 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using BITKit;
|
|
using BITKit.FPS;
|
|
using Net.Project.B.FPS;
|
|
using Project.B.Item;
|
|
using UnityEngine;
|
|
|
|
namespace Net.Project.B.Item
|
|
{
|
|
|
|
public class ScriptableGun : ScriptableWeapon
|
|
{
|
|
[Header(nameof(ScriptableGun))]
|
|
[SerializeField] private int fireRate = 10;
|
|
[SerializeField] private int defaultAmmoCapacity = 30;
|
|
[SerializeField] private float defaultZoomFactor = 1.2f;
|
|
[SerializeField] private int fireMode;
|
|
[SerializeField] private Vector3 aimOffset;
|
|
[SerializeField] private ScriptableItem defaultAmmoType;
|
|
[SerializeField] private PlayerAnimationClips holsteredDrawClip;
|
|
[SerializeField] private PlayerAnimationClips runClip;
|
|
[SerializeField] private PlayerAnimationClips sprintClip;
|
|
[SerializeField] private PlayerAnimationClips climbClip;
|
|
[SerializeField] private PlayerAnimationClips reloadClip;
|
|
[SerializeField] private PlayerAnimationClips aimClip;
|
|
[SerializeField] private PlayerAnimationClips fireClip;
|
|
[SerializeField] private PlayerAnimationClips aimFireClip;
|
|
[SerializeField] private PlayerAnimationClips slidingClip;
|
|
[SerializeField] private ScriptableSprint3 recoil;
|
|
public int FireRate =>fireRate<=0 ? 1 : fireRate;
|
|
public int DefaultAmmoCapacity => defaultAmmoCapacity<=0 ? 1 : defaultAmmoCapacity;
|
|
public float DefaultZoomFactor => defaultZoomFactor;
|
|
public int FireMode => fireMode;
|
|
public ScriptableItem DefaultAmmoType => defaultAmmoType;
|
|
public PlayerAnimationClips HolsteredDrawClip => holsteredDrawClip?holsteredDrawClip:clipBase.holsteredDrawClip;
|
|
public PlayerAnimationClips RunClip => runClip?runClip:clipBase.RunClip;
|
|
public PlayerAnimationClips SprintClip => sprintClip?sprintClip:clipBase.SprintClip;
|
|
public PlayerAnimationClips ClimbClip => climbClip?climbClip:clipBase.ClimbClip;
|
|
public PlayerAnimationClips ReloadClip => reloadClip?reloadClip:clipBase.ReloadClip;
|
|
public PlayerAnimationClips AimClip => aimClip?aimClip:clipBase.AimClip;
|
|
public PlayerAnimationClips FireClip => fireClip?fireClip:clipBase.FireClip;
|
|
public PlayerAnimationClips AimFireClip => aimFireClip?aimFireClip:clipBase.AimFireClip;
|
|
public PlayerAnimationClips SlidingClip => slidingClip?slidingClip:clipBase.SlidingClip;
|
|
public ISprint3 Recoil => recoil;
|
|
public Vector3 AimOffset => aimOffset;
|
|
public override IRuntimeItem CreateRuntimeItem()
|
|
{
|
|
var item = base.CreateRuntimeItem();
|
|
|
|
item.Amount = defaultAmmoCapacity;
|
|
|
|
return item;
|
|
}
|
|
}
|
|
}
|