IEnumerator pauseAttackCurrent(SpellData s, ICaster caster) { field.Pause = true; uiManager.setEnabledGauges(false); //BEGIN pause// yield return(new WaitForSeconds(1f)); //CASTING// startCooldown(s, field.Player); List <CastData> data; List <Transform> noTargetPositions; data = spellDict.cast(s, field.enemy_arr, field.target_ind, field.player_arr, caster.Position, out noTargetPositions); processCast(data, s, noTargetPositions, BattleField.FieldPosition.PLAYER); yield return(new WaitForSeconds(1.1f)); //END pause// uiManager.setEnabledGauges(true); postCastEffects(); field.lastCaster = BattleField.FieldPosition.PLAYER; //Updates field.Pause if necessary field.update(); }
private IEnumerator enemy_pause_cast(SpellDictionary dict, SpellData s, int position, int target) { uiManager.setEnabledGauges(false); BattleEffects.main.setDim(true, field.enemy_arr[position].enemy_sprite); yield return(new WaitForSeconds(1f)); field.enemy_arr[position].startSwell(); List <Transform> noTargetPositions; List <CastData> data = dict.cast(s, field.player_arr, target, field.enemy_arr, position, out noTargetPositions); processCast(data, s, noTargetPositions, (BattleField.FieldPosition)position); yield return(new WaitForSeconds(1f)); uiManager.setEnabledGauges(true); postCastEffects(); field.enemy_arr[position].attack_in_progress = false; field.lastCaster = (BattleField.FieldPosition)position; field.update(); }