Ejemplo n.º 1
0
    // Start is called before the first frame update
    public override void OnStart()
    {
        canvas = GameObject.FindGameObjectWithTag("Canvas").transform;
        GameObject tempObj = Instantiate(marker, canvas) as GameObject;

        markerUI = tempObj.GetComponent <UIElementSystem>();
    }
Ejemplo n.º 2
0
    public override void OnStart()
    {
        engagementRange = engagementRange * 0.1f;
        GameObject tempObj = Instantiate(marker, canvas) as GameObject;

        markerUI = tempObj.GetComponent <UIElementSystem>();
    }
Ejemplo n.º 3
0
    Vector3 AimingSystem(float bulletSpeed, Turret turret, UIElementSystem aimReticle)
    {
        Vector3 interceptPoint = Intercept(bulletSpeed);
        float   reticleProduct = Vector3.Dot(interceptPoint - transform.position, transform.forward);

        Ray reticleRay = Camera.main.ScreenPointToRay(Input.mousePosition);

        cursorUI.position = Input.mousePosition;
        if (shipTarget != null)
        {
            float distance = (shipTarget.position - reticleRay.origin).magnitude;

            Vector3 aimPoint = reticleRay.origin + (reticleRay.direction * distance);

            if (aimReticle != null)
            {
                aimReticle.iconPosition = interceptPoint;
            }
            Vector3 aimpointToIntercept  = aimPoint - interceptPoint;
            Vector3 trueAimPoint         = Vector3.zero;
            Vector3 screenAimToIntercept = Camera.main.WorldToScreenPoint(aimPoint) - Camera.main.WorldToScreenPoint(shipTarget.position);
            if (reticleProduct > 0)
            {
                if (screenAimToIntercept.magnitude < 50)
                {
                    trueAimPoint = aimpointToIntercept / (200 / (screenAimToIntercept.magnitude)) + interceptPoint;
                    if (screenAimToIntercept.magnitude < 15)
                    {
                        trueAimPoint = interceptPoint;
                    }
                }
                else
                {
                    trueAimPoint = aimPoint;
                }
            }
            else
            {
                distance     = 100;
                trueAimPoint = reticleRay.origin + (reticleRay.direction * 100);
            }

            turret.HandleUI(distance);

            return(trueAimPoint);
        }
        else
        {
            turret.HandleUI(100);

            Vector3 trueAimPoint = reticleRay.origin + (reticleRay.direction * 100);

            if (aimReticle != null)
            {
                aimReticle.iconPosition = trueAimPoint;
            }
            return(trueAimPoint);
        }
    }
Ejemplo n.º 4
0
 private void Start()
 {
     if (reticleObject != null && indecatorReticleObject != null)
     {
         GameObject tempObj = Instantiate(reticleObject, reticleParent) as GameObject;
         reticle                = tempObj.GetComponent <UIElementSystem>();
         tempObj                = Instantiate(indecatorReticleObject, reticleParent) as GameObject;
         indecatorReticle       = tempObj.transform;
         weaponValues.hitMarker = reticle.GetComponent <HitMarkerSystem>();
     }
     weaponValues.loaded = true;
 }