Ejemplo n.º 1
0
    private void FixedUpdate()
    {
        //Move/Attack Mode
        if (selectedUnits.Count > 0)
        {
            //Booster
            if (Input.GetButton("Boost"))
            {
                for (int i = 0; i < selectedUnits.Count; i++)
                {
                    //If the AI is in asteriod mode
                    AIDroneController aiCtrl = selectedUnits[i].GetComponent <AIDroneController>();
                    if (aiCtrl.asteriodOverride)
                    {
                        //Add force at point
                        aiCtrl.asteriodBody.AddForceAtPosition((selectedUnits[i].transform.forward * boosterSpeed * Time.deltaTime), selectedUnits[i].transform.position);
                    }
                }
            }

            if (Input.GetAxis("Boost Horizontal") != 0)
            {
                for (int i = 0; i < selectedUnits.Count; i++)
                {
                    //If we are in asteriod mode
                    AIDroneController aiCtrl = selectedUnits[i].GetComponent <AIDroneController>();
                    if (aiCtrl.asteriodOverride)
                    {
                        //Rotate
                        aiCtrl.asteriodBody.transform.rotation = Quaternion.Euler(aiCtrl.asteriodBody.transform.rotation.eulerAngles + (Vector3.up * (Input.GetAxis("Boost Horizontal") * (boosterSpeed * 0.05f)) * Time.deltaTime));
                    }
                }
            }

            if (Input.GetButton("BoostSlowToHalt"))
            {
                Debug.Log("Slwoing");
                for (int i = 0; i < selectedUnits.Count; i++)
                {
                    //If we are in asteriod mode
                    AIDroneController aiCtrl = selectedUnits[i].GetComponent <AIDroneController>();
                    if (aiCtrl.asteriodOverride)
                    {
                        //Slow velocity
                        if (aiCtrl.asteriodBody.velocity.magnitude > 0.1f)
                        {
                            aiCtrl.asteriodBody.AddForce(-(aiCtrl.asteriodBody.velocity.normalized) * boosterSpeed * Time.deltaTime);
                        }
                        //Stop velocity
                        else
                        {
                            aiCtrl.asteriodBody.velocity = Vector3.zero;
                        }
                    }
                }
            }
        }
    }
Ejemplo n.º 2
0
    //Owner
    //Health
    //Attack mode
    //[State]
    //Targeting and info
    //Idle
    //Stuck

    private void Start()
    {
        aiDroneCtrl  = transform.parent.GetComponent <AIDroneController>();
        objID        = transform.parent.GetComponent <ObjectID>();
        visualActive = false;
    }