using UnityEngine; using System.Collections; using YooAsset; namespace GFGGame { public class SceneController { //public static void UpdateLoginScene(GameObject sceneObj) //{ // //背景 // Transform tf = sceneObj.transform.Find("Bg"); // SpriteRenderer spr = tf.GetComponent(); // var resPath = ResPathUtil.GetSceneBgPath("jhsy_bg"); // //Sprite sp = GFGAsset.Load(resPath); // var handle = YooAssets.LoadAssetSync(resPath); // Sprite sp = handle.AssetObject as Sprite; // DressUpUtil.AddAssetReleaser(tf.gameObject, resPath, handle); // spr.sprite = sp; // //角色 // DressUpUtil.UpdateBody("ui_loginrole", sceneObj); //} public static void UpdateMainScene(GameObject sceneObj) { //背景0 Transform tf = sceneObj.transform.Find("Bg"); SpriteRenderer spr = tf.GetComponent(); var resPath = ResPathUtil.GetBgImgPath("zjm_1"); SpriteHelper.AddSpriteTo(spr, resPath); //背景1 Transform tf1 = sceneObj.transform.Find("Bg1"); SpriteRenderer spr1 = tf1.GetComponent(); var resPath1 = ResPathUtil.GetBgImgPath("fuben_bg"); SpriteHelper.AddSpriteTo(spr1, resPath); //角色 CustomSuitData suitSavedData = CustomSuitDataManager.GetCurrentSuitData(); MyDressUpHelper.dressUpObj.setSceneObj(sceneObj.transform.Find("Scene").gameObject, false, true, null, false); MyDressUpHelper.dressUpObj.PutOnDressUpData(suitSavedData.dressUpData); } public static void UpdateDialogBg(string value, GameObject sceneObj) { Transform bg = sceneObj.transform.Find("Bg"); Transform bgNext = sceneObj.transform.Find("BgNext"); SpriteRenderer bgSpr = bg.GetComponent(); SpriteRenderer bgNextSpr = bgNext.GetComponent(); if (value == "0") { SpriteHelper.RemoveSpriteFrom(bgSpr); } else { var resPath = ResPathUtil.GetSceneBgPath(value); if (bgSpr.sprite == null) { SpriteHelper.AddSpriteTo(bgSpr, resPath); } else { StoryDialogDataManager.Instance.waitBgChange = true; StoryDialogDataManager.Instance.dialogShowDelay = 0.4f; SetSpriteRendererAlpha(bgSpr, 1f); SpriteHelper.AddSpriteTo(bgNextSpr, resPath); FairyGUI.Timers.inst.StartCoroutine(LastBgFadeOut()); IEnumerator LastBgFadeOut() { while (true) { if (bgSpr != null) { if (bgSpr.enabled && bgSpr.color.a > 0f) { SetSpriteRendererAlpha(bgSpr, bgSpr.color.a - 0.033f); } else { SpriteHelper.AddSpriteTo(bgSpr, resPath); SetSpriteRendererAlpha(bgSpr, 1f); SpriteHelper.RemoveSpriteFrom(bgNextSpr); break; } } else { break; } yield return new WaitForEndOfFrame(); } StoryDialogDataManager.Instance.waitBgChange = false; } } } } public static async void UpdateDialogPic(string value, GameObject sceneObj) { Transform tf = sceneObj.transform.Find("Pic"); SpriteRenderer spr = tf.GetComponent(); if (value == "0") { SpriteHelper.RemoveSpriteFrom(spr); } else { StoryDialogDataManager.Instance.waitPicFade = true; var resPath = ResPathUtil.GetNpcPicSPath(value); await LoadManager.Instance.CheckResExsitedOrDownload(resPath); SpriteHelper.AddSpriteTo(spr, resPath); SetSpriteRendererAlpha(spr, 0f); FairyGUI.Timers.inst.StartCoroutine(UpdateDialogPicAlpha()); IEnumerator UpdateDialogPicAlpha() { while (true) { if (spr != null) { if (spr.enabled && spr.color.a < 1f) { SetSpriteRendererAlpha(spr, spr.color.a + 0.055f); } else { break; } } else { break; } yield return new WaitForEndOfFrame(); } StoryDialogDataManager.Instance.waitPicFade = false; } } } public static void SetSpriteRendererAlpha(SpriteRenderer spr, float a) { Color c = spr.color; c.a = a; spr.color = c; } public static void UpdateFightTarget(string value, GameObject sceneObj) { Transform tf = sceneObj.transform.Find("Npc"); SpriteRenderer spr = tf.GetComponent(); var resPath = ResPathUtil.GetNpcPicFPath(value); SpriteHelper.AddSpriteTo(spr, resPath); } } }