using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
namespace YLBattle
{
///
/// LogicFighter管理接口
///
public interface ILogicFighterOper
{
///
/// 寻求朋友帮助
///
/// 占位
void SetFriendHelp(int seat, bool isShowTip = false);
///
/// 查找指定战斗对象
///
/// 对象唯一编号
/// 目标
LogicFighter FindFighter(string id);
///
/// 获取目前存活人员
///
List FindAliveFighter();
///
/// 获取所有人员
///
List FindFighter();
///
/// 获取指定队伍目前存活人员
///
/// 队伍描述
/// 人员列表
List FindTeamAliveFighter(EBattleTeam team);
///
/// 获取指定角色的敌人队伍存活列表
///
/// 参照对象编号
/// 敌方存活角色列表
List FindEnemyTeam(string id);
///
/// 获取指定角色的友方队伍存活列表
///
/// 参照对象编号
/// 友方存活角色列表,包含自己
List FindFriendTeam(string id);
///
/// 根据站位查找fighter
///
/// 指定占位
/// 所属队列
///
LogicFighter FindFighterBySeat(int _seat, EBattleTeam team);
///
/// 查找与目标指定关系的对象列表
///
/// 参照对象编号
/// 关系过滤
/// 对象列表
List FindRelationAliveFighters(string id, EBattleRelation relation);
///
/// 获得当前存活的按攻击速度排序的所有人员
///
///
List FindAliveSortFighter(EBattleTeam _team);
///
/// 获取指定队伍人员
///
/// 目标队伍
/// 对象列表
List FindTeamAllFighter(EBattleTeam team);
///
/// 选择地图中间的人
///
///
LogicFighter FindCenterEnemy(string who, EBattleTeam _team);
///
/// 刷新当前地图中间位置的橘色
///
///
///
LogicFighter OnUpdateMapCenterFighter(EBattleTeam _team);
///
/// 禁用指定战斗对象
///
/// 角色编号
void MarkDeathFighter(string id);
///
/// 从死亡列表中移除指定对象
///
/// 对象id
void RemoveFighterFromDeath(string id);
///
/// 英雄受到治疗效果
///
/// 目标对象id
/// 治疗值
void OnCureLogicFighter(string who, float cure, float tipdelayTime = 0);
///
/// 英雄能量恢复
///
/// 目标对象id
/// 能量值
/// 是否需要提示信息
void OnCurePower(string who, float power, bool isTip = false);
///
/// 英雄受到魔法伤害
///
/// 施法者ID
/// 目标对象ID
/// 伤害数值
/// 是否暴击
/// 是否必杀
/// tip延迟时间
void OnMagicDamageToBattleFighter(string casterID, string targetID, float damage,
bool isCritical = false, float tipdelayTime = 0);
///
/// 角色受伤恢复Power
///
/// 事件内容
//void OnFighterDamageHandle(string who, float damage);
}
}