|
@@ -1,5 +1,6 @@
|
|
using System;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.Generic;
|
|
|
|
+using System.Linq;
|
|
using ET;
|
|
using ET;
|
|
using UnityEngine;
|
|
using UnityEngine;
|
|
using FairyGUI;
|
|
using FairyGUI;
|
|
@@ -8,44 +9,53 @@ namespace GFGGame
|
|
{
|
|
{
|
|
public class ArenaDataManager : SingletonBase<ArenaDataManager>
|
|
public class ArenaDataManager : SingletonBase<ArenaDataManager>
|
|
{
|
|
{
|
|
- public long LastFightTime = 0;//上次战斗时间,时间为0,说明未战斗过,则没有段位奖励
|
|
|
|
- public List<int> ThemeList = new List<int>() { 1, 2, 3 };//本周主题列表
|
|
|
|
- public string Tag = "异域";//本周标签
|
|
|
|
- public int SeasonId = 1;// 赛季id
|
|
|
|
- public int Grade = 1;//本赛季段位
|
|
|
|
- public int Rank = 10000;//本赛季段位内排名
|
|
|
|
- public int HighestGrade = 1;//本赛季最高段位
|
|
|
|
|
|
+ public long LastFightTime = 0; //上次战斗时间,时间为0,说明未战斗过,则没有段位奖励
|
|
|
|
+ public List<int> ThemeList = new List<int>() { 1, 2, 3 }; //本周主题列表
|
|
|
|
+ public string Tag = "异域"; //本周标签
|
|
|
|
+ public int SeasonId = 1; // 赛季id
|
|
|
|
+ public int Grade = 1; //本赛季段位
|
|
|
|
+ public int Rank = 10000; //本赛季段位内排名
|
|
|
|
+ public int HighestGrade = 1; //本赛季最高段位
|
|
public int HighestRank = 10000; //本赛最高季段位内排名
|
|
public int HighestRank = 10000; //本赛最高季段位内排名
|
|
- public List<FightData> DressupList = new List<FightData>();//我的搭配列表
|
|
|
|
- public List<ArenaTargetData> Targets = new List<ArenaTargetData>();//对手
|
|
|
|
- public ArenaTargetData SelfData;//自己的排行榜信息
|
|
|
|
- public ArenaTargetData SelfLastData;//自己的上赛季排行榜信息
|
|
|
|
- public Dictionary<int, List<ArenaTargetData>> RankDatasDic = new Dictionary<int, List<ArenaTargetData>>();//排行榜数据
|
|
|
|
- public List<ArenaHistoryData> HistoryDatas = new List<ArenaHistoryData>();//获取竞技场历史记录
|
|
|
|
|
|
+ public List<FightData> DressupList = new List<FightData>(); //我的搭配列表
|
|
|
|
+ public List<ArenaTargetData> Targets = new List<ArenaTargetData>(); //对手
|
|
|
|
+ public ArenaTargetData SelfData; //自己的排行榜信息
|
|
|
|
+ public ArenaTargetData SelfLastData; //自己的上赛季排行榜信息
|
|
|
|
+
|
|
|
|
+ public Dictionary<int, List<ArenaTargetData>>
|
|
|
|
+ RankDatasDic = new Dictionary<int, List<ArenaTargetData>>(); //排行榜数据
|
|
|
|
+
|
|
|
|
+ public List<ArenaHistoryData> HistoryDatas = new List<ArenaHistoryData>(); //获取竞技场历史记录
|
|
|
|
|
|
/*************************************************************************************************************************************/
|
|
/*************************************************************************************************************************************/
|
|
// public Dictionary<int, Texture2D> TextureDic = new Dictionary<int, Texture2D>();
|
|
// public Dictionary<int, Texture2D> TextureDic = new Dictionary<int, Texture2D>();
|
|
public List<int> roundTime = new List<int>();
|
|
public List<int> roundTime = new List<int>();
|
|
|
|
+
|
|
public List<int> targetRoundTime = new List<int>();
|
|
public List<int> targetRoundTime = new List<int>();
|
|
|
|
+
|
|
//Dictionary<回合下标, Dictionary<partId, Dictionary<战斗节点, List<PassivitySkillLvlCfg>>>>
|
|
//Dictionary<回合下标, Dictionary<partId, Dictionary<战斗节点, List<PassivitySkillLvlCfg>>>>
|
|
- public Dictionary<int, Dictionary<int, Dictionary<int, List<PassivitySkillLvlCfg>>>> vaildSkills = new Dictionary<int, Dictionary<int, Dictionary<int, List<PassivitySkillLvlCfg>>>>();
|
|
|
|
- public Dictionary<int, Dictionary<int, Dictionary<int, List<PassivitySkillLvlCfg>>>> targetVaildSkills = new Dictionary<int, Dictionary<int, Dictionary<int, List<PassivitySkillLvlCfg>>>>();
|
|
|
|
- public int SelectThemeIndex = 0;//当前选中换装主题(ThemeList)的下标
|
|
|
|
- public int SelectTargetIndex = -1;//当前选中挑战对象的下标
|
|
|
|
- public int CurFightIndex = 0;//当前挑战场次下标
|
|
|
|
- public List<long> myScore = new List<long>();//对战数据,三轮分数
|
|
|
|
- public List<long> targetScore = new List<long>();//对战数据,三轮分数
|
|
|
|
- public List<long> myFightPower = new List<long>();//对战数据,竞技场战力,搭配战力,卓越点击战力,卡牌战力
|
|
|
|
- public List<long> targetFightPower = new List<long>();//对战数据,对手竞技场战力,搭配战力,卓越点击战力,卡牌战力
|
|
|
|
|
|
+ public Dictionary<int, Dictionary<int, Dictionary<int, List<PassivitySkillLvlCfg>>>> vaildSkills =
|
|
|
|
+ new Dictionary<int, Dictionary<int, Dictionary<int, List<PassivitySkillLvlCfg>>>>();
|
|
|
|
+
|
|
|
|
+ public Dictionary<int, Dictionary<int, Dictionary<int, List<PassivitySkillLvlCfg>>>> targetVaildSkills =
|
|
|
|
+ new Dictionary<int, Dictionary<int, Dictionary<int, List<PassivitySkillLvlCfg>>>>();
|
|
|
|
+
|
|
|
|
+ public int SelectThemeIndex = 0; //当前选中换装主题(ThemeList)的下标
|
|
|
|
+ public int SelectTargetIndex = -1; //当前选中挑战对象的下标
|
|
|
|
+ public int CurFightIndex = 0; //当前挑战场次下标
|
|
|
|
+ public List<long> myScore = new List<long>(); //对战数据,三轮分数
|
|
|
|
+ public List<long> targetScore = new List<long>(); //对战数据,三轮分数
|
|
|
|
+ public List<long> myFightPower = new List<long>(); //对战数据,竞技场战力,搭配战力,卓越点击战力,卡牌战力
|
|
|
|
+ public List<long> targetFightPower = new List<long>(); //对战数据,对手竞技场战力,搭配战力,卓越点击战力,卡牌战力
|
|
|
|
|
|
/*************************************************************************************************************************************/
|
|
/*************************************************************************************************************************************/
|
|
|
|
|
|
- public int LastGrade;//战斗前段位
|
|
|
|
- public int LastRank;//战斗前排行
|
|
|
|
- public OtherRoleInfoData LastTargetInfo = new OtherRoleInfoData();//战斗对手角色信息
|
|
|
|
- public List<ArenaTargetData> LastTargets = new List<ArenaTargetData>();//对手
|
|
|
|
- public int RewardId;//段位提升奖励
|
|
|
|
- public List<ItemData> BonusList;//战斗结算奖励
|
|
|
|
|
|
+ public int LastGrade; //战斗前段位
|
|
|
|
+ public int LastRank; //战斗前排行
|
|
|
|
+ public OtherRoleInfoData LastTargetInfo = new OtherRoleInfoData(); //战斗对手角色信息
|
|
|
|
+ public List<ArenaTargetData> LastTargets = new List<ArenaTargetData>(); //对手
|
|
|
|
+ public int RewardId; //段位提升奖励
|
|
|
|
+ public List<ItemData> BonusList; //战斗结算奖励
|
|
|
|
|
|
/*************************************************************************************************************************************/
|
|
/*************************************************************************************************************************************/
|
|
|
|
|
|
@@ -57,13 +67,16 @@ namespace GFGGame
|
|
{
|
|
{
|
|
get
|
|
get
|
|
{
|
|
{
|
|
- return StorageDataManager.Instance.GetStorageValue(ConstStorageId.ARENA_QUICK_FIGHT) == 1 ? true : false;
|
|
|
|
|
|
+ return StorageDataManager.Instance.GetStorageValue(ConstStorageId.ARENA_QUICK_FIGHT) == 1
|
|
|
|
+ ? true
|
|
|
|
+ : false;
|
|
}
|
|
}
|
|
set
|
|
set
|
|
{
|
|
{
|
|
StorageSProxy.ReqSetClientValue(ConstStorageId.ARENA_QUICK_FIGHT, value == true ? 1 : 0).Coroutine();
|
|
StorageSProxy.ReqSetClientValue(ConstStorageId.ARENA_QUICK_FIGHT, value == true ? 1 : 0).Coroutine();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
public void Clear()
|
|
public void Clear()
|
|
{
|
|
{
|
|
ThemeList.Clear();
|
|
ThemeList.Clear();
|
|
@@ -82,6 +95,7 @@ namespace GFGGame
|
|
SelfData = null;
|
|
SelfData = null;
|
|
SelfLastData = null;
|
|
SelfLastData = null;
|
|
}
|
|
}
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 是否结算中
|
|
/// 是否结算中
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -91,8 +105,10 @@ namespace GFGGame
|
|
get
|
|
get
|
|
{
|
|
{
|
|
long curTime = TimeHelper.ServerNow();
|
|
long curTime = TimeHelper.ServerNow();
|
|
- long startTime = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.clearingStartWeekDay, GlobalCfgArray.globalCfg.clearingStartTime);
|
|
|
|
- long endTime = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.clearingEndWeekDay, GlobalCfgArray.globalCfg.clearingEndTime);
|
|
|
|
|
|
+ long startTime = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.clearingStartWeekDay,
|
|
|
|
+ GlobalCfgArray.globalCfg.clearingStartTime);
|
|
|
|
+ long endTime = TimeUtil.GetCurWeekTime(GlobalCfgArray.globalCfg.clearingEndWeekDay,
|
|
|
|
+ GlobalCfgArray.globalCfg.clearingEndTime);
|
|
if (GlobalCfgArray.globalCfg.clearingEndWeekDay >= GlobalCfgArray.globalCfg.clearingStartWeekDay)
|
|
if (GlobalCfgArray.globalCfg.clearingEndWeekDay >= GlobalCfgArray.globalCfg.clearingStartWeekDay)
|
|
{
|
|
{
|
|
//结算时间开始到结束未跨周(例:本周六开始,本周日结束)
|
|
//结算时间开始到结束未跨周(例:本周六开始,本周日结束)
|
|
@@ -105,6 +121,7 @@ namespace GFGGame
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 赛季是否开启
|
|
/// 赛季是否开启
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -118,9 +135,11 @@ namespace GFGGame
|
|
{
|
|
{
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
+
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 试图更新最高段位、排行数据
|
|
/// 试图更新最高段位、排行数据
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -139,13 +158,17 @@ namespace GFGGame
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 获取推荐卡牌
|
|
/// 获取推荐卡牌
|
|
/// </summary>
|
|
/// </summary>
|
|
- public int GetRecommentCardId(int scoreType, List<int> itemList)
|
|
|
|
|
|
+ public int GetRecommentCardId(int scoreType, List<int> itemList, List<int> wearCardIds)
|
|
{
|
|
{
|
|
float dressListAllAcore = FightDataManager.Instance.GetDressListAllScore(itemList, scoreType);
|
|
float dressListAllAcore = FightDataManager.Instance.GetDressListAllScore(itemList, scoreType);
|
|
- List<CardData> cardDatas = FightDataManager.Instance.SortCardList(CardDataManager.GetCardListByRarity(0), dressListAllAcore, scoreType);
|
|
|
|
|
|
+ List<CardData> cardDatas = FightDataManager.Instance.SortCardList(CardDataManager.GetCardListByRarity(0),
|
|
|
|
+ dressListAllAcore, scoreType);
|
|
|
|
+ cardDatas = cardDatas.Where(a => !wearCardIds.Contains(a.id)).ToList();
|
|
if (cardDatas.Count == 0) return 0;
|
|
if (cardDatas.Count == 0) return 0;
|
|
|
|
+ wearCardIds.Add(cardDatas[0].itemCfg.id);
|
|
return cardDatas[0].itemCfg.id;
|
|
return cardDatas[0].itemCfg.id;
|
|
}
|
|
}
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 获取推荐列表
|
|
/// 获取推荐列表
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -168,12 +191,14 @@ namespace GFGGame
|
|
max = Math.Min(max, dressList.Count);
|
|
max = Math.Min(max, dressList.Count);
|
|
if (DressUpMenuItemCfg1Array.Instance.CheckIsOrnamentsTypeBySubType(subType))
|
|
if (DressUpMenuItemCfg1Array.Instance.CheckIsOrnamentsTypeBySubType(subType))
|
|
{
|
|
{
|
|
- key = ConstDressUpItemType.TE_SHU;//饰品全放在一个列表里
|
|
|
|
|
|
+ key = ConstDressUpItemType.TE_SHU; //饰品全放在一个列表里
|
|
}
|
|
}
|
|
|
|
+
|
|
if (!itemListDic.ContainsKey(key))
|
|
if (!itemListDic.ContainsKey(key))
|
|
{
|
|
{
|
|
itemListDic[key] = new List<int>();
|
|
itemListDic[key] = new List<int>();
|
|
}
|
|
}
|
|
|
|
+
|
|
itemListDic[key].AddRange(dressList.GetRange(0, max));
|
|
itemListDic[key].AddRange(dressList.GetRange(0, max));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -182,10 +207,22 @@ namespace GFGGame
|
|
bool isHasXZ = itemListDic.ContainsKey(ConstDressUpItemType.XIA_ZHUANG);
|
|
bool isHasXZ = itemListDic.ContainsKey(ConstDressUpItemType.XIA_ZHUANG);
|
|
bool isHasND = itemListDic.ContainsKey(ConstDressUpItemType.NEI_DA);
|
|
bool isHasND = itemListDic.ContainsKey(ConstDressUpItemType.NEI_DA);
|
|
|
|
|
|
- int countTagLYQ = isHasLYQ && ItemDataManager.CheckItemTagsRight(itemListDic[ConstDressUpItemType.LIAN_YI_QUN][0], tags) ? 1 : 0;
|
|
|
|
- int countTagSY = isHasSY && ItemDataManager.CheckItemTagsRight(itemListDic[ConstDressUpItemType.SHANG_YI][0], tags) ? 1 : 0;
|
|
|
|
- int countTagXZ = isHasXZ && ItemDataManager.CheckItemTagsRight(itemListDic[ConstDressUpItemType.XIA_ZHUANG][0], tags) ? 1 : 0;
|
|
|
|
- int countTagND = isHasND && ItemDataManager.CheckItemTagsRight(itemListDic[ConstDressUpItemType.NEI_DA][0], tags) ? 1 : 0;
|
|
|
|
|
|
+ int countTagLYQ =
|
|
|
|
+ isHasLYQ && ItemDataManager.CheckItemTagsRight(itemListDic[ConstDressUpItemType.LIAN_YI_QUN][0], tags)
|
|
|
|
+ ? 1
|
|
|
|
+ : 0;
|
|
|
|
+ int countTagSY =
|
|
|
|
+ isHasSY && ItemDataManager.CheckItemTagsRight(itemListDic[ConstDressUpItemType.SHANG_YI][0], tags)
|
|
|
|
+ ? 1
|
|
|
|
+ : 0;
|
|
|
|
+ int countTagXZ =
|
|
|
|
+ isHasXZ && ItemDataManager.CheckItemTagsRight(itemListDic[ConstDressUpItemType.XIA_ZHUANG][0], tags)
|
|
|
|
+ ? 1
|
|
|
|
+ : 0;
|
|
|
|
+ int countTagND =
|
|
|
|
+ isHasND && ItemDataManager.CheckItemTagsRight(itemListDic[ConstDressUpItemType.NEI_DA][0], tags)
|
|
|
|
+ ? 1
|
|
|
|
+ : 0;
|
|
|
|
|
|
if (countTagLYQ > countTagSY + countTagXZ + countTagND)
|
|
if (countTagLYQ > countTagSY + countTagXZ + countTagND)
|
|
{
|
|
{
|
|
@@ -199,10 +236,22 @@ namespace GFGGame
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- int scoreLYQ = !isHasLYQ ? 0 : ItemDataManager.GetItemAdditionScore(itemListDic[ConstDressUpItemType.LIAN_YI_QUN][0], scoreType, tags);
|
|
|
|
- int scoreSY = !isHasSY ? 0 : ItemDataManager.GetItemAdditionScore(itemListDic[ConstDressUpItemType.SHANG_YI][0], scoreType, tags);
|
|
|
|
- int scoreXZ = !isHasXZ ? 0 : ItemDataManager.GetItemAdditionScore(itemListDic[ConstDressUpItemType.XIA_ZHUANG][0], scoreType, tags);
|
|
|
|
- int scoreND = !isHasND ? 0 : ItemDataManager.GetItemAdditionScore(itemListDic[ConstDressUpItemType.NEI_DA][0], scoreType, tags);
|
|
|
|
|
|
+ int scoreLYQ = !isHasLYQ
|
|
|
|
+ ? 0
|
|
|
|
+ : ItemDataManager.GetItemAdditionScore(itemListDic[ConstDressUpItemType.LIAN_YI_QUN][0], scoreType,
|
|
|
|
+ tags);
|
|
|
|
+ int scoreSY = !isHasSY
|
|
|
|
+ ? 0
|
|
|
|
+ : ItemDataManager.GetItemAdditionScore(itemListDic[ConstDressUpItemType.SHANG_YI][0], scoreType,
|
|
|
|
+ tags);
|
|
|
|
+ int scoreXZ = !isHasXZ
|
|
|
|
+ ? 0
|
|
|
|
+ : ItemDataManager.GetItemAdditionScore(itemListDic[ConstDressUpItemType.XIA_ZHUANG][0], scoreType,
|
|
|
|
+ tags);
|
|
|
|
+ int scoreND = !isHasND
|
|
|
|
+ ? 0
|
|
|
|
+ : ItemDataManager.GetItemAdditionScore(itemListDic[ConstDressUpItemType.NEI_DA][0], scoreType,
|
|
|
|
+ tags);
|
|
if (scoreLYQ > scoreSY + scoreXZ + scoreND)
|
|
if (scoreLYQ > scoreSY + scoreXZ + scoreND)
|
|
{
|
|
{
|
|
itemListDic.Remove(ConstDressUpItemType.SHANG_YI);
|
|
itemListDic.Remove(ConstDressUpItemType.SHANG_YI);
|
|
@@ -213,8 +262,8 @@ namespace GFGGame
|
|
{
|
|
{
|
|
itemListDic.Remove(ConstDressUpItemType.LIAN_YI_QUN);
|
|
itemListDic.Remove(ConstDressUpItemType.LIAN_YI_QUN);
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
List<int> itemList = new List<int>();
|
|
List<int> itemList = new List<int>();
|
|
foreach (int subType in itemListDic.Keys)
|
|
foreach (int subType in itemListDic.Keys)
|
|
{
|
|
{
|
|
@@ -229,8 +278,10 @@ namespace GFGGame
|
|
itemList.AddRange(itemListDic[subType]);
|
|
itemList.AddRange(itemListDic[subType]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
return itemList;
|
|
return itemList;
|
|
}
|
|
}
|
|
|
|
+
|
|
private List<int> SortDressList(List<int> dressList, int scoreType, string[] tags)
|
|
private List<int> SortDressList(List<int> dressList, int scoreType, string[] tags)
|
|
{
|
|
{
|
|
dressList.Sort((int a, int b) =>
|
|
dressList.Sort((int a, int b) =>
|
|
@@ -268,12 +319,13 @@ namespace GFGGame
|
|
{
|
|
{
|
|
count += 3;
|
|
count += 3;
|
|
}
|
|
}
|
|
|
|
+
|
|
{
|
|
{
|
|
count++;
|
|
count++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
return count;
|
|
return count;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -292,6 +344,7 @@ namespace GFGGame
|
|
fightData.skillLvs = SkillDataManager.Instance.GetCardSkillLvs(fightData.cardId);
|
|
fightData.skillLvs = SkillDataManager.Instance.GetCardSkillLvs(fightData.cardId);
|
|
FightDataManager.Instance.SetItemScoreList(fightData);
|
|
FightDataManager.Instance.SetItemScoreList(fightData);
|
|
}
|
|
}
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 获取三套服装总战力
|
|
/// 获取三套服装总战力
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -307,8 +360,10 @@ namespace GFGGame
|
|
{
|
|
{
|
|
fightScore += fightScores[i];
|
|
fightScore += fightScores[i];
|
|
}
|
|
}
|
|
|
|
+
|
|
return fightScore;
|
|
return fightScore;
|
|
}
|
|
}
|
|
|
|
+
|
|
public long GetAllFightScore(List<FightData> roleDatas)
|
|
public long GetAllFightScore(List<FightData> roleDatas)
|
|
{
|
|
{
|
|
long fightScore = 0;
|
|
long fightScore = 0;
|
|
@@ -317,8 +372,10 @@ namespace GFGGame
|
|
{
|
|
{
|
|
fightScore += fightScoreDatas[i];
|
|
fightScore += fightScoreDatas[i];
|
|
}
|
|
}
|
|
|
|
+
|
|
return fightScore;
|
|
return fightScore;
|
|
}
|
|
}
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// index=0:搭配战力
|
|
/// index=0:搭配战力
|
|
/// index=1:卓越点击战力
|
|
/// index=1:卓越点击战力
|
|
@@ -341,16 +398,21 @@ namespace GFGGame
|
|
long itemsScore = GetItemScoreSum(fightDatas[i].itemScoreList);
|
|
long itemsScore = GetItemScoreSum(fightDatas[i].itemScoreList);
|
|
itemSum += itemsScore;
|
|
itemSum += itemsScore;
|
|
clickScore += GetPerfectClickScore(fightDatas[i]);
|
|
clickScore += GetPerfectClickScore(fightDatas[i]);
|
|
- skillScore += FightDataManager.Instance.GetSkillFightScore(itemsScore, fightDatas[i].baseScore, fightDatas[i].leagueSkillScore, fightDatas[i].cardId, fightDatas[i].cardScore, fightDatas[i].skillLvs);
|
|
|
|
|
|
+ skillScore += FightDataManager.Instance.GetSkillFightScore(itemsScore, fightDatas[i].baseScore,
|
|
|
|
+ fightDatas[i].leagueSkillScore, fightDatas[i].cardId, fightDatas[i].cardScore,
|
|
|
|
+ fightDatas[i].skillLvs);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
long itemsScore = GetItemScoreSum(fightDatas[i].itemScoreList);
|
|
long itemsScore = GetItemScoreSum(fightDatas[i].itemScoreList);
|
|
itemSum += itemsScore;
|
|
itemSum += itemsScore;
|
|
clickScore += GetRobotPerfectClickScore(fightDatas[i]);
|
|
clickScore += GetRobotPerfectClickScore(fightDatas[i]);
|
|
- skillScore += FightDataManager.Instance.GetSkillFightScore(itemsScore, fightDatas[i].baseScore, fightDatas[i].leagueSkillScore, fightDatas[i].cardId, fightDatas[i].cardScore, fightDatas[i].skillLvs);
|
|
|
|
|
|
+ skillScore += FightDataManager.Instance.GetSkillFightScore(itemsScore, fightDatas[i].baseScore,
|
|
|
|
+ fightDatas[i].leagueSkillScore, fightDatas[i].cardId, fightDatas[i].cardScore,
|
|
|
|
+ fightDatas[i].skillLvs);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
clickScore = clickScore / ConstScoreSystem.PART_SCORE;
|
|
clickScore = clickScore / ConstScoreSystem.PART_SCORE;
|
|
fightScoreDatas.Add(itemSum);
|
|
fightScoreDatas.Add(itemSum);
|
|
fightScoreDatas.Add((long)Math.Ceiling(clickScore));
|
|
fightScoreDatas.Add((long)Math.Ceiling(clickScore));
|
|
@@ -369,9 +431,10 @@ namespace GFGGame
|
|
{
|
|
{
|
|
scoreSum += (long)itemScoreList[i];
|
|
scoreSum += (long)itemScoreList[i];
|
|
}
|
|
}
|
|
- return scoreSum;
|
|
|
|
|
|
|
|
|
|
+ return scoreSum;
|
|
}
|
|
}
|
|
|
|
+
|
|
//玩家卓越点击战力
|
|
//玩家卓越点击战力
|
|
private long GetPerfectClickScore(FightData roleData)
|
|
private long GetPerfectClickScore(FightData roleData)
|
|
{
|
|
{
|
|
@@ -379,11 +442,15 @@ namespace GFGGame
|
|
foreach (int key in roleData.pardScoreListDic.Keys)
|
|
foreach (int key in roleData.pardScoreListDic.Keys)
|
|
{
|
|
{
|
|
double partBaseScore = ScoreSystemData.Instance.GetPartBaseScore(roleData, key);
|
|
double partBaseScore = ScoreSystemData.Instance.GetPartBaseScore(roleData, key);
|
|
- double score = (partBaseScore + (roleData.baseScore + roleData.leagueSkillScore + roleData.cardScore) * ConstScoreSystem.PERFECT_SCORE) * ConstScoreSystem.CLICK_SCORE;
|
|
|
|
|
|
+ double score =
|
|
|
|
+ (partBaseScore + (roleData.baseScore + roleData.leagueSkillScore + roleData.cardScore) *
|
|
|
|
+ ConstScoreSystem.PERFECT_SCORE) * ConstScoreSystem.CLICK_SCORE;
|
|
clickScore += score;
|
|
clickScore += score;
|
|
}
|
|
}
|
|
|
|
+
|
|
return (long)Math.Ceiling(clickScore);
|
|
return (long)Math.Ceiling(clickScore);
|
|
}
|
|
}
|
|
|
|
+
|
|
//机器人卓越点击战力
|
|
//机器人卓越点击战力
|
|
private long GetRobotPerfectClickScore(FightData robotData)
|
|
private long GetRobotPerfectClickScore(FightData robotData)
|
|
{
|
|
{
|
|
@@ -391,8 +458,10 @@ namespace GFGGame
|
|
FightScoreCfg[] scoreCfg = FightScoreCfgArray.Instance.dataArray;
|
|
FightScoreCfg[] scoreCfg = FightScoreCfgArray.Instance.dataArray;
|
|
for (int i = 0; i < scoreCfg.Length; i++)
|
|
for (int i = 0; i < scoreCfg.Length; i++)
|
|
{
|
|
{
|
|
- clickScore += (long)ScoreSystemData.Instance.GetRobotPartScore(robotData, i + 1, ClickType.PREFACT_CLICK, 0);
|
|
|
|
|
|
+ clickScore +=
|
|
|
|
+ (long)ScoreSystemData.Instance.GetRobotPartScore(robotData, i + 1, ClickType.PREFACT_CLICK, 0);
|
|
}
|
|
}
|
|
|
|
+
|
|
return clickScore;
|
|
return clickScore;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -403,6 +472,7 @@ namespace GFGGame
|
|
RemoveCheckSeasonOpenTimer();
|
|
RemoveCheckSeasonOpenTimer();
|
|
Timers.inst.Add(1, 0, OnTimeUpdate);
|
|
Timers.inst.Add(1, 0, OnTimeUpdate);
|
|
}
|
|
}
|
|
|
|
+
|
|
private void OnTimeUpdate(object param)
|
|
private void OnTimeUpdate(object param)
|
|
{
|
|
{
|
|
if (!IsSeasonOpen) return;
|
|
if (!IsSeasonOpen) return;
|
|
@@ -410,8 +480,10 @@ namespace GFGGame
|
|
{
|
|
{
|
|
ReqArenaInfo();
|
|
ReqArenaInfo();
|
|
}
|
|
}
|
|
|
|
+
|
|
RemoveCheckSeasonOpenTimer();
|
|
RemoveCheckSeasonOpenTimer();
|
|
}
|
|
}
|
|
|
|
+
|
|
public async void ReqArenaInfo()
|
|
public async void ReqArenaInfo()
|
|
{
|
|
{
|
|
if (FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(ArenaView).Name, false))
|
|
if (FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(ArenaView).Name, false))
|
|
@@ -425,9 +497,11 @@ namespace GFGGame
|
|
ArenaSproxy.ReqArenaFightAttr(targetData.RoleInfo.roleId, targetData.FightDatas).Coroutine();
|
|
ArenaSproxy.ReqArenaFightAttr(targetData.RoleInfo.roleId, targetData.FightDatas).Coroutine();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
ArenaSproxy.ReqArenaHistory().Coroutine();
|
|
ArenaSproxy.ReqArenaHistory().Coroutine();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
private void RemoveCheckSeasonOpenTimer()
|
|
private void RemoveCheckSeasonOpenTimer()
|
|
{
|
|
{
|
|
Timers.inst.Remove(OnTimeUpdate);
|
|
Timers.inst.Remove(OnTimeUpdate);
|