Exemple #1
0
    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;
    }
Exemple #2
0
 public static TargetSelectionScript getInstance()
 {
     if (instance == null)
     {
         instance = new TargetSelectionScript();
     }
     return(instance);
 }
Exemple #3
0
 public static void refresh()
 {
     instance = new TargetSelectionScript();
 }
Exemple #4
0
 void Start()
 {
     instance = this;
     selectNewTarget();
 }