// 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>(); }
public override void OnStart() { engagementRange = engagementRange * 0.1f; GameObject tempObj = Instantiate(marker, canvas) as GameObject; markerUI = tempObj.GetComponent <UIElementSystem>(); }
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); } }
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; }