PhotographSceneManager.cs 2.9 KB

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