|
@@ -371,19 +371,25 @@ namespace GFGGame
|
|
|
targetMainScore = ScoreSystemData.Instance.GetRobotMainScore(targetRobotData);
|
|
|
targetRoundTime = ScoreSystemData.Instance.GetRoundTime(targetRobotData.cardId, targetRobotData.skillLvs);
|
|
|
}
|
|
|
-
|
|
|
+ if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
|
|
|
+ {
|
|
|
+ ArenaDataManager.Instance.roundTime = roundTime;
|
|
|
+ ArenaDataManager.Instance.targetRoundTime = targetRoundTime;
|
|
|
+ ArenaDataManager.Instance.vaildSkills.Clear();
|
|
|
+ ArenaDataManager.Instance.targetVaildSkills.Clear();
|
|
|
+ }
|
|
|
int partId = 0;
|
|
|
int currentTime = BeginTime.PART_ALL_FIGHT_BEGIN;
|
|
|
- GetSkillScore(currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
|
|
|
- GetSkillScore(currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
|
|
|
+ GetSkillScore(FightRoleType.MINE, currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
|
|
|
+ GetSkillScore(FightRoleType.TAEGET, currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
|
|
|
|
|
|
for (int i = 0; i < FightScoreCfgArray.Instance.dataArray.Length; i++)
|
|
|
{
|
|
|
partId++;
|
|
|
|
|
|
currentTime = BeginTime.PART_FIGHT_BEGIN;
|
|
|
- GetSkillScore(currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
|
|
|
- GetSkillScore(currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
|
|
|
+ GetSkillScore(FightRoleType.MINE, currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
|
|
|
+ GetSkillScore(FightRoleType.TAEGET, currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
|
|
|
score += ScoreSystemData.Instance.GetPartScore(myRoleData, partId, ClickType.PREFACT_CLICK, 0);
|
|
|
if (targetType == ArenaFightTargetType.PLAYER)
|
|
|
{
|
|
@@ -394,11 +400,11 @@ namespace GFGGame
|
|
|
targetScore += ScoreSystemData.Instance.GetRobotPartScore(targetRobotData, partId, ClickType.PREFACT_CLICK, 0);
|
|
|
}
|
|
|
currentTime = BeginTime.PART_PREFACT_CLICK;
|
|
|
- GetSkillScore(currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
|
|
|
- GetSkillScore(currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
|
|
|
+ GetSkillScore(FightRoleType.MINE, currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
|
|
|
+ GetSkillScore(FightRoleType.TAEGET, currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
|
|
|
currentTime = BeginTime.PART_FIGHT_END;
|
|
|
- GetSkillScore(currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
|
|
|
- GetSkillScore(currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
|
|
|
+ GetSkillScore(FightRoleType.MINE, currentTime, partId, mainScore, cardId, skillLvs, roundTime, ref score, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore);
|
|
|
+ GetSkillScore(FightRoleType.TAEGET, currentTime, partId, targetMainScore, targetCardId, targetSkillLvs, targetRoundTime, ref targetScore, mainScore, cardId, skillLvs, roundTime, ref score);
|
|
|
}
|
|
|
score += ScoreSystemData.Instance.GetAllCircleAddScore(mainScore);
|
|
|
targetScore += ScoreSystemData.Instance.GetAllCircleAddScore(targetMainScore);
|
|
@@ -406,15 +412,29 @@ namespace GFGGame
|
|
|
_targetScore = Mathf.CeilToInt((float)targetScore);
|
|
|
}
|
|
|
|
|
|
- private void GetSkillScore(int currentTime, int partId, double mainScore, int cardId, List<int> skillLvs, List<int> roundTime, ref double score, double targetMainScore, int targetCardId, List<int> targetSkillLvs, List<int> targetRoundTime, ref double targetScore)
|
|
|
+ private void GetSkillScore(int roleType, int currentTime, int partId, double mainScore, int cardId, List<int> skillLvs, List<int> roundTime, ref double score, double targetMainScore, int targetCardId, List<int> targetSkillLvs, List<int> targetRoundTime, ref double targetScore)
|
|
|
{
|
|
|
List<PassivitySkillLvlCfg> vaildSkills = ScoreSystemData.Instance.GetValidSkills(currentTime, partId, cardId, skillLvs, targetCardId, targetSkillLvs, roundTime, targetRoundTime);
|
|
|
ScoreSystemData.Instance.GetPartItemSkillScore(vaildSkills, mainScore, targetMainScore, out int skillScore, out int targetSkillScore, out Dictionary<int, int> skillScoreDic);
|
|
|
score += skillScore;
|
|
|
targetMainScore += targetSkillScore;
|
|
|
|
|
|
- }
|
|
|
+ if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
|
|
|
+ {
|
|
|
+ ArenaDataManager dataManager = ArenaDataManager.Instance;
|
|
|
+ if (roleType == FightRoleType.MINE)
|
|
|
+ {
|
|
|
+ if (!dataManager.vaildSkills.ContainsKey(partId)) dataManager.vaildSkills[partId] = new Dictionary<int, List<PassivitySkillLvlCfg>>();
|
|
|
+ dataManager.vaildSkills[partId][currentTime] = vaildSkills;
|
|
|
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (!dataManager.targetVaildSkills.ContainsKey(partId)) dataManager.targetVaildSkills[partId] = new Dictionary<int, List<PassivitySkillLvlCfg>>();
|
|
|
+ dataManager.targetVaildSkills[partId][currentTime] = vaildSkills;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
}
|