Add firerate and possible to hold down btn to fire
This commit is contained in:
parent
0e76928816
commit
7f18c76d4b
@ -45,9 +45,10 @@ GameObject:
|
||||
- component: {fileID: 6969840675499469971}
|
||||
- component: {fileID: 6969840675499469972}
|
||||
- component: {fileID: 6969840675499469973}
|
||||
- component: {fileID: 3117915759359451286}
|
||||
- component: {fileID: 6969840675499469968}
|
||||
m_Layer: 0
|
||||
m_Name: Turret
|
||||
m_Name: Player
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
@ -148,6 +149,21 @@ MonoBehaviour:
|
||||
projectile: {fileID: 5630905120393344806, guid: 70e77cdd333989d4193d3d85029d8cbe, type: 3}
|
||||
lookDepth: 400
|
||||
cannonForce: 1000
|
||||
fireRate: 0.5
|
||||
--- !u!114 &3117915759359451286
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6969840675499469974}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 44fc4a66977bce94dbaccf9ae1d06e2b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
points: 0
|
||||
cannon: {fileID: 0}
|
||||
--- !u!114 &6969840675499469968
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -9,7 +9,12 @@ public class CannonScript : MonoBehaviour
|
||||
[SerializeField] private GameObject projectile;
|
||||
[SerializeField] private float lookDepth;
|
||||
[SerializeField] private float cannonForce;
|
||||
[SerializeField] private float fireRate = 0.5f;
|
||||
[SerializeField]private float fireTimer;
|
||||
private bool firing = false;
|
||||
private Vector3 lookDir;
|
||||
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
@ -19,7 +24,16 @@ public class CannonScript : MonoBehaviour
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
if(firing){
|
||||
fireTimer += Time.deltaTime;
|
||||
if(fireTimer >= fireRate){
|
||||
GameObject proj = Instantiate(projectile, transform.position, cannon.transform.rotation);
|
||||
proj.GetComponent<Rigidbody>().AddForce(cannonForce * lookDir, ForceMode.Impulse);
|
||||
fireTimer = 0;
|
||||
}
|
||||
}else if(fireTimer < fireRate){
|
||||
fireTimer += Time.deltaTime;
|
||||
}
|
||||
}
|
||||
|
||||
private Vector3 GetMouseWorldPosition(){
|
||||
@ -39,10 +53,14 @@ public class CannonScript : MonoBehaviour
|
||||
}
|
||||
|
||||
public void OnFire(InputAction.CallbackContext ctx){
|
||||
if(ctx.performed){
|
||||
GameObject proj = Instantiate(projectile, transform.position, cannon.transform.rotation);
|
||||
proj.GetComponent<Rigidbody>().AddForce(cannonForce * lookDir, ForceMode.Impulse);
|
||||
if(ctx.started){//btn pressed
|
||||
firing = true;
|
||||
Debug.Log("Start");
|
||||
}else if(ctx.canceled){//btn released
|
||||
Debug.Log("Release");
|
||||
firing = false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user