PhotographSceneManager.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using UnityEngine;
  2. namespace GFGGame
  3. {
  4. public class PhotographSceneManager : SingletonBase<PhotographSceneManager>
  5. {
  6. public GameObject sceneObject;
  7. public void AddBgItem(ItemCfg itemCfg)
  8. {
  9. Transform tf = sceneObject.transform.Find("Bg/BgRes");
  10. string resPath = ResPathUtil.GetDressUpPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType));
  11. SceneController.SetSpriteRendererToTransform(tf, resPath);
  12. SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
  13. spr.sortingOrder = ItemTypeCfgArray.Instance.GetCfg(ConstDressUpItemType.BEI_JING).defaultLayer;
  14. SceneController.SetBoxCollider2DToGameObject(tf.gameObject);
  15. }
  16. public void AddBorderItem(ItemCfg itemCfg)
  17. {
  18. Transform tf = sceneObject.transform.Find("Border/BorderRes");
  19. SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
  20. if (spr != null)
  21. {
  22. GameObject.Destroy(spr);
  23. }
  24. string resPath = ResPathUtil.GetPhotographFPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType));
  25. SceneController.SetSpriteRendererToTransform(tf, resPath);
  26. spr = tf.GetComponent<SpriteRenderer>();
  27. spr.sortingOrder = 10000;//边框在所有道具的上边
  28. }
  29. public void AddSceneItem(ItemCfg itemCfg, int layer, bool setLayer)
  30. {
  31. GameObject parentGameObj = new GameObject(string.Format("{0}_{1}", itemCfg.id, 0));
  32. SceneController.AddItemToScene(sceneObject, parentGameObj, itemCfg.id, 1, layer);
  33. PhotographDataManager.Instance.AddItemGameObject(parentGameObj, setLayer);
  34. }
  35. public void AddNpcItem(ItemCfg itemCfg)
  36. {
  37. Transform tf = sceneObject.transform.Find("Scene/Npc/NpcRes");
  38. string resPath = ResPathUtil.GetNpcPicFPath(itemCfg.res);
  39. SceneController.SetSpriteRendererToTransform(tf, resPath);
  40. SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
  41. tf.localPosition = new Vector2(-spr.bounds.center.x, -spr.bounds.center.y);
  42. SceneController.SetBoxCollider2DToGameObject(tf.gameObject);
  43. PhotographDataManager.Instance.AddItemGameObject(tf.parent.gameObject, true);
  44. }
  45. public void AddBodyItem()
  46. {
  47. GameObject bodyParent = sceneObject.transform.Find("Scene/Role").gameObject;
  48. SceneController.UpdatePhotographBody(PhotographDataManager.Instance._equipRoleData.ToArray(), sceneObject, bodyParent);
  49. PhotographDataManager.Instance.AddItemGameObject(bodyParent, false);
  50. }
  51. }
  52. }