public void UseSkill(Vector2 dirVector, Teams teamTag, Vector2 playerSpeed) { GameObject newProjectile; newProjectile = Instantiate(Projectile, shotSpawner.GetTransform().position, Quaternion.identity) as GameObject; OnCollisionProjectile onCollision = newProjectile.GetComponent <OnCollisionProjectile>(); onCollision.SetParams(teamTag); DestroyByTime destroyByTime = newProjectile.GetComponent <DestroyByTime>(); RuyoProjectileBasicData projData = newProjectile.GetComponent <RuyoProjectileBasicData>(); destroyByTime.SetLifeTime(projData.SkillDuration); emitter?.AssignParent(newProjectile.transform); IProjectileMover mover = newProjectile.GetComponent <ProjectileMover>(); mover.Initialize(); mover.SetMoveDirection(dirVector, playerSpeed); StartSkillCD(); }
private void CreateProjectile(Vector3 target, GameObject projectile) { IProjectileMover mover = projectile.GetComponent <IProjectileMover>(); float shootDuration = Duration.GetShootDuration(); Vector3 start = SpawnPoint.transform.position; Vector3 end = target; Vector3 controll = GetControllPoint(start, end); mover.Move(shootDuration, start, controll, end); }
protected override void OnConstruct() { mover = this.GetComponent <ProjectileMover>(); }