/// <summary> /// Creates the projectile from specified prefab. /// Initilazes control script and adds it to projectile. /// </summary> /// <param name="projectilePrefab">Projectile prefab</param> /// <param name="damage">Damage</param> /// <param name="velocity">Velocity</param> /// <param name="timeToLive">Time to live</param> /// <param name="projectileTarget">Projectile target</param> public void CreateProjectile(GameObject projectilePrefab, int damage, float velocity, int timeToLive, Vector3 projectileTarget) { GameObject projectile = (GameObject)Instantiate(projectilePrefab, transform.position + (Vector3)direction * 20, transform.rotation); //unity does not like NEW, so I have to initialize controler script like this :( ProjectileScript projectilController = projectile.AddComponent <ProjectileScript>(); projectilController.velocity = velocity; projectilController.damage = damage; projectilController.timeToLive = timeToLive; projectilController.setOwner(this); projectile.GetComponent <Rigidbody2D>().velocity = projectileTarget * velocity; }