public override void Execute(Fighter fighterRef, PlayerCombatScript combatScript) { this.gameObject.SetActive(true); this.gameObject.GetComponent<SpriteRenderer>().enabled = true; _fighterRef = fighterRef; _combatScript = combatScript; _fighterRef.disableAnimator(); //turn off collisions for fighter ref Rigidbody2D body = this.gameObject.GetComponent<Rigidbody2D>(); if (_airAttack) { //If air attack, dont stop momentum, but pause it on hit. //Create on hit function body.gravityScale = _fighterRef.GetComponent<Rigidbody2D>().gravityScale; Vector2 v = _fighterRef.GetComponent<Rigidbody2D>().velocity; body.velocity = v; if(_isDiveKick) { Vector2 diveSpeed = new Vector2(4, -3); body.velocity = diveSpeed; fighterRef.GetComponent<Rigidbody2D>().velocity = diveSpeed; } } else if(_translate && fighterRef.GetComponent<PlayerControllerScript>()) { Debug.Log("Translate"); fighterRef.GetComponent<PlayerDash>().ForceEndDash(); } else if (_fighterRef.tag == "Player") _fighterRef.GetComponent<PlayerControllerScript>().StopMovement(); if (!_fighterRef.FacingRight) transform.localScale = new Vector3(1, transform.localScale.y, transform.localScale.z); else transform.localScale = new Vector3(-1, transform.localScale.y, transform.localScale.z); }