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: 6969840675499469971}
|
||||||
- component: {fileID: 6969840675499469972}
|
- component: {fileID: 6969840675499469972}
|
||||||
- component: {fileID: 6969840675499469973}
|
- component: {fileID: 6969840675499469973}
|
||||||
|
- component: {fileID: 3117915759359451286}
|
||||||
- component: {fileID: 6969840675499469968}
|
- component: {fileID: 6969840675499469968}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Turret
|
m_Name: Player
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@ -148,6 +149,21 @@ MonoBehaviour:
|
|||||||
projectile: {fileID: 5630905120393344806, guid: 70e77cdd333989d4193d3d85029d8cbe, type: 3}
|
projectile: {fileID: 5630905120393344806, guid: 70e77cdd333989d4193d3d85029d8cbe, type: 3}
|
||||||
lookDepth: 400
|
lookDepth: 400
|
||||||
cannonForce: 1000
|
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
|
--- !u!114 &6969840675499469968
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -9,7 +9,12 @@ public class CannonScript : MonoBehaviour
|
|||||||
[SerializeField] private GameObject projectile;
|
[SerializeField] private GameObject projectile;
|
||||||
[SerializeField] private float lookDepth;
|
[SerializeField] private float lookDepth;
|
||||||
[SerializeField] private float cannonForce;
|
[SerializeField] private float cannonForce;
|
||||||
|
[SerializeField] private float fireRate = 0.5f;
|
||||||
|
[SerializeField]private float fireTimer;
|
||||||
|
private bool firing = false;
|
||||||
private Vector3 lookDir;
|
private Vector3 lookDir;
|
||||||
|
|
||||||
|
|
||||||
// Start is called before the first frame update
|
// Start is called before the first frame update
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
@ -19,7 +24,16 @@ public class CannonScript : MonoBehaviour
|
|||||||
// Update is called once per frame
|
// Update is called once per frame
|
||||||
void Update()
|
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(){
|
private Vector3 GetMouseWorldPosition(){
|
||||||
@ -39,10 +53,14 @@ public class CannonScript : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void OnFire(InputAction.CallbackContext ctx){
|
public void OnFire(InputAction.CallbackContext ctx){
|
||||||
if(ctx.performed){
|
if(ctx.started){//btn pressed
|
||||||
GameObject proj = Instantiate(projectile, transform.position, cannon.transform.rotation);
|
firing = true;
|
||||||
proj.GetComponent<Rigidbody>().AddForce(cannonForce * lookDir, ForceMode.Impulse);
|
Debug.Log("Start");
|
||||||
}
|
}else if(ctx.canceled){//btn released
|
||||||
|
Debug.Log("Release");
|
||||||
|
firing = false;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user