PhotographSceneManager.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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 = -200;
  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. spr.sprite = null;
  23. }
  24. if (itemCfg.id == ConstItemID.BORDERID)
  25. {
  26. SceneController.DeleteBoxCollider2DFromGameObject(tf.gameObject);
  27. return;
  28. }
  29. string resPath = ResPathUtil.GetPhotographBorderPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType));
  30. SceneController.SetSpriteRendererToTransform(tf, resPath);
  31. spr = tf.GetComponent<SpriteRenderer>();
  32. spr.sortingOrder = 10000;//边框在所有道具的上边
  33. SceneController.SetBoxCollider2DToGameObject(tf.gameObject);
  34. }
  35. public void AddSceneItem(GameObject parentGameObj, ItemCfg itemCfg, int layer, bool setLayer)
  36. {
  37. // GameObject parentGameObj = new GameObject(string.Format("{0}_{1}", itemCfg.id, 0));
  38. SceneController.AddItemToScene(sceneObject, parentGameObj, itemCfg.id, layer);
  39. PhotographDataManager.Instance.AddItemGameObject(parentGameObj, setLayer);
  40. }
  41. public void AddNpcItem(ItemCfg itemCfg)
  42. {
  43. Transform tf = sceneObject.transform.Find("Scene/Npc/NpcRes");
  44. string resPath = ResPathUtil.GetNpcPicFPath(itemCfg.res);
  45. SceneController.SetSpriteRendererToTransform(tf, resPath);
  46. SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
  47. tf.localPosition = new Vector2(-spr.bounds.center.x, -spr.bounds.center.y);
  48. SceneController.SetBoxCollider2DToGameObject(tf.gameObject);
  49. PhotographDataManager.Instance.AddItemGameObject(tf.parent.gameObject, true);
  50. }
  51. public void AddBodyItem()
  52. {
  53. GameObject bodyParent = sceneObject.transform.Find("Scene/Role").gameObject;
  54. SceneController.UpdatePhotographBody(sceneObject, bodyParent);
  55. PhotographDataManager.Instance.AddItemGameObject(bodyParent, false);
  56. }
  57. }
  58. }