private Animotion SimpleAttackToCombineAnimotion(Animator attackerAnimator, List <Animator> damagedAnimator) { List <Animotion> motions = new List <Animotion>(); // PLAY ATTACK ANIMATION Animotion motionAttack = new AttackAnimatedAnimotion(this, 1, attackerAnimator); motions.Add(motionAttack); if (GameSoundManager.Instance != null && GameSoundManager.Instance.audioSource != null) { AudioSourceParameter audioParameter = new AudioSourceParameter(true); // ATTACK SOUND Animotion motionAttackSound = new SoundAnimotion(this, 1, GameSoundManager.Instance.audioSource, GameSoundManager.Instance.audioClips[0], audioParameter); motions.Add(motionAttackSound); // DAMAGE SOUND Animotion motionDamageSound = new SoundAnimotion(this, 1, GameSoundManager.Instance.audioSource, GameSoundManager.Instance.audioClips[2], audioParameter); motions.Add(motionDamageSound); } // PLAY DAMAGE ANIMATION FOR ALL THE ENEMIES for (int i = 0; i < damagedAnimator.Count; i++) { Animotion motionDamage = new DamageAnimatedAnimotion(this, 1, damagedAnimator[i]); motions.Add(motionDamage); } CombineAnimotion combineAttackMotion = new CombineAnimotion(this, 1, motions); return(combineAttackMotion); }
private Animotion SimpleAttackToCombineWithShieldAnimotion(Animator attackerAnimator, List <Animator> damagedAnimator) { List <Animotion> motions = new List <Animotion>(); List <ConfigurableMotion> configureAnimotion = new List <ConfigurableMotion>(); // PLAY ATTACK ANIMATION Animotion motionAttack = new AttackAnimatedAnimotion(this, 1, attackerAnimator); motions.Add(motionAttack); if (GameSoundManager.Instance != null && GameSoundManager.Instance.audioSource != null) { AudioSourceParameter audioParameter = new AudioSourceParameter(true); // ATTACK SOUND Animotion motionAttackSound = new SoundAnimotion(this, 1, GameSoundManager.Instance.audioSource, GameSoundManager.Instance.audioClips[0], audioParameter); motions.Add(motionAttackSound); // DAMAGE SOUND Animotion motionDamageSound = new SoundAnimotion(this, 1, GameSoundManager.Instance.audioSource, GameSoundManager.Instance.audioClips[2], audioParameter); motions.Add(motionDamageSound); } // PLAY DAMAGE ANIMATION FOR ALL THE ENEMIES for (int i = 0; i < damagedAnimator.Count; i++) { // PLAY DAMAGE ANIMATION Animotion motionDamage = new DamageAnimatedAnimotion(this, 1, damagedAnimator[i]); motions.Add(motionDamage); // CREAMOS EL SHIELD GameObject shield = Instantiate(shieldPrefab, damagedAnimator[i].transform.position, Quaternion.identity); shield.SetActive(true); List <Animotion> shieldMotions = new List <Animotion>(); Animotion motionShieldDamage = new ShieldAnimatedAnimotion(this, 1, shield.GetComponent <Animator>()); shieldMotions.Add(motionShieldDamage); GameObjectDestroyConfigureContainer goDestroyContainer = new GameObjectDestroyConfigureContainer(shield); ConfigureAnimotion destroyGOConfigAnimotion = new ConfigureAnimotion(goDestroyContainer, 2); configureAnimotion.Add(destroyGOConfigAnimotion); CombineAnimotion combineShieldMotion = new CombineAnimotion(this, 1, shieldMotions, configureAnimotion); motions.Add(combineShieldMotion); } CombineAnimotion combineAttackMotion = new CombineAnimotion(this, 1, motions); return(combineAttackMotion); }
private Animotion SimpleAttackAnimotion(Animator attackerAnimator) { List <Animotion> motions = new List <Animotion>(); // PLAY ATTACK ANIMATION Animotion motionAttack = new AttackAnimatedAnimotion(this, 1, attackerAnimator); motions.Add(motionAttack); if (GameSoundManager.Instance != null && GameSoundManager.Instance.audioSource != null) { AudioSourceParameter audioParameter = new AudioSourceParameter(true); // ATTACK SOUND Animotion motionAttackSound = new SoundAnimotion(this, 1, GameSoundManager.Instance.audioSource, GameSoundManager.Instance.audioClips[0], audioParameter); motions.Add(motionAttackSound); } CombineAnimotion combineAttackMotion = new CombineAnimotion(this, 1, motions); return(combineAttackMotion); }