void Shoot() { RaycastHit hit; if (Physics.Raycast(cam.transform.position, cam.transform.forward, out hit, range)) { TargetSelectionScript.getInstance().checkTarget(hit.transform.gameObject); GameObject hitObj = hit.transform.gameObject; if (hitObj.tag != "NPC") { Rigidbody rb = hitObj.GetComponent <Rigidbody>(); if (rb != null) { rb.AddForceAtPosition(cam.transform.forward * forceToApply, hit.point); } } else { GameObject go = Instantiate(particleEffect, hit.point, Quaternion.identity) as GameObject; go.transform.parent = hitObj.transform; } Target target = hitObj.GetComponent <Target>(); if (target != null) { target.OnHit(); } lastHitPoint = hit.point; } shootingTimer = shootingTimerMax; pointLight.enabled = true; }
public static TargetSelectionScript getInstance() { if (instance == null) { instance = new TargetSelectionScript(); } return(instance); }
public static void refresh() { instance = new TargetSelectionScript(); }
void Start() { instance = this; selectNewTarget(); }