public override IValue GetIValue(Agent self, IInstanceMember firstParam) { Agent agent = Utils.GetParentAgent(self, _instance); FightAgent result = ((CInstanceMember <FightAgent>)firstParam).GetValue(self); _returnValue.value = ((HeroAgent)agent).LootTreasure(result); return(_returnValue); }
} //攻击范围 /// <summary> /// 目标是否在攻击范围内 /// </summary> /// <param name="enemyTarget"></param> /// <returns></returns> public bool TestEnemyInAtkRange(FightAgent enemyTarget) { if (enemyTarget != null && enemyTarget.transform != null) { return(Vector3.Distance(transform.position, enemyTarget.transform.position) <= AtkRange); } return(false); }
public override IValue GetIValue(Agent self, IInstanceMember firstParam) { Agent agent = Utils.GetParentAgent(self, _instance); FightAgent result = ((CInstanceMember <FightAgent>)firstParam).GetValue(self); _returnValue.value = ((SoilderAgent)agent).MoveToTarget(result); return(_returnValue); }
/// <summary> /// 请求向一个目标移动 /// </summary> /// <param name="target"></param> /// <returns></returns> public behaviac.EBTStatus MoveToTarget(FightAgent target) { if (curActionStatus != ActionStatus.Moving) { curActionStatus = ActionStatus.Moving; curTargetPos = target.transform.position; MgrCenter.Instance.SendMsg(Msgs.GetMsgMoveRequest((ushort)MoveEvent.MoveClientRequest, Id, transform.position, curTargetPos)); } return(behaviac.EBTStatus.BT_RUNNING); }
/// <summary> /// 给建筑添加Agent脚本 /// </summary> /// <param name="entity"></param> /// <param name="specieId"></param> /// <returns></returns> private FightAgent AddBuildingAgentScript(GameObject entity, int specieId) { FightAgent fightAgent = null; switch (specieId) { case (int)BuildingType.defenseTower: case (int)BuildingType.advancedDFTower: fightAgent = entity.AddComponent <DefenseTowerAgent>(); break; case (int)BuildingType.headQuarter: case (int)BuildingType.barracks: fightAgent = entity.AddComponent <BuildingAgent>(); break; } return(fightAgent); }
/// <summary> /// 发送攻击请求 /// </summary> /// <param name="target"></param> /// <returns></returns> public behaviac.EBTStatus Attack(FightAgent target) { if (target == null) { return(behaviac.EBTStatus.BT_FAILURE); } if (target.IsDead()) { return(behaviac.EBTStatus.BT_SUCCESS); } if (curActionStatus != ActionStatus.StopAndDoingSomething) { curActionStatus = ActionStatus.StopAndDoingSomething; //开启一个协程计算时间处理攻击? 还是用动画事件处理攻击? MgrCenter.Instance.SendMsg(Msgs.GetMsgAtkRequest((ushort)SoilderFightEvent.SoilderAtkClientRequest, Id, target.Id)); } return(behaviac.EBTStatus.BT_RUNNING); }
/// <summary> /// 攻击当前的目标,每次攻击由这个AI发出攻击请求,确保攻击在各个终端的一致性 /// </summary> /// <returns></returns> public behaviac.EBTStatus AttackCurEnemy() { if (curTarget == null) { isAttacking = false; MgrCenter.Instance.SendMsg(Msgs.GetMsgInt((ushort)BuildingFightEvent.DefenseTowerIdle, Id)); return(behaviac.EBTStatus.BT_FAILURE); } if (curTarget.IsDead()) { isAttacking = false; curTarget = null; MgrCenter.Instance.SendMsg(Msgs.GetMsgInt((ushort)BuildingFightEvent.DefenseTowerIdle, Id)); return(behaviac.EBTStatus.BT_SUCCESS); } if (!isAttacking) { isAttacking = true; Attack(curTarget); } return(behaviac.EBTStatus.BT_RUNNING); }
/// <summary> /// 拾取宝物 /// </summary> /// <param name="treasure"></param> /// <returns></returns> public behaviac.EBTStatus LootTreasure(FightAgent treasure) { //TODO 发送拾取宝物消息,拾取宝物 return(behaviac.EBTStatus.BT_INVALID); }
/// <summary> /// 是否在拾取范围内 /// </summary> /// <param name="treasure"></param> /// <returns></returns> public bool IsInLootRange(FightAgent treasure) { return(Vector3.Distance(treasure._get_position().UnityVec(), transform.position) <= 5f); }
/// <summary> /// 初始化AI脚本 /// </summary> /// <param name="hasAI"></param> /// <param name="entity"></param> /// <param name="fightInstance"></param> private void InitialAI(bool hasAI, GameObject entity, AbsFightInstance fightInstance) { if (hasAI) { FightAgent fightAgent = entity.GetComponent <FightAgent>(); switch (fightInstance.fightModel.category) { case (byte)ModelType.Building: if (entity.GetComponent <NavMeshAgent>() != null) { Destroy(entity.GetComponent <NavMeshAgent>()); } fightAgent = AddBuildingAgentScript(entity, fightInstance.fightModel.specieId); break; case (byte)ModelType.Creature: if (entity.GetComponent <NavMeshAgent>() == null) { entity.AddComponent <NavMeshAgent>(); } break; case (byte)ModelType.Hero: break; } if (entity.GetComponent <PosSyncDriver>() != null) { Destroy(entity.GetComponent <PosSyncDriver>()); } if (fightAgent != null) { //Data Model setting fightAgent.Id = fightInstance.instanceId; //start ai fightAgent.Initial(); fightAgent.StartAI(); } } else { if (entity.GetComponent <FightAgent>() != null) { Destroy(entity.GetComponent <FightAgent>()); } if (entity.GetComponent <NavMeshAgent>() != null) { Destroy(entity.GetComponent <NavMeshAgent>()); } switch (fightInstance.fightModel.category) { case (byte)ModelType.Building: if (entity.GetComponent <PosSyncDriver>() != null) { Destroy(entity.GetComponent <PosSyncDriver>()); } break; case (byte)ModelType.Creature: case (byte)ModelType.Hero: if (entity.GetComponent <PosSyncDriver>() == null) { entity.AddComponent <PosSyncDriver>(); } break; } } }
public void _set_curEnemyTarget(FightAgent value) { curEnemyTarget = value; }
public override bool Load() { AgentMeta.TotalSignature = 2623873306; AgentMeta meta; // behaviac.Agent meta = new AgentMeta(24743406); AgentMeta._AgentMetas_[2436498804] = meta; meta.RegisterMethod(1045109914, new CAgentStaticMethodVoid <string>(delegate(string param0) { behaviac.Agent.LogMessage(param0); })); meta.RegisterMethod(2521019022, new CMethod_behaviac_Agent_VectorAdd()); meta.RegisterMethod(2306090221, new CMethod_behaviac_Agent_VectorClear()); meta.RegisterMethod(3483755530, new CMethod_behaviac_Agent_VectorContains()); meta.RegisterMethod(505785840, new CMethod_behaviac_Agent_VectorLength()); meta.RegisterMethod(502968959, new CMethod_behaviac_Agent_VectorRemove()); // FightAgent meta = new AgentMeta(2912840436); AgentMeta._AgentMetas_[2927482685] = meta; meta.RegisterMemberProperty(1074892373, new CMemberProperty <bool>("couldAttack", delegate(Agent self, bool value) { ((FightAgent)self)._set_couldAttack(value); }, delegate(Agent self) { return(((FightAgent)self)._get_couldAttack()); })); meta.RegisterMemberProperty(1823529647, new CMemberProperty <bool>("couldMove", delegate(Agent self, bool value) { ((FightAgent)self)._set_couldMove(value); }, delegate(Agent self) { return(((FightAgent)self)._get_couldMove()); })); meta.RegisterMemberProperty(4050060769, new CMemberProperty <bool>("isDead", delegate(Agent self, bool value) { ((FightAgent)self)._set_isDead(value); }, delegate(Agent self) { return(((FightAgent)self)._get_isDead()); })); meta.RegisterMemberProperty(2799042603, new CMemberProperty <behaviac.EBTStatus>("LifeStatus", delegate(Agent self, behaviac.EBTStatus value) { ((FightAgent)self)._set_LifeStatus(value); }, delegate(Agent self) { return(((FightAgent)self)._get_LifeStatus()); })); meta.RegisterMemberProperty(4005016119, new CMemberProperty <bVector3>("position", delegate(Agent self, bVector3 value) { ((FightAgent)self)._set_position(value); }, delegate(Agent self) { return(((FightAgent)self)._get_position()); })); meta.RegisterMethod(1054489725, new CAgentMethod <bool>(delegate(Agent self) { return(((FightAgent)self).IsDead()); })); meta.RegisterMethod(726511973, new CAgentMethod <bool>(delegate(Agent self) { return(((FightAgent)self).IsLowHp()); })); meta.RegisterMethod(1045109914, new CAgentStaticMethodVoid <string>(delegate(string param0) { FightAgent.LogMessage(param0); })); meta.RegisterMethod(181959349, new CAgentMethodVoid(delegate(Agent self) { ((FightAgent)self).PlayDead(); })); meta.RegisterMethod(2521019022, new CMethod_behaviac_Agent_VectorAdd()); meta.RegisterMethod(2306090221, new CMethod_behaviac_Agent_VectorClear()); meta.RegisterMethod(3483755530, new CMethod_behaviac_Agent_VectorContains()); meta.RegisterMethod(505785840, new CMethod_behaviac_Agent_VectorLength()); meta.RegisterMethod(502968959, new CMethod_behaviac_Agent_VectorRemove()); // BuildingAgent meta = new AgentMeta(744566553); AgentMeta._AgentMetas_[4051970114] = meta; meta.RegisterMemberProperty(1074892373, new CMemberProperty <bool>("couldAttack", delegate(Agent self, bool value) { ((BuildingAgent)self)._set_couldAttack(value); }, delegate(Agent self) { return(((BuildingAgent)self)._get_couldAttack()); })); meta.RegisterMemberProperty(1823529647, new CMemberProperty <bool>("couldMove", delegate(Agent self, bool value) { ((BuildingAgent)self)._set_couldMove(value); }, delegate(Agent self) { return(((BuildingAgent)self)._get_couldMove()); })); meta.RegisterMemberProperty(4050060769, new CMemberProperty <bool>("isDead", delegate(Agent self, bool value) { ((BuildingAgent)self)._set_isDead(value); }, delegate(Agent self) { return(((BuildingAgent)self)._get_isDead()); })); meta.RegisterMemberProperty(2799042603, new CMemberProperty <behaviac.EBTStatus>("LifeStatus", delegate(Agent self, behaviac.EBTStatus value) { ((BuildingAgent)self)._set_LifeStatus(value); }, delegate(Agent self) { return(((BuildingAgent)self)._get_LifeStatus()); })); meta.RegisterMemberProperty(4005016119, new CMemberProperty <bVector3>("position", delegate(Agent self, bVector3 value) { ((BuildingAgent)self)._set_position(value); }, delegate(Agent self) { return(((BuildingAgent)self)._get_position()); })); meta.RegisterMethod(1054489725, new CAgentMethod <bool>(delegate(Agent self) { return(((BuildingAgent)self).IsDead()); })); meta.RegisterMethod(726511973, new CAgentMethod <bool>(delegate(Agent self) { return(((BuildingAgent)self).IsLowHp()); })); meta.RegisterMethod(1045109914, new CAgentStaticMethodVoid <string>(delegate(string param0) { BuildingAgent.LogMessage(param0); })); meta.RegisterMethod(181959349, new CAgentMethodVoid(delegate(Agent self) { ((BuildingAgent)self).PlayDead(); })); meta.RegisterMethod(2521019022, new CMethod_behaviac_Agent_VectorAdd()); meta.RegisterMethod(2306090221, new CMethod_behaviac_Agent_VectorClear()); meta.RegisterMethod(3483755530, new CMethod_behaviac_Agent_VectorContains()); meta.RegisterMethod(505785840, new CMethod_behaviac_Agent_VectorLength()); meta.RegisterMethod(502968959, new CMethod_behaviac_Agent_VectorRemove()); // DefenseTowerAgent meta = new AgentMeta(2978994066); AgentMeta._AgentMetas_[1520164275] = meta; meta.RegisterMemberProperty(1074892373, new CMemberProperty <bool>("couldAttack", delegate(Agent self, bool value) { ((DefenseTowerAgent)self)._set_couldAttack(value); }, delegate(Agent self) { return(((DefenseTowerAgent)self)._get_couldAttack()); })); meta.RegisterMemberProperty(1823529647, new CMemberProperty <bool>("couldMove", delegate(Agent self, bool value) { ((DefenseTowerAgent)self)._set_couldMove(value); }, delegate(Agent self) { return(((DefenseTowerAgent)self)._get_couldMove()); })); meta.RegisterMemberProperty(1067866206, new CMemberProperty <FightAgent>("curTarget", delegate(Agent self, FightAgent value) { ((DefenseTowerAgent)self)._set_curTarget(value); }, delegate(Agent self) { return(((DefenseTowerAgent)self)._get_curTarget()); })); meta.RegisterMemberProperty(4050060769, new CMemberProperty <bool>("isDead", delegate(Agent self, bool value) { ((DefenseTowerAgent)self)._set_isDead(value); }, delegate(Agent self) { return(((DefenseTowerAgent)self)._get_isDead()); })); meta.RegisterMemberProperty(2799042603, new CMemberProperty <behaviac.EBTStatus>("LifeStatus", delegate(Agent self, behaviac.EBTStatus value) { ((DefenseTowerAgent)self)._set_LifeStatus(value); }, delegate(Agent self) { return(((DefenseTowerAgent)self)._get_LifeStatus()); })); meta.RegisterMemberProperty(4005016119, new CMemberProperty <bVector3>("position", delegate(Agent self, bVector3 value) { ((DefenseTowerAgent)self)._set_position(value); }, delegate(Agent self) { return(((DefenseTowerAgent)self)._get_position()); })); meta.RegisterMethod(3575241253, new CAgentMethod <behaviac.EBTStatus>(delegate(Agent self) { return(((DefenseTowerAgent)self).AttackCurEnemy()); })); meta.RegisterMethod(2972488885, new CAgentMethod <FightAgent>(delegate(Agent self) { return(((DefenseTowerAgent)self).FindEnemyInRange()); })); meta.RegisterMethod(1054489725, new CAgentMethod <bool>(delegate(Agent self) { return(((DefenseTowerAgent)self).IsDead()); })); meta.RegisterMethod(726511973, new CAgentMethod <bool>(delegate(Agent self) { return(((DefenseTowerAgent)self).IsLowHp()); })); meta.RegisterMethod(1045109914, new CAgentStaticMethodVoid <string>(delegate(string param0) { DefenseTowerAgent.LogMessage(param0); })); meta.RegisterMethod(181959349, new CAgentMethodVoid(delegate(Agent self) { ((DefenseTowerAgent)self).PlayDead(); })); meta.RegisterMethod(2521019022, new CMethod_behaviac_Agent_VectorAdd()); meta.RegisterMethod(2306090221, new CMethod_behaviac_Agent_VectorClear()); meta.RegisterMethod(3483755530, new CMethod_behaviac_Agent_VectorContains()); meta.RegisterMethod(505785840, new CMethod_behaviac_Agent_VectorLength()); meta.RegisterMethod(502968959, new CMethod_behaviac_Agent_VectorRemove()); // SoilderAgent meta = new AgentMeta(549697942); AgentMeta._AgentMetas_[4286480859] = meta; meta.RegisterMemberProperty(1074892373, new CMemberProperty <bool>("couldAttack", delegate(Agent self, bool value) { ((SoilderAgent)self)._set_couldAttack(value); }, delegate(Agent self) { return(((SoilderAgent)self)._get_couldAttack()); })); meta.RegisterMemberProperty(1823529647, new CMemberProperty <bool>("couldMove", delegate(Agent self, bool value) { ((SoilderAgent)self)._set_couldMove(value); }, delegate(Agent self) { return(((SoilderAgent)self)._get_couldMove()); })); meta.RegisterMemberProperty(593809957, new CMemberProperty <ActionStatus>("curActionStatus", delegate(Agent self, ActionStatus value) { ((SoilderAgent)self)._set_curActionStatus(value); }, delegate(Agent self) { return(((SoilderAgent)self)._get_curActionStatus()); })); meta.RegisterMemberProperty(2679270583, new CMemberProperty <FightAgent>("curEnemyTarget", delegate(Agent self, FightAgent value) { ((SoilderAgent)self)._set_curEnemyTarget(value); }, delegate(Agent self) { return(((SoilderAgent)self)._get_curEnemyTarget()); })); meta.RegisterMemberProperty(1428937743, new CMemberProperty <Situation>("curSituation", delegate(Agent self, Situation value) { ((SoilderAgent)self)._set_curSituation(value); }, delegate(Agent self) { return(((SoilderAgent)self)._get_curSituation()); })); meta.RegisterMemberProperty(1608869297, new CMemberProperty <bVector3>("curTacticAtkPos", delegate(Agent self, bVector3 value) { ((SoilderAgent)self)._set_curTacticAtkPos(value); }, delegate(Agent self) { return(((SoilderAgent)self)._get_curTacticAtkPos()); })); meta.RegisterMemberProperty(4009490894, new CMemberProperty <bVector3>("homePoint", delegate(Agent self, bVector3 value) { ((SoilderAgent)self)._set_homePoint(value); }, delegate(Agent self) { return(((SoilderAgent)self)._get_homePoint()); })); meta.RegisterMemberProperty(4050060769, new CMemberProperty <bool>("isDead", delegate(Agent self, bool value) { ((SoilderAgent)self)._set_isDead(value); }, delegate(Agent self) { return(((SoilderAgent)self)._get_isDead()); })); meta.RegisterMemberProperty(2799042603, new CMemberProperty <behaviac.EBTStatus>("LifeStatus", delegate(Agent self, behaviac.EBTStatus value) { ((SoilderAgent)self)._set_LifeStatus(value); }, delegate(Agent self) { return(((SoilderAgent)self)._get_LifeStatus()); })); meta.RegisterMemberProperty(4005016119, new CMemberProperty <bVector3>("position", delegate(Agent self, bVector3 value) { ((SoilderAgent)self)._set_position(value); }, delegate(Agent self) { return(((SoilderAgent)self)._get_position()); })); meta.RegisterMethod(3127879122, new CMethod_SoilderAgent_Attack()); meta.RegisterMethod(1629954219, new CAgentMethodVoid <bVector3>(delegate(Agent self, bVector3 task_pos) { }) /* AttackToPos_task */); meta.RegisterMethod(783803240, new CAgentMethodVoid <FightAgent>(delegate(Agent self, FightAgent task_chaseTarget) { }) /* ChaseAndAttack_task */); meta.RegisterMethod(2716570482, new CAgentMethod <FightAgent>(delegate(Agent self) { return(((SoilderAgent)self).GetNearestEnemy()); })); meta.RegisterMethod(2253404977, new CAgentMethod <behaviac.EBTStatus>(delegate(Agent self) { return(((SoilderAgent)self).Idle()); })); meta.RegisterMethod(1054489725, new CAgentMethod <bool>(delegate(Agent self) { return(((SoilderAgent)self).IsDead()); })); meta.RegisterMethod(726511973, new CAgentMethod <bool>(delegate(Agent self) { return(((SoilderAgent)self).IsLowHp()); })); meta.RegisterMethod(1045109914, new CAgentStaticMethodVoid <string>(delegate(string param0) { SoilderAgent.LogMessage(param0); })); meta.RegisterMethod(2754924504, new CMethod_SoilderAgent_MoveTo()); meta.RegisterMethod(1793645156, new CMethod_SoilderAgent_MoveToTarget()); meta.RegisterMethod(181959349, new CAgentMethodVoid(delegate(Agent self) { ((SoilderAgent)self).PlayDead(); })); meta.RegisterMethod(3970781763, new CMethod_SoilderAgent_TestEnemyInAtkRange()); meta.RegisterMethod(3756619215, new CAgentMethod <bool>(delegate(Agent self) { return(((SoilderAgent)self).TestHasAtkToPosCommand()); })); meta.RegisterMethod(700275576, new CAgentMethod <bool>(delegate(Agent self) { return(((SoilderAgent)self).TestHasEnemyInEyeRange()); })); meta.RegisterMethod(2521019022, new CMethod_behaviac_Agent_VectorAdd()); meta.RegisterMethod(2306090221, new CMethod_behaviac_Agent_VectorClear()); meta.RegisterMethod(3483755530, new CMethod_behaviac_Agent_VectorContains()); meta.RegisterMethod(505785840, new CMethod_behaviac_Agent_VectorLength()); meta.RegisterMethod(502968959, new CMethod_behaviac_Agent_VectorRemove()); // HeroAgent meta = new AgentMeta(3064835767); AgentMeta._AgentMetas_[2270112014] = meta; meta.RegisterMemberProperty(1074892373, new CMemberProperty <bool>("couldAttack", delegate(Agent self, bool value) { ((HeroAgent)self)._set_couldAttack(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_couldAttack()); })); meta.RegisterMemberProperty(1823529647, new CMemberProperty <bool>("couldMove", delegate(Agent self, bool value) { ((HeroAgent)self)._set_couldMove(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_couldMove()); })); meta.RegisterMemberProperty(593809957, new CMemberProperty <ActionStatus>("curActionStatus", delegate(Agent self, ActionStatus value) { ((HeroAgent)self)._set_curActionStatus(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_curActionStatus()); })); meta.RegisterMemberProperty(2679270583, new CMemberProperty <FightAgent>("curEnemyTarget", delegate(Agent self, FightAgent value) { ((HeroAgent)self)._set_curEnemyTarget(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_curEnemyTarget()); })); meta.RegisterMemberProperty(1428937743, new CMemberProperty <Situation>("curSituation", delegate(Agent self, Situation value) { ((HeroAgent)self)._set_curSituation(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_curSituation()); })); meta.RegisterMemberProperty(1608869297, new CMemberProperty <bVector3>("curTacticAtkPos", delegate(Agent self, bVector3 value) { ((HeroAgent)self)._set_curTacticAtkPos(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_curTacticAtkPos()); })); meta.RegisterMemberProperty(3679778246, new CMemberProperty <bVector3>("fleePos", delegate(Agent self, bVector3 value) { ((HeroAgent)self)._set_fleePos(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_fleePos()); })); meta.RegisterMemberProperty(4009490894, new CMemberProperty <bVector3>("homePoint", delegate(Agent self, bVector3 value) { ((HeroAgent)self)._set_homePoint(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_homePoint()); })); meta.RegisterMemberProperty(4050060769, new CMemberProperty <bool>("isDead", delegate(Agent self, bool value) { ((HeroAgent)self)._set_isDead(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_isDead()); })); meta.RegisterMemberProperty(2799042603, new CMemberProperty <behaviac.EBTStatus>("LifeStatus", delegate(Agent self, behaviac.EBTStatus value) { ((HeroAgent)self)._set_LifeStatus(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_LifeStatus()); })); meta.RegisterMemberProperty(4005016119, new CMemberProperty <bVector3>("position", delegate(Agent self, bVector3 value) { ((HeroAgent)self)._set_position(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_position()); })); meta.RegisterMemberProperty(1022875399, new CMemberProperty <bVector3>("retreatPos", delegate(Agent self, bVector3 value) { ((HeroAgent)self)._set_retreatPos(value); }, delegate(Agent self) { return(((HeroAgent)self)._get_retreatPos()); })); meta.RegisterMethod(2674554263, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).ArrivedRetreatPos()); })); meta.RegisterMethod(3127879122, new CMethod_SoilderAgent_Attack()); meta.RegisterMethod(1629954219, new CAgentMethodVoid <bVector3>(delegate(Agent self, bVector3 task_pos) { }) /* AttackToPos_task */); meta.RegisterMethod(3981281435, new CAgentMethod <behaviac.EBTStatus>(delegate(Agent self) { return(((HeroAgent)self).CallFriendHeroToHealMe()); })); meta.RegisterMethod(783803240, new CAgentMethodVoid <FightAgent>(delegate(Agent self, FightAgent task_chaseTarget) { }) /* ChaseAndAttack_task */); meta.RegisterMethod(1105002646, new CAgentMethod <behaviac.EBTStatus>(delegate(Agent self) { return(((HeroAgent)self).CombooKill()); })); meta.RegisterMethod(143620965, new CAgentMethodVoid <bVector3>(delegate(Agent self, bVector3 task_cooperatePos) { }) /* Cooperate_task */); meta.RegisterMethod(592004963, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).CouldBeSecKilled()); })); meta.RegisterMethod(1497521703, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).CouldUseQuickHeal()); })); meta.RegisterMethod(2027654893, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).CouldUseSlowHeal()); })); meta.RegisterMethod(1787278696, new CAgentMethod <bVector3>(delegate(Agent self) { return(((HeroAgent)self).GetCurReseanableTacticsTarget()); })); meta.RegisterMethod(749487724, new CAgentMethod <float>(delegate(Agent self) { return(((HeroAgent)self).GetDistanceFromHome()); })); meta.RegisterMethod(1218032045, new CAgentMethod <int>(delegate(Agent self) { return(((HeroAgent)self).GetEnemyCountInRange()); })); meta.RegisterMethod(2743497259, new CAgentMethod <int>(delegate(Agent self) { return(((HeroAgent)self).GetEnemyHeroCountInRange()); })); meta.RegisterMethod(3513837595, new CAgentMethod <int>(delegate(Agent self) { return(((HeroAgent)self).GetFirendHeroCountInRange()); })); meta.RegisterMethod(3164054455, new CAgentMethod <int>(delegate(Agent self) { return(((HeroAgent)self).GetFriendCountInRange()); })); meta.RegisterMethod(2716570482, new CAgentMethod <FightAgent>(delegate(Agent self) { return(((HeroAgent)self).GetNearestEnemy()); })); meta.RegisterMethod(1237488994, new CAgentMethod <FightAgent>(delegate(Agent self) { return(((HeroAgent)self).GetWeakestEnemy()); })); meta.RegisterMethod(2569706439, new CAgentMethod <FightAgent>(delegate(Agent self) { return(((HeroAgent)self).GetWeakHeroInRange()); })); meta.RegisterMethod(2547311622, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).HasCombooKill()); })); meta.RegisterMethod(1496859174, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).HasEnemyInEyeRange()); })); meta.RegisterMethod(996104106, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).HasReturnHomeSkill()); })); meta.RegisterMethod(1519838893, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).HasTreasureInEyeRange()); })); meta.RegisterMethod(2253404977, new CAgentMethod <behaviac.EBTStatus>(delegate(Agent self) { return(((HeroAgent)self).Idle()); })); meta.RegisterMethod(1054489725, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).IsDead()); })); meta.RegisterMethod(2432849062, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).IsEnemyChasing()); })); meta.RegisterMethod(1778583587, new CMethod_HeroAgent_IsInLootRange()); meta.RegisterMethod(726511973, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).IsLowHp()); })); meta.RegisterMethod(1045109914, new CAgentStaticMethodVoid <string>(delegate(string param0) { HeroAgent.LogMessage(param0); })); meta.RegisterMethod(3468933412, new CMethod_HeroAgent_LootTreasure()); meta.RegisterMethod(762819242, new CAgentMethodVoid <FightAgent>(delegate(Agent self, FightAgent task_treasure) { }) /* LootTreasure_task */); meta.RegisterMethod(2754924504, new CMethod_SoilderAgent_MoveTo()); meta.RegisterMethod(1793645156, new CMethod_SoilderAgent_MoveToTarget()); meta.RegisterMethod(181959349, new CAgentMethodVoid(delegate(Agent self) { ((HeroAgent)self).PlayDead(); })); meta.RegisterMethod(2057619381, new CAgentMethod <behaviac.EBTStatus>(delegate(Agent self) { return(((HeroAgent)self).QuickHeal()); })); meta.RegisterMethod(4056496344, new CMethod_HeroAgent_SetRetreatPos()); meta.RegisterMethod(563297901, new CAgentMethod <behaviac.EBTStatus>(delegate(Agent self) { return(((HeroAgent)self).SkillReturnHome()); })); meta.RegisterMethod(420198528, new CAgentMethod <behaviac.EBTStatus>(delegate(Agent self) { return(((HeroAgent)self).SlowHealSelf()); })); meta.RegisterMethod(2783913227, new CAgentMethodVoid <bVector3>(delegate(Agent self, bVector3 task_tacticsAtkPos) { }) /* TacticsAttack_task */); meta.RegisterMethod(3500369013, new CAgentMethodVoid <bVector3>(delegate(Agent self, bVector3 task_RetreatPos) { }) /* TempRetreat_task */); meta.RegisterMethod(2100968353, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).TestArrivedTacticsTarget()); })); meta.RegisterMethod(2854910934, new CAgentMethod <Situation>(delegate(Agent self) { return(((HeroAgent)self).TestCurSituation()); })); meta.RegisterMethod(3970781763, new CMethod_SoilderAgent_TestEnemyInAtkRange()); meta.RegisterMethod(982139696, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).TestFriendHeroCouldHealMe()); })); meta.RegisterMethod(3756619215, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).TestHasAtkToPosCommand()); })); meta.RegisterMethod(700275576, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).TestHasEnemyInEyeRange()); })); meta.RegisterMethod(3000592579, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).TestHasTacticsTargetLeft()); })); meta.RegisterMethod(1819711739, new CAgentMethod <bool>(delegate(Agent self) { return(((HeroAgent)self).TestSomeEnemyHeroCouldBeKilled()); })); meta.RegisterMethod(2521019022, new CMethod_behaviac_Agent_VectorAdd()); meta.RegisterMethod(2306090221, new CMethod_behaviac_Agent_VectorClear()); meta.RegisterMethod(3483755530, new CMethod_behaviac_Agent_VectorContains()); meta.RegisterMethod(505785840, new CMethod_behaviac_Agent_VectorLength()); meta.RegisterMethod(502968959, new CMethod_behaviac_Agent_VectorRemove()); AgentMeta.Register <behaviac.Agent>("behaviac.Agent"); AgentMeta.Register <FightAgent>("FightAgent"); AgentMeta.Register <BuildingAgent>("BuildingAgent"); AgentMeta.Register <DefenseTowerAgent>("DefenseTowerAgent"); AgentMeta.Register <SoilderAgent>("SoilderAgent"); AgentMeta.Register <HeroAgent>("HeroAgent"); AgentMeta.Register <Situation>("Situation"); ComparerRegister.RegisterType <Situation, CompareValue_Situation>(); AgentMeta.Register <ActionStatus>("ActionStatus"); ComparerRegister.RegisterType <ActionStatus, CompareValue_ActionStatus>(); AgentMeta.Register <bVector3>("bVector3"); ComparerRegister.RegisterType <bVector3, CompareValue_bVector3>(); return(true); }
/// <summary> /// 发送攻击消息 /// </summary> /// <param name="target"></param> private void Attack(FightAgent target) { MgrCenter.Instance.SendMsg(Msgs.GetMsgInt((ushort)BuildingFightEvent.DefenseTowerAtkCreq, curTarget.Id)); }