public void RollDodgeEvent(DodgeInfo dodgeInfo) { if (rollDodge != null) { rollDodge(dodgeInfo); } }
public void initialize(PlayerBehaviours playerBehaviours) { print("player controller initialize"); playerEventController = playerBehaviours.playerEventController; playerDodgeInfo = playerBehaviours.wizardData.dodgeInfo; this.inputIndex = playerBehaviours.inputIndex; input = ReInput.players.GetPlayer(inputIndex); rb = GetComponent <Rigidbody2D>(); findLocations(); playerAnimations = playerBehaviours.playerAnimations; subscribeToEvents(); }
public IEnumerator DodgeRoutine(DodgeInfo dodgeInfo) { anim.SetTrigger("Dodge"); weaponSprite.enabled = false; cursorSprite.color = opaqueColor; playerSprite.color = opaqueColor; float invulnTime = dodgeInfo.invulnTime; float cooldown = dodgeInfo.cooldown; yield return(new WaitForSeconds(invulnTime)); playerSprite.color = defaultColor; yield return(new WaitForSeconds(cooldown - invulnTime)); currentAnimation = null; weaponSprite.enabled = true; cursorSprite.color = defaultColor; }
IEnumerator RollDodge(DodgeInfo dodgeInfo) { canDodge = false; casting = true; float dodgePower = dodgeInfo.dodgePower; float invulnTime = dodgeInfo.invulnTime; float cooldown = dodgeInfo.cooldown; rb.AddRelativeForce(Vector3.right * dodgePower * input.GetAxis("MoveHorizontal"), ForceMode2D.Impulse); rb.AddRelativeForce(Vector3.up * (dodgePower / 2) * input.GetAxis("MoveVertical"), ForceMode2D.Impulse); hitBox.enabled = false; //playerVitals.SetInvulnerable(); yield return(new WaitForSeconds(invulnTime)); hitBox.enabled = true; //playerVitals.SetVulnerable(); yield return(new WaitForSeconds(cooldown - invulnTime)); canDodge = true; casting = false; }
private void dodgeSubscriber(DodgeInfo dodgeInfo) { StartCoroutine(RollDodge(dodgeInfo)); }
public void playDodgeAnimation(DodgeInfo dodgeInfo) { StartCoroutine(DodgeRoutine(dodgeInfo)); }