2023-09-01 14:33:54 +08:00
|
|
|
using System;
|
2023-06-08 14:09:50 +08:00
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
using BITKit;
|
2023-08-27 02:58:19 +08:00
|
|
|
namespace BITFALL.Guns
|
2023-06-08 14:09:50 +08:00
|
|
|
{
|
2023-12-03 17:35:43 +08:00
|
|
|
|
2023-06-08 14:09:50 +08:00
|
|
|
public class AssetableGun : AssetableEquip
|
|
|
|
{
|
2023-10-20 19:31:12 +08:00
|
|
|
[Header(nameof(AssetableGun))]
|
2023-10-31 18:07:15 +08:00
|
|
|
[SerializeReference, SubclassSelector] protected IFireMode fireMode = new AutoFireMode();
|
2023-10-24 23:37:59 +08:00
|
|
|
[SerializeField] private int initialDamage;
|
|
|
|
[SerializeField] private int initialBulletForce;
|
2023-10-29 15:27:13 +08:00
|
|
|
[SerializeField] private int initialBulletSpeed = 128;
|
2023-10-31 18:07:15 +08:00
|
|
|
[SerializeField] private int initialAimZoom = 1;
|
|
|
|
[SerializeField] private bool isScopeAim;
|
2023-11-21 18:05:18 +08:00
|
|
|
[SerializeField] private Optional<int> buckshot;
|
|
|
|
[SerializeField] private float initialHipFireSpread = 1;
|
2023-10-24 23:37:59 +08:00
|
|
|
public IFireMode FireMode => fireMode;
|
|
|
|
public int InitialBulletForce => initialBulletForce;
|
|
|
|
public int InitialDamage => initialDamage;
|
2023-10-29 15:27:13 +08:00
|
|
|
public int InitialBulletSpeed => initialBulletSpeed;
|
2023-10-31 18:07:15 +08:00
|
|
|
public int InitialAimZoom => initialAimZoom;
|
|
|
|
public bool IsScopeAim => isScopeAim;
|
2023-11-15 23:54:54 +08:00
|
|
|
public IOptional<int> BuckShot => buckshot;
|
2023-11-21 18:05:18 +08:00
|
|
|
public float InitialHipFireSpread => initialHipFireSpread;
|
2023-06-08 14:09:50 +08:00
|
|
|
}
|
|
|
|
}
|