public void InitState(CharStateManager thisCharacter) { //activate rig, play animation. thisCharacter.attackRig.SetActive(true); thisCharacter.animator.Play(thisCharacter.CHAR_ATTACK); SoundManager.Instance.Play(thisCharacter.attackAudioList[Random.Range(0, thisCharacter.attackAudioList.Count - 1)]); thisCharacter.currentSkillObject.PlaySkillAnimation(GameManager.bossPosition); thisCharacter.DecrementSkillCost(); //invoke a delegate here to let BossState and anyone elser who cares that this player has begun an attack. // you can even pass thisCharacter as an argument // AH YES..PASS IN A DELAY FLOAT DEPENDING ON THE SKILL // thisCharacter.playerAttackStart?.Invoke(0); }
public void InitState(CharStateManager thisCharacter) { thisCharacter.buffRig.SetActive(true); thisCharacter.animator.Play(thisCharacter.CHAR_BUFF); SoundManager.Instance.Play(thisCharacter.attackAudioList[Random.Range(0, thisCharacter.attackAudioList.Count - 1)]); thisCharacter.DecrementSkillCost(); //because this is a buff..we need to make sure this plays in 3 diff positions...so...just call it 3 times! //each with the proper ally positions foreach (var character in thisCharacter.gameManager.currentCharacters) { //debug this later to ffind out the type. thisCharacter.currentSkillObject.PlaySkillAnimation(character.transform.position); } }