private 队伍 convert(Team team) { 队伍 队伍 = new 队伍(); 队伍.Name = team.Name; 队伍.成员List = new List<角色>(); foreach (var item in team.TeamRole) { Role role = item.Role; 角色 角色 = 战斗管理.Create(role.Name.Trim(), role.兵种.Trim(), role.攻, role.防, role.智, role.速, role.行动点, role.兵力, role.兵力, item.排, item.列, role.基础攻击技能, role.技能1, role.技能2, role.被动技能, role.特殊技能); 队伍.成员List.Add(角色); } return 队伍; }
public void Init(队伍 teamA, 队伍 teamB, 战地类型 战地类型) { teamA战场 = new 战场(); teamA战场.当前回合 = 1; teamA战场.最大回合数 = 30; teamA战场.己方角色List = teamA.成员List; foreach (var 角色 in teamA.成员List) 角色.IsTeamA = true; teamA战场.敌方角色List = teamB.成员List; foreach (var 角色 in teamB.成员List) 角色.IsTeamA = false; teamA战场.己方队伍名称 = teamA.Name; teamA战场.敌方队伍名称 = teamB.Name; switch (战地类型) { case Battle.战地类型.野战: teamA战场.战场修正 = 0; teamA战场.战果 = 0; break; case Battle.战地类型.防守_城市: teamA战场.战场修正 = 20; teamA战场.战果 = 500; break; case Battle.战地类型.防守_小镇: teamA战场.战场修正 = 12; teamA战场.战果 = 200; break; case Battle.战地类型.防守_山寨: teamA战场.战场修正 = 4; teamA战场.战果 = 0; break; case Battle.战地类型.进攻_城市: teamA战场.战场修正 = -20; teamA战场.战果 = -500; break; case Battle.战地类型.进攻_小镇: teamA战场.战场修正 = -12; teamA战场.战果 = -200; break; case Battle.战地类型.进攻_山寨: teamA战场.战场修正 = -4; teamA战场.战果 = 0; break; } List<角色> list = new List<角色>(teamA.成员List); list.AddRange(teamB.成员List); teamA战场.行动顺序 = new 行动顺序(); teamA战场.行动顺序.初始化行动表(list); foreach (var 角色 in teamA战场.己方角色List) { if (角色.被动技能 != null && 角色.被动技能 is 战斗开始被动技能) { 战斗开始被动技能 战斗开始被动技能 = (战斗开始被动技能)角色.被动技能; 技能环境 技能环境 = createEnvironment(角色, true, new List<角色>() { 角色 }); 战斗开始被动技能.Excute(技能环境); } if (角色.特殊技能 != null && 角色.特殊技能 is 战斗开始被动技能) { 战斗开始被动技能 战斗开始被动技能 = (战斗开始被动技能)角色.特殊技能; 技能环境 技能环境 = createEnvironment(角色, true, new List<角色>() { 角色 }); 战斗开始被动技能.Excute(技能环境); } } foreach (var 角色 in teamA战场.敌方角色List) { if (角色.被动技能 != null && 角色.被动技能 is 战斗开始被动技能) { 战斗开始被动技能 战斗开始被动技能 = (战斗开始被动技能)角色.被动技能; 技能环境 技能环境 = createEnvironment(角色, false, new List<角色>() { 角色 }); 战斗开始被动技能.Excute(技能环境); } if (角色.特殊技能 != null && 角色.特殊技能 is 战斗开始被动技能) { 战斗开始被动技能 战斗开始被动技能 = (战斗开始被动技能)角色.特殊技能; 技能环境 技能环境 = createEnvironment(角色, false, new List<角色>() { 角色 }); 战斗开始被动技能.Excute(技能环境); } } }