|
@@ -19,10 +19,17 @@ namespace GFGGame
|
|
|
//人物位置信息
|
|
|
public TransformData roleTransFormData = new TransformData();
|
|
|
public GameObject roleGameobj;
|
|
|
+ public int roleID = -1;
|
|
|
//*********************搭配数据*********************************
|
|
|
//需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
|
|
|
public DressUpData MathingDressDate = DressUpData.CreateDefault();
|
|
|
public int DressUpBgID = 0;
|
|
|
+ //*****这两个id放列表的最后面
|
|
|
+ //边框id
|
|
|
+ public int BorderID = 0;
|
|
|
+ //NpcId
|
|
|
+ public int NpcID = 0;
|
|
|
+ //*************=**************
|
|
|
//道具数据,一一对应
|
|
|
//场景名字,自己搭配的数据
|
|
|
public List<string> DressPropNameList = new List<string>();
|
|
@@ -30,55 +37,139 @@ namespace GFGGame
|
|
|
public List<int> DressPropIdList = new List<int>();
|
|
|
//道具位置信息
|
|
|
public List<TransformData> TransformDataList = new List<TransformData>();
|
|
|
-
|
|
|
public List<GameObject> itemGameObjs = new List<GameObject>();
|
|
|
- public List<int> _equipSceneData = new List<int>();//当前穿戴的场景数据(从套装获得)
|
|
|
+
|
|
|
+ //所有信息的列表,用于前后端交互
|
|
|
+ public List<CollocationInfo> AllDressIDInfoList = new List<CollocationInfo>();
|
|
|
+ //public List<int> _equipSceneData = new List<int>();//当前穿戴的场景数据(从套装获得)
|
|
|
//***************************************************************
|
|
|
|
|
|
public int MatchingCompetitionSeason = 1;
|
|
|
+ public int MatchingState = 1;
|
|
|
+ public long MatchingEndTimes = 0;
|
|
|
+ public long WorksID = 0;
|
|
|
+ public string TempPictureUrl = "";
|
|
|
public int MatchingRemainingTimes = 1;
|
|
|
//本期排行榜数据
|
|
|
- public List<MatchingPlayerData> _currentRankList = new List<MatchingPlayerData>() { new MatchingPlayerData()};
|
|
|
+ public List<MatchingPhotoWorksData> _currentRankList = new List<MatchingPhotoWorksData>();
|
|
|
+ //往期作品集
|
|
|
+ public List<MatchingWorksData> _BeforeWorksList = new List<MatchingWorksData>();
|
|
|
//往期排行榜数据
|
|
|
- public Dictionary<int, MatchingPlayerData> _beforeRankDic = new Dictionary<int, MatchingPlayerData>();
|
|
|
+ public List<MatchingPhotoWorksData> _BeforeRankList = new List<MatchingPhotoWorksData>();
|
|
|
|
|
|
//根据时间判断:1:集结期 2:评选期 3;结算期
|
|
|
- public int CheckCompetitionState()
|
|
|
+ //public int CheckCompetitionState()
|
|
|
+ //{
|
|
|
+ // long currentTime = TimeHelper.ServerNow();
|
|
|
+ // DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(currentTime).DateTime;
|
|
|
+ // // 获取星期几
|
|
|
+ // DayOfWeek dayOfWeek = dateTime.DayOfWeek;
|
|
|
+ // int week = (int)dayOfWeek;
|
|
|
+ // int hour = dateTime.Hour;
|
|
|
+ // if(week == 0)
|
|
|
+ // {
|
|
|
+ // if(hour >= 21)
|
|
|
+ // {
|
|
|
+ // return 3;
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // return 2;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // if(week <= 3 && week >= 1)
|
|
|
+ // {
|
|
|
+ // if(week == 3 && hour >= 5)
|
|
|
+ // {
|
|
|
+ // return 2;
|
|
|
+ // }
|
|
|
+ // if(week == 1 && hour < 5)
|
|
|
+ // {
|
|
|
+ // return 3;
|
|
|
+ // }
|
|
|
+ // return 1;
|
|
|
+ // }
|
|
|
+ // else if(week > 3 && week <= 6)
|
|
|
+ // {
|
|
|
+ // return 2;
|
|
|
+ // }
|
|
|
+ // return -1;
|
|
|
+ //}
|
|
|
+
|
|
|
+ public void ConvertInfoToList()
|
|
|
{
|
|
|
- long currentTime = TimeHelper.ServerNow();
|
|
|
- DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(currentTime).DateTime;
|
|
|
- // 获取星期几
|
|
|
- DayOfWeek dayOfWeek = dateTime.DayOfWeek;
|
|
|
- int week = (int)dayOfWeek;
|
|
|
- int hour = dateTime.Hour;
|
|
|
- if(week == 0)
|
|
|
+ //将所有需要存储的信息转换成list
|
|
|
+ AllDressIDInfoList.Clear();
|
|
|
+ foreach(var item in MathingDressDate.itemList)
|
|
|
{
|
|
|
- if(hour >= 21)
|
|
|
- {
|
|
|
- return 3;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- return 2;
|
|
|
- }
|
|
|
+ CollocationInfo itemInfo = new CollocationInfo();
|
|
|
+ itemInfo.ItemId = item;
|
|
|
+ itemInfo.ClientPosition = "";
|
|
|
+ AllDressIDInfoList.Add(itemInfo);
|
|
|
+ }
|
|
|
+ for(int i = 0;i< DressPropIdList.Count;i++)
|
|
|
+ {
|
|
|
+ CollocationInfo itemInfo = new CollocationInfo();
|
|
|
+ itemInfo.ItemId = DressPropIdList[i];
|
|
|
+ string transStr = TransformDataList[i].position.x.ToString() + TransformDataList[i].position.y.ToString() + TransformDataList[i].position.z.ToString()
|
|
|
+ + TransformDataList[i].rotationZ.ToString()
|
|
|
+ + TransformDataList[i].scale.x.ToString()+ TransformDataList[i].scale.y.ToString() + TransformDataList[i].scale.z.ToString();
|
|
|
+ itemInfo.ClientPosition = transStr;
|
|
|
+ AllDressIDInfoList.Add(itemInfo);
|
|
|
}
|
|
|
- if(week <= 3 && week >= 1)
|
|
|
+ }
|
|
|
+ //解析后台获取的信息
|
|
|
+ public void AnalysisInfoToList()
|
|
|
+ {
|
|
|
+ List<int> dressitemIDList = new List<int>();
|
|
|
+ List<int> propIDList = new List<int>();
|
|
|
+ List<TransformData> transDataList = new List<TransformData>();
|
|
|
+ for (int i = 0; i < AllDressIDInfoList.Count; i++)
|
|
|
{
|
|
|
- if(week == 3 && hour >= 5)
|
|
|
+ if(AllDressIDInfoList[i].ItemId == roleID)
|
|
|
{
|
|
|
- return 2;
|
|
|
+ propIDList.Add(AllDressIDInfoList[i].ItemId);
|
|
|
}
|
|
|
- if(week == 1 && hour < 5)
|
|
|
+ else
|
|
|
{
|
|
|
- return 3;
|
|
|
+ ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(AllDressIDInfoList[i].ItemId);
|
|
|
+ if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
|
|
|
+ {
|
|
|
+ if(itemCfg.subType == 9 || itemCfg.subType == 10 || itemCfg.subType == 11|| itemCfg.subType == 12)
|
|
|
+ {
|
|
|
+ //记录道具和位置信息
|
|
|
+ propIDList.Add(AllDressIDInfoList[i].ItemId);
|
|
|
+ transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ dressitemIDList.Add(AllDressIDInfoList[i].ItemId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (itemCfg.itemType == ConstItemType.PHOTOGRAPH)
|
|
|
+ {
|
|
|
+ //记录道具和位置信息
|
|
|
+ propIDList.Add(AllDressIDInfoList[i].ItemId);
|
|
|
+ transDataList.Add(AnalysisStringToTransform(AllDressIDInfoList[i].ClientPosition));
|
|
|
+ }
|
|
|
}
|
|
|
- return 1;
|
|
|
}
|
|
|
- else if(week > 3 && week <= 6)
|
|
|
- {
|
|
|
- return 2;
|
|
|
- }
|
|
|
- return -1;
|
|
|
+ MathingDressDate.itemList = dressitemIDList;
|
|
|
+ DressPropIdList = propIDList;
|
|
|
+ TransformDataList = transDataList;
|
|
|
+ }
|
|
|
+ public TransformData AnalysisStringToTransform(string strTrans)
|
|
|
+ {
|
|
|
+ TransformData transData = new TransformData();
|
|
|
+ string[] parts = Regex.Split(strTrans, "_");
|
|
|
+ transData.position.x = float.Parse(parts[0]);
|
|
|
+ transData.position.y = float.Parse(parts[1]);
|
|
|
+ transData.position.z = float.Parse(parts[2]);
|
|
|
+ transData.rotationZ = float.Parse(parts[3]);
|
|
|
+ transData.scale.x = float.Parse(parts[4]);
|
|
|
+ transData.scale.y = float.Parse(parts[5]);
|
|
|
+ transData.scale.z = float.Parse(parts[6]);
|
|
|
+ return transData;
|
|
|
}
|
|
|
//存储道具信息
|
|
|
public void SetTransformData()
|
|
@@ -113,56 +204,85 @@ namespace GFGGame
|
|
|
public void SetNameToIdList()
|
|
|
{
|
|
|
DressPropIdList.Clear();
|
|
|
- int flog_id = 0;
|
|
|
+ int flog_prefix = 0;
|
|
|
+ int flog_suffix = 0;
|
|
|
for (int i = 0; i < DressPropNameList.Count; i++)
|
|
|
{
|
|
|
bool containsUnderscore = Regex.IsMatch(DressPropNameList[i], "_");
|
|
|
if(!containsUnderscore)
|
|
|
{
|
|
|
- indexRoleData = i;
|
|
|
+ if (DressPropNameList[i] == "Role")
|
|
|
+ {
|
|
|
+ DressPropIdList.Add(roleID);
|
|
|
+ }
|
|
|
+ else if (DressPropNameList[i] == "Border")
|
|
|
+ {
|
|
|
+ if (BorderID != 0)
|
|
|
+ {
|
|
|
+ DressPropIdList.Add(BorderID);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (DressPropNameList[i] == "Npc")
|
|
|
+ {
|
|
|
+ if (NpcID != 0)
|
|
|
+ {
|
|
|
+ DressPropIdList.Add(NpcID);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
// 使用正则表达式分割字符串
|
|
|
string[] parts = Regex.Split(DressPropNameList[i], "_");
|
|
|
int partID = int.Parse(parts[0]);
|
|
|
- if(flog_id == 3 && int.Parse(parts[1]) == 1)
|
|
|
+ if(flog_prefix == int.Parse(parts[0]))
|
|
|
{
|
|
|
+ if((flog_suffix == 3 && int.Parse(parts[1]) == 1)|| (flog_suffix == 1 && int.Parse(parts[1]) == 3))
|
|
|
+ flog_prefix = 0;
|
|
|
+ flog_suffix = 0;
|
|
|
continue;
|
|
|
}
|
|
|
- flog_id = int.Parse(parts[1]);
|
|
|
+ flog_prefix = int.Parse(parts[0]);
|
|
|
+ flog_suffix = int.Parse(parts[1]);
|
|
|
DressPropIdList.Add(partID);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//将穿戴数据分类
|
|
|
- public void ClassifyEquipData()
|
|
|
+ //public void ClassifyEquipData()
|
|
|
+ //{
|
|
|
+ // _equipSceneData.Clear();
|
|
|
+ // PhotographDataManager.Instance.dressUpObj = new DressUpObj();
|
|
|
+ // //for (int i = 0; i < MathingDressDate.itemList.Count; i++)
|
|
|
+ // //{
|
|
|
+ // // int itemId = MathingDressDate.itemList[i];
|
|
|
+ // // if (DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId, false))
|
|
|
+ // // {
|
|
|
+ // // if (!_equipSceneData.ContainsKey(itemId))
|
|
|
+ // // {
|
|
|
+ // // _equipSceneData.Add(itemId, new List<int>());
|
|
|
+ // // }
|
|
|
+ // // _equipSceneData[itemId].Add(itemId);
|
|
|
+ // // }
|
|
|
+ // //}
|
|
|
+ // for(int i =0;i<DressPropIdList.Count;i++)
|
|
|
+ // {
|
|
|
+ // int itemId = DressPropIdList[i];
|
|
|
+ // if (DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId, false))
|
|
|
+ // {
|
|
|
+ // _equipSceneData.Add(itemId);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ public void InsertGameObjectList()
|
|
|
{
|
|
|
- _equipSceneData.Clear();
|
|
|
- PhotographDataManager.Instance.dressUpObj = new DressUpObj();
|
|
|
- //for (int i = 0; i < MathingDressDate.itemList.Count; i++)
|
|
|
- //{
|
|
|
- // int itemId = MathingDressDate.itemList[i];
|
|
|
- // if (DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId, false))
|
|
|
- // {
|
|
|
- // if (!_equipSceneData.ContainsKey(itemId))
|
|
|
- // {
|
|
|
- // _equipSceneData.Add(itemId, new List<int>());
|
|
|
- // }
|
|
|
- // _equipSceneData[itemId].Add(itemId);
|
|
|
- // }
|
|
|
- //}
|
|
|
- for(int i =0;i<DressPropIdList.Count;i++)
|
|
|
+ for(int i=0;i< DressPropIdList.Count;i++)
|
|
|
{
|
|
|
- int itemId = DressPropIdList[i];
|
|
|
- if (DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId, false))
|
|
|
+ if (DressPropIdList[i] == roleID)
|
|
|
{
|
|
|
- _equipSceneData.Add(itemId);
|
|
|
+ indexRoleData = i;
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- public void InsertGameObjectList()
|
|
|
- {
|
|
|
if(itemGameObjs.Count ==0)
|
|
|
{
|
|
|
itemGameObjs.Add(roleGameobj);
|
|
@@ -264,26 +384,98 @@ namespace GFGGame
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- class OtherMatchingCompetitionDataManager : SingletonBase<OtherMatchingCompetitionDataManager>
|
|
|
+ class MatchingOneDataManager : SingletonBase<MatchingOneDataManager>
|
|
|
{
|
|
|
//其他玩家信息用于展示
|
|
|
+ public MatchingPhotoWorksData OneRoleInfo = new MatchingPhotoWorksData();
|
|
|
//人物位置信息
|
|
|
public TransformData roleTransFormData = new TransformData();
|
|
|
public GameObject roleGameobj;
|
|
|
+ public int roleID = -1;
|
|
|
//*********************搭配数据*********************************
|
|
|
//需要传输的数据:MathingDressDate,DressUpBgID,DressPropIdList,TransformDataList,
|
|
|
public DressUpData MathingDressDate = DressUpData.CreateDefault();
|
|
|
public int DressUpBgID = 0;
|
|
|
+ //*****这两个id放列表的最后面
|
|
|
+ //边框id
|
|
|
+ public int BorderID = 0;
|
|
|
+ //NpcId
|
|
|
+ public int NpcID = 0;
|
|
|
//道具数据,一一对应
|
|
|
- //场景名字,自己搭配的数据
|
|
|
- public List<string> DressPropNameList = new List<string>();
|
|
|
//道具id
|
|
|
public List<int> DressPropIdList = new List<int>();
|
|
|
//道具位置信息
|
|
|
public List<TransformData> TransformDataList = new List<TransformData>();
|
|
|
-
|
|
|
public List<GameObject> itemGameObjs = new List<GameObject>();
|
|
|
- public List<int> _equipSceneData = new List<int>();//当前穿戴的场景数据
|
|
|
//***************************************************************
|
|
|
+ //解析后台获取的信息
|
|
|
+ public void AnalysisInfoToList()
|
|
|
+ {
|
|
|
+ List<int> dressitemIDList = new List<int>();
|
|
|
+ List<int> propIDList = new List<int>();
|
|
|
+ List<TransformData> transDataList = new List<TransformData>();
|
|
|
+ for (int i = 0; i < OneRoleInfo.JudgingInfo.CollocationInfoList.Count; i++)
|
|
|
+ {
|
|
|
+ if (OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId == roleID)
|
|
|
+ {
|
|
|
+ propIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
|
|
|
+ if (itemCfg != null && itemCfg.itemType == ConstItemType.DRESS_UP)
|
|
|
+ {
|
|
|
+ if (itemCfg.subType == 9 || itemCfg.subType == 10 || itemCfg.subType == 11 || itemCfg.subType == 12)
|
|
|
+ {
|
|
|
+ //记录道具和位置信息
|
|
|
+ propIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
|
|
|
+ transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ dressitemIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (itemCfg.itemType == ConstItemType.PHOTOGRAPH)
|
|
|
+ {
|
|
|
+ //记录道具和位置信息
|
|
|
+ propIDList.Add(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ItemId);
|
|
|
+ transDataList.Add(MatchingCompetitionDataManager.Instance.AnalysisStringToTransform(OneRoleInfo.JudgingInfo.CollocationInfoList[i].ClientPosition));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ MathingDressDate.itemList = dressitemIDList;
|
|
|
+ MathingDressDate.actionId = OneRoleInfo.JudgingInfo.ActionId;
|
|
|
+ DressPropIdList = propIDList;
|
|
|
+ TransformDataList = transDataList;
|
|
|
+ DressUpBgID = OneRoleInfo.JudgingInfo.BagId;
|
|
|
+ }
|
|
|
+ public void InsertGameObjectList()
|
|
|
+ {
|
|
|
+ int indexRoleData = 0;
|
|
|
+ for (int i = 0; i < DressPropIdList.Count; i++)
|
|
|
+ {
|
|
|
+ if (DressPropIdList[i] == roleID)
|
|
|
+ {
|
|
|
+ indexRoleData = i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (itemGameObjs.Count == 0)
|
|
|
+ {
|
|
|
+ itemGameObjs.Add(roleGameobj);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ itemGameObjs.Insert(indexRoleData, roleGameobj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ class MatchingTwoDataManager : SingletonBase<MatchingTwoDataManager>
|
|
|
+ {
|
|
|
+ //其他玩家信息用于展示
|
|
|
+ public MatchingPhotoWorksData LeftRoleInfo = new MatchingPhotoWorksData();
|
|
|
+ //其他玩家信息用于展示
|
|
|
+ public MatchingPhotoWorksData RightRoleInfo = new MatchingPhotoWorksData();
|
|
|
}
|
|
|
}
|