SceneController.cs 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  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. SpriteHelper.AddSpriteTo(spr, resPath);
  29. //背景1
  30. Transform tf1 = sceneObj.transform.Find("Bg1");
  31. SpriteRenderer spr1 = tf1.GetComponent<SpriteRenderer>();
  32. var resPath1 = ResPathUtil.GetBgImgPath("fuben_bg");
  33. SpriteHelper.AddSpriteTo(spr1, resPath);
  34. //角色
  35. CustomSuitData suitSavedData = CustomSuitDataManager.GetCurrentSuitData();
  36. MyDressUpHelper.dressUpObj.setSceneObj(sceneObj.transform.Find("Scene").gameObject, false, true, null, false);
  37. MyDressUpHelper.dressUpObj.PutOnDressUpData(suitSavedData.dressUpData);
  38. }
  39. public static void UpdateDialogBg(string value, GameObject sceneObj)
  40. {
  41. Transform bg = sceneObj.transform.Find("Bg");
  42. Transform bgNext = sceneObj.transform.Find("BgNext");
  43. SpriteRenderer bgSpr = bg.GetComponent<SpriteRenderer>();
  44. SpriteRenderer bgNextSpr = bgNext.GetComponent<SpriteRenderer>();
  45. if (value == "0")
  46. {
  47. SpriteHelper.RemoveSpriteFrom(bgSpr);
  48. }
  49. else
  50. {
  51. var resPath = ResPathUtil.GetSceneBgPath(value);
  52. if (bgSpr.sprite == null)
  53. {
  54. SpriteHelper.AddSpriteTo(bgSpr, resPath);
  55. }
  56. else
  57. {
  58. StoryDialogDataManager.Instance.waitBgChange = true;
  59. StoryDialogDataManager.Instance.dialogShowDelay = 0.4f;
  60. SetSpriteRendererAlpha(bgSpr, 1f);
  61. SpriteHelper.AddSpriteTo(bgNextSpr, resPath);
  62. FairyGUI.Timers.inst.StartCoroutine(LastBgFadeOut());
  63. IEnumerator LastBgFadeOut()
  64. {
  65. while (true)
  66. {
  67. if (bgSpr != null)
  68. {
  69. if (bgSpr.enabled && bgSpr.color.a > 0f)
  70. {
  71. SetSpriteRendererAlpha(bgSpr, bgSpr.color.a - 0.033f);
  72. }
  73. else
  74. {
  75. SpriteHelper.AddSpriteTo(bgSpr, resPath);
  76. SetSpriteRendererAlpha(bgSpr, 1f);
  77. SpriteHelper.RemoveSpriteFrom(bgNextSpr);
  78. break;
  79. }
  80. }
  81. else
  82. {
  83. break;
  84. }
  85. yield return new WaitForEndOfFrame();
  86. }
  87. StoryDialogDataManager.Instance.waitBgChange = false;
  88. }
  89. }
  90. }
  91. }
  92. public static async void UpdateDialogPic(string value, GameObject sceneObj)
  93. {
  94. Transform tf = sceneObj.transform.Find("Pic");
  95. SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
  96. if (value == "0")
  97. {
  98. SpriteHelper.RemoveSpriteFrom(spr);
  99. }
  100. else
  101. {
  102. StoryDialogDataManager.Instance.waitPicFade = true;
  103. var resPath = ResPathUtil.GetNpcPicSPath(value);
  104. await LoadManager.Instance.CheckResExsitedOrDownload(resPath);
  105. SpriteHelper.AddSpriteTo(spr, resPath);
  106. SetSpriteRendererAlpha(spr, 0f);
  107. FairyGUI.Timers.inst.StartCoroutine(UpdateDialogPicAlpha());
  108. IEnumerator UpdateDialogPicAlpha()
  109. {
  110. while (true)
  111. {
  112. if (spr != null)
  113. {
  114. if (spr.enabled && spr.color.a < 1f)
  115. {
  116. SetSpriteRendererAlpha(spr, spr.color.a + 0.055f);
  117. }
  118. else
  119. {
  120. break;
  121. }
  122. }
  123. else
  124. {
  125. break;
  126. }
  127. yield return new WaitForEndOfFrame();
  128. }
  129. StoryDialogDataManager.Instance.waitPicFade = false;
  130. }
  131. }
  132. }
  133. public static void SetSpriteRendererAlpha(SpriteRenderer spr, float a)
  134. {
  135. Color c = spr.color;
  136. c.a = a;
  137. spr.color = c;
  138. }
  139. public static void UpdateFightTarget(string value, GameObject sceneObj)
  140. {
  141. Transform tf = sceneObj.transform.Find("Npc");
  142. SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
  143. var resPath = ResPathUtil.GetNpcPicFPath(value);
  144. SpriteHelper.AddSpriteTo(spr, resPath);
  145. }
  146. }
  147. }