Exemplo n.º 1
0
    public void Reset()
    {
        rb.velocity = Vector3.zero;
        FiringSolution     fs        = new FiringSolution();
        Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity);

        if (aimVector.HasValue)
        {
            rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange);
        }
    }
Exemplo n.º 2
0
    public void FindPosition()
    {
        Nullable <Vector3> aimVector = balistics.Calculate(player.transform.position, target.transform.position, muzzleV, Physics.gravity);
        Nullable <float>   ttt       = balistics.GetTimeToTarget(player.transform.position, target.transform.position, muzzleV, Physics.gravity);

        POI.x = player.transform.position.x + (aimVector.Value.x * muzzleV * ttt.Value);
        POI.y = 0;
        POI.z = player.transform.position.z + (aimVector.Value.z * muzzleV * ttt.Value);
        Debug.Log(POI);
        target.transform.position = POI;
        Debug.Log(target.transform.position);
    }
Exemplo n.º 3
0
    //Call Time.timeScale to readjust time
    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent <Rigidbody>();
        FiringSolution launchSolve = new FiringSolution();

        Nullable <Vector3> launchVector = launchSolve.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity);

        if (launchVector.HasValue)
        {
            travelTime = launchSolve.ttt;
            rb.AddForce(launchVector.Value.normalized * launchForce, ForceMode.VelocityChange);
        }
    }
Exemplo n.º 4
0
    void Start()
    {
        Time.timeScale = myTimeScale;
        rb             = GetComponent <Rigidbody>();

        FiringSolution     fs        = new FiringSolution();
        Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity);

        if (aimVector.HasValue)
        {
            rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange);
        }
    }
Exemplo n.º 5
0
    // Start is called before the first frame update
    void Awake()
    {
        target         = GameObject.FindGameObjectsWithTag("Player")[0];
        Time.timeScale = myTimeScale; // allow for slowing time to see what's happening
        rb             = GetComponent <Rigidbody>();

        FiringSolution     fs        = new FiringSolution();
        Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity);

        if (aimVector.HasValue)
        {
            rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange);
        }
    }
    public void Launch(float force)
    {
        print(target.transform.position);
        FiringSolution     fs        = new FiringSolution();
        Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, force, Physics.gravity);

        if (aimVector.HasValue)
        {
            rb.AddForce(aimVector.Value.normalized * force, ForceMode.VelocityChange);
        }
        else
        {
            Launch(force * 1.25f);
        }
        print(force);
    }
Exemplo n.º 7
0
    void Start()
    {
        //targets = GameObject.FindGameObjectsWithTag(targetTag);
        Debug.Log(targetIndex);

        Debug.Log(targets[0]);

        Time.timeScale = myTimeScale;
        rb             = GetComponent <Rigidbody>();

        FiringSolution     fs        = new FiringSolution();
        Nullable <Vector3> aimVector = fs.Calculate(transform.position, targets[targetIndex].transform.position, launchForce, Physics.gravity);

        if (aimVector.HasValue)
        {
            rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange);
        }
    }
Exemplo n.º 8
0
    // Start is called before the first frame update
    void OnEnable()
    {
        Time.timeScale = myTimeScale; // allow for slowing time to see what's happening
        rb             = GetComponent <Rigidbody>();

        //Disable animation convenience settings on rigidbody
        rb.useGravity  = true;
        rb.isKinematic = false;

        FiringSolution     fs        = new FiringSolution();
        Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity);

        if (aimVector.HasValue)
        {
            rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange);
        }
        fireAudio.Play();
        Invoke("ActivateCamera", 0.2f);
    }
Exemplo n.º 9
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            FiringSolution     fs        = new FiringSolution();
            Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity);
            if (aimVector.HasValue)
            {
                rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange);
            }
        }

        if (Input.GetKeyDown(KeyCode.R))
        {
            rb.isKinematic     = true;
            transform.position = startPos;
            rb.isKinematic     = false;
        }
    }
Exemplo n.º 10
0
    // Update is called once per frame
    void Update()
    {
        if (landed)
        {
            rb.transform.position = target[targetNum].transform.position;
        }

        if (Input.GetKeyDown(KeyCode.H))
        {
            landed = false;
            Nullable <Vector3> aimVector = fs.Calculate(transform.position, target[targetNum].transform.position, launchForce, Physics.gravity);
            if (aimVector.HasValue)
            {
                rb.constraints = RigidbodyConstraints.None;
                justCollided   = false;
                rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange);
            }
            else
            {
                Debug.Log("No value: target Num is " + targetNum);
            }
        }
    }