PhotographSceneManager.cs 2.8 KB

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