PhotographSceneManager.cs 2.7 KB

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