SceneController.cs 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. using UnityEngine;
  2. using System.Collections;
  3. using YooAsset;
  4. namespace GFGGame
  5. {
  6. public class SceneController
  7. {
  8. public static void UpdateLoginScene(GameObject sceneObj)
  9. {
  10. //背景
  11. Transform tf = sceneObj.transform.Find("Bg");
  12. SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
  13. var resPath = ResPathUtil.GetSceneBgPath("jhsy_bg");
  14. //Sprite sp = GFGAsset.Load<Sprite>(resPath);
  15. var handle = YooAssets.LoadAssetSync<Sprite>(resPath);
  16. Sprite sp = handle.AssetObject as Sprite;
  17. DressUpUtil.AddAssetReleaser(tf.gameObject, resPath, handle);
  18. spr.sprite = sp;
  19. //角色
  20. DressUpUtil.UpdateBody("ui_loginrole", sceneObj);
  21. }
  22. public static void UpdateMainScene(GameObject sceneObj)
  23. {
  24. //背景0
  25. Transform tf = sceneObj.transform.Find("Bg");
  26. SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
  27. var resPath = ResPathUtil.GetBgImgPath("zjm_1");
  28. //Sprite sp = GFGAsset.Load<Sprite>(resPath);
  29. var handle = YooAssets.LoadAssetSync<Sprite>(resPath);
  30. Sprite sp = handle.AssetObject as Sprite;
  31. DressUpUtil.AddAssetReleaser(tf.gameObject, resPath, handle);
  32. spr.sprite = sp;
  33. //背景1
  34. Transform tf1 = sceneObj.transform.Find("Bg1");
  35. SpriteRenderer spr1 = tf1.GetComponent<SpriteRenderer>();
  36. var resPath1 = ResPathUtil.GetBgImgPath("fuben_bg");
  37. //Sprite sp1 = GFGAsset.Load<Sprite>(resPath1);
  38. handle = YooAssets.LoadAssetSync<Sprite>(resPath);
  39. Sprite sp1 = handle.AssetObject as Sprite;
  40. DressUpUtil.AddAssetReleaser(tf1.gameObject, resPath, handle);
  41. spr1.sprite = sp1;
  42. //角色
  43. CustomSuitData suitSavedData = CustomSuitDataManager.GetCurrentSuitData();
  44. MyDressUpHelper.dressUpObj.setSceneObj(sceneObj.transform.Find("Scene").gameObject, false, true, null, false);
  45. MyDressUpHelper.dressUpObj.PutOnDressUpData(suitSavedData.dressUpData);
  46. }
  47. public static void UpdateDialogBg(string value, GameObject sceneObj)
  48. {
  49. Transform bg = sceneObj.transform.Find("Bg");
  50. Transform bgNext = sceneObj.transform.Find("BgNext");
  51. SpriteRenderer bgSpr = bg.GetComponent<SpriteRenderer>();
  52. SpriteRenderer bgNextSpr = bgNext.GetComponent<SpriteRenderer>();
  53. if (value == "0")
  54. {
  55. bgSpr.sprite = null;
  56. }
  57. else
  58. {
  59. var resPath = ResPathUtil.GetSceneBgPath(value);
  60. //Sprite sp = GFGAsset.Load<Sprite>(resPath);
  61. var handle = YooAssets.LoadAssetSync<Sprite>(resPath);
  62. Sprite sp = handle.AssetObject as Sprite;
  63. DressUpUtil.AddAssetReleaser(bg.gameObject, resPath, handle);
  64. if (bgSpr.sprite == null)
  65. {
  66. bgSpr.sprite = sp;
  67. }
  68. else
  69. {
  70. StoryDialogDataManager.Instance.waitBgChange = true;
  71. StoryDialogDataManager.Instance.dialogShowDelay = 0.4f;
  72. SetSpriteRendererAlpha(bgSpr, 1f);
  73. bgNextSpr.sprite = sp;
  74. FairyGUI.Timers.inst.StartCoroutine(LastBgFadeOut());
  75. IEnumerator LastBgFadeOut()
  76. {
  77. while (true)
  78. {
  79. if (bgSpr != null)
  80. {
  81. if (bgSpr.enabled && bgSpr.color.a > 0f)
  82. {
  83. SetSpriteRendererAlpha(bgSpr, bgSpr.color.a - 0.033f);
  84. }
  85. else
  86. {
  87. bgSpr.sprite = sp;
  88. SetSpriteRendererAlpha(bgSpr, 1f);
  89. bgNextSpr.sprite = null;
  90. break;
  91. }
  92. }
  93. else
  94. {
  95. break;
  96. }
  97. yield return new WaitForEndOfFrame();
  98. }
  99. StoryDialogDataManager.Instance.waitBgChange = false;
  100. }
  101. }
  102. }
  103. }
  104. public static void UpdateDialogPic(string value, GameObject sceneObj)
  105. {
  106. Transform tf = sceneObj.transform.Find("Pic");
  107. SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
  108. if (value == "0")
  109. {
  110. spr.sprite = null;
  111. }
  112. else
  113. {
  114. StoryDialogDataManager.Instance.waitPicFade = true;
  115. var resPath = ResPathUtil.GetNpcPicSPath(value);
  116. //Sprite sp = GFGAsset.Load<Sprite>(resPath);
  117. var handle = YooAssets.LoadAssetSync<Sprite>(resPath);
  118. Sprite sp = handle.AssetObject as Sprite;
  119. DressUpUtil.AddAssetReleaser(tf.gameObject, resPath, handle);
  120. spr.sprite = sp;
  121. SetSpriteRendererAlpha(spr, 0f);
  122. FairyGUI.Timers.inst.StartCoroutine(UpdateDialogPicAlpha());
  123. IEnumerator UpdateDialogPicAlpha()
  124. {
  125. while (true)
  126. {
  127. if (spr != null)
  128. {
  129. if (spr.enabled && spr.color.a < 1f)
  130. {
  131. SetSpriteRendererAlpha(spr, spr.color.a + 0.055f);
  132. }
  133. else
  134. {
  135. break;
  136. }
  137. }
  138. else
  139. {
  140. break;
  141. }
  142. yield return new WaitForEndOfFrame();
  143. }
  144. StoryDialogDataManager.Instance.waitPicFade = false;
  145. }
  146. }
  147. }
  148. public static void SetSpriteRendererAlpha(SpriteRenderer spr, float a)
  149. {
  150. Color c = spr.color;
  151. c.a = a;
  152. spr.color = c;
  153. }
  154. public static void UpdateFightTarget(string value, GameObject sceneObj)
  155. {
  156. Transform tf = sceneObj.transform.Find("Npc");
  157. SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
  158. var resPath = ResPathUtil.GetNpcPicFPath(value);
  159. //Sprite sp = GFGAsset.Load<Sprite>(resPath);
  160. var handle = YooAssets.LoadAssetSync<Sprite>(resPath);
  161. Sprite sp = handle.AssetObject as Sprite;
  162. DressUpUtil.AddAssetReleaser(tf.gameObject, resPath, handle);
  163. spr.sprite = sp;
  164. }
  165. }
  166. }