PhotographDataManager.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3. namespace GFGGame
  4. {
  5. public enum EnumPhotographType
  6. {
  7. BG,
  8. NPC,
  9. SCENE,
  10. BORDER,
  11. EFFECT
  12. }
  13. public class PhotographDataManager : SingletonBase<PhotographDataManager>
  14. {
  15. public List<int> listBgData = new List<int>();
  16. public List<int> listNpcData = new List<int>();
  17. public List<int> listSceneData = new List<int>();
  18. public List<int> listBorderData = new List<int>();
  19. public List<int> listEffectData = new List<int>();
  20. public void Clear()
  21. {
  22. listBgData.Clear();
  23. listNpcData.Clear();
  24. listSceneData.Clear();
  25. listBorderData.Clear();
  26. listEffectData.Clear();
  27. }
  28. public void Add(int itemID)
  29. {
  30. ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
  31. if (itemCfg.itemType == ConstItemType.DRESS_UP)
  32. {
  33. if (itemCfg.subType == ConstDressUpItemType.BEI_JING)
  34. {
  35. if (listBgData.IndexOf(itemID) < 0) listBgData.Add(itemID);
  36. }
  37. else if (itemCfg.subType == ConstDressUpItemType.QIAN_JING || itemCfg.subType == ConstDressUpItemType.BEI_SHI || itemCfg.subType == ConstDressUpItemType.HUAN_JING)
  38. {
  39. if (listSceneData.IndexOf(itemID) < 0) listSceneData.Add(itemID);
  40. }
  41. }
  42. else if (itemCfg.itemType == ConstItemType.ITEM)
  43. {
  44. if (itemCfg.subType == ConstItemSubType.NPC)
  45. {
  46. if (listNpcData.IndexOf(itemID) < 0) listNpcData.Add(itemID);
  47. }
  48. else if (itemCfg.subType == ConstItemSubType.BOREDR)
  49. {
  50. if (listBorderData.IndexOf(itemID) < 0) listBorderData.Add(itemID);
  51. }
  52. else if (itemCfg.subType == ConstItemSubType.EFFECT)
  53. {
  54. if (listEffectData.IndexOf(itemID) < 0) listEffectData.Add(itemID);
  55. }
  56. }
  57. }
  58. //maxLayer:当前所有物件的最上层
  59. private int GetObjMaxSortingOrder(GameObject gameObject, int maxLayer)
  60. {
  61. SpriteRenderer spr = gameObject.GetComponent<SpriteRenderer>();
  62. return spr.sortingOrder > maxLayer ? spr.sortingOrder : maxLayer;
  63. }
  64. }
  65. }