| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | 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 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>();            }        }    }}
 |