123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using ET;
- using FairyGUI;
- using UI.DressUp;
- using UnityEngine;
- namespace GFGGame
- {
- public enum EnumPhotographType
- {
- BG,
- NPC,
- SCENE,
- BORDER,
- EFFECT
- }
- public class PhotographDataManager : SingletonBase<PhotographDataManager>
- {
- public List<GameObject> itemGameObjs = new List<GameObject>();
- public const int layerCount = 600;
- public DressUpObj dressUpObj;//当前穿戴的角色数据
- public Dictionary<int, List<int>> _equipSceneData = new Dictionary<int, List<int>>();//当前穿戴的场景数据
- public List<int> listBgData = new List<int>();
- public List<int> listNpcData = new List<int>();
- public List<int> listSceneData = new List<int>();
- public List<int> listBorderData = new List<int>();
- public List<int> listEffectData = new List<int>();
- public void Clear()
- {
- listBgData.Clear();
- listNpcData.Clear();
- listSceneData.Clear();
- listBorderData.Clear();
- listEffectData.Clear();
- }
- public void Add(ItemInfoProto itemInfoProto)
- {
- //游戏初始化禁止使用ItemCfg
- var itemID = itemInfoProto.ConfigId;
- if (itemInfoProto.Type == ConstItemType.DRESS_UP)
- {
- if (itemInfoProto.SubType == ConstDressUpItemType.BEI_JING)
- {
- if (listBgData.IndexOf(itemID) < 0) listBgData.Add(itemID);
- }
- else if (DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemInfoProto, false))
- {
- if (listSceneData.IndexOf(itemID) < 0) listSceneData.Add(itemID);
- }
- }
- else if (itemInfoProto.Type == ConstItemType.PHOTOGRAPH)
- {
- if (itemInfoProto.SubType == ConstItemSubType.PHOTOGRAPH_NPC)
- {
- if (listNpcData.IndexOf(itemID) < 0) listNpcData.Add(itemID);
- }
- else if (itemInfoProto.SubType == ConstItemSubType.PHOTOGRAPH_BOREDR)
- {
- if (listBorderData.IndexOf(ConstItemID.BORDERID) < 0) listBorderData.Insert(0, ConstItemID.BORDERID);
- if (listBorderData.IndexOf(itemID) < 0) listBorderData.Add(itemID);
- }
- else if (itemInfoProto.SubType == ConstItemSubType.PHOTOGRAPH_EFFECT)
- {
- if (listEffectData.IndexOf(ConstItemID.EFFECTID) < 0) listEffectData.Insert(0, ConstItemID.EFFECTID);
- if (listEffectData.IndexOf(itemID) < 0) listEffectData.Add(itemID);
- }
- }
- }
- //将穿戴数据分类
- public void ClassifyEquipData()
- {
- dressUpObj?.Dispose();
- dressUpObj = new DressUpObj();
- _equipSceneData.Clear();
- for (int i = 0; i < MyDressUpHelper.dressUpObj.itemList.Count; i++)
- {
- int itemId = MyDressUpHelper.dressUpObj.itemList[i];
- if (DressUpMenuItemCfg1Array.Instance.CheckIsSceneType(itemId, false))
- {
- if (!_equipSceneData.ContainsKey(itemId))
- {
- _equipSceneData.Add(itemId, new List<int>());
- }
- _equipSceneData[itemId].Add(itemId);
- }
- }
- }
- public List<int> GetListData(EnumPhotographType type)
- {
- switch (type)
- {
- case EnumPhotographType.BG:
- return listBgData;
- case EnumPhotographType.NPC:
- return listNpcData;
- case EnumPhotographType.SCENE:
- return listSceneData;
- case EnumPhotographType.BORDER:
- return listBorderData;
- case EnumPhotographType.EFFECT:
- return listEffectData;
- default:
- return new List<int>();
- }
- }
- }
- }
|