protected override void OnCast()
    {
        InstantiatedAbility instance = Instantiate(this.instantiatedAbility, this.transform.position, this.transform.rotation);

        this.instantiateAbilityListeners.ForEach((listener) => listener.OnInstantiateAbility(instance));
        instance.OnInstantiated(this);
    }
示例#2
0
    public void OnInstantiateAbility(InstantiatedAbility instantiatedAbility)
    {
        Rigidbody rigidbody = instantiatedAbility.GetComponent <Rigidbody>();

        if (!rigidbody)
        {
            return;
        }

        rigidbody.velocity = (this.transform.forward + this.addedDirection).normalized * this.speed * this.GetCastTimeMultiplier();
    }
示例#3
0
    public void OnInstantiateAbility(InstantiatedAbility instantiatedAbility)
    {
        Rigidbody rigidbody = instantiatedAbility.GetComponent <Rigidbody>();

        if (!rigidbody)
        {
            return;
        }

        Vector3 impulseVector = (this.transform.forward + this.addedDirection).normalized * this.impulse * this.GetCastTimeMultiplier();

        rigidbody.AddForce(impulseVector);

        if (this.recoilEffect != 0f)
        {
            this.playerCastInstantiateAbility.abilityManager.player.GetRigidbody().AddForce(impulseVector * -1f * this.recoilEffect);
        }
    }
示例#4
0
 private void Awake()
 {
     this.attachOnImpact      = this.GetComponent <AttachOnImpact>();
     this.instantiatedAbility = this.GetComponent <InstantiatedAbility>();
     this.lineRenderer        = this.GetComponent <LineRenderer>();
 }
示例#5
0
 public void OnInstantiateAbility(InstantiatedAbility instantiatedAbility)
 {
     instantiatedAbility.transform.position += this.transform.right * this.offset.x;
     instantiatedAbility.transform.position += this.transform.up * this.offset.y;
     instantiatedAbility.transform.position += this.transform.forward * this.offset.z;
 }