123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- using UnityEngine;
- using System.Collections;
- using System;
- namespace GFGGame
- {
- public class SceneController
- {
- public static void UpdateLoginScene(GameObject sceneObj)
- {
- //背景
- Transform tf = sceneObj.transform.Find("Bg");
- SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
- var resPath = ResPathUtil.GetDressUpPath("jhsy_bg", "jpg");
- Sprite sp = GFGAsset.Load<Sprite>(resPath);
- DressUpUtil.AddAssetReleaser(tf.gameObject, resPath);
- spr.sprite = sp;
- //角色
- DressUpUtil.UpdateBody("ui_loginrole", sceneObj, true, null);
- }
- public static void UpdateMainScene(GameObject sceneObj)
- {
- //背景
- Transform tf = sceneObj.transform.Find("Bg");
- SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
- var resPath = ResPathUtil.GetDressUpPath("zjm_bg1", "jpg");
- Sprite sp = GFGAsset.Load<Sprite>(resPath);
- DressUpUtil.AddAssetReleaser(tf.gameObject, resPath);
- spr.sprite = sp;
- //角色
- CustomSuitData suitSavedData = CustomSuitDataManager.GetCurrentSuitList();
- int[] equipDatas = suitSavedData.equipDatas;
- UpdateRole(equipDatas, sceneObj, false);
- if (suitSavedData.pic > 0 && suitSavedData.suitId > 0)
- {
- SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitSavedData.suitId);
- DressUpUtil.UpdateBody(suitCfg.picRes, sceneObj, !string.IsNullOrEmpty(suitCfg.aniRes), suitCfg.effRes);
- }
- else
- {
- DressUpUtil.UpdateBody(null, sceneObj);
- }
- }
- public static void UpdateRole(int[] equipDatas, GameObject sceneObj, bool needSetMask = false, int[] exceptTypes = null, bool showAni = true)
- {
- Reset(sceneObj);
- int count = equipDatas.Length;
- for (int i = 0; i < count; i++)
- {
- int id = (int)equipDatas[i];
- if (exceptTypes != null)
- {
- int subType = ItemUtil.GetItemSubType(id);
- if (Array.IndexOf(exceptTypes, subType) >= 0)
- {
- continue;
- }
- }
- DressUpUtil.AddItem(id, sceneObj, needSetMask, showAni);
- }
- DressUpUtil.UpdateBody(null, sceneObj, false, null, needSetMask);
- }
- public static void UpdateDialogBg(string value, GameObject sceneObj)
- {
- Transform tf = sceneObj.transform.Find("Bg");
- SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
- if (value == "0")
- {
- spr.sprite = null;
- }
- else
- {
- var resPath = ResPathUtil.GetDressUpPath(value, "jpg");
- Sprite sp = GFGAsset.Load<Sprite>(resPath);
- DressUpUtil.AddAssetReleaser(tf.gameObject, resPath);
- spr.sprite = sp;
- }
- }
- public static void UpdateDialogPic(string value, GameObject sceneObj)
- {
- Transform tf = sceneObj.transform.Find("Pic");
- SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
- if (value == "0")
- {
- spr.sprite = null;
- }
- else
- {
- void UpdateDialogPicAlpha(object param)
- {
- Color c = spr.color;
- if (spr.enabled && c.a < 1f)
- {
- c.a += 0.05f;
- spr.color = c;
- }
- else
- {
- FairyGUI.Timers.inst.Remove(UpdateDialogPicAlpha);
- }
- }
- var resPath = ResPathUtil.GetNpcPicSPath(value);
- Sprite sp = GFGAsset.Load<Sprite>(resPath);
- DressUpUtil.AddAssetReleaser(tf.gameObject, resPath);
- spr.sprite = sp;
- Color c = spr.color;
- c.a = 0f;
- spr.color = c;
- FairyGUI.Timers.inst.AddUpdate(UpdateDialogPicAlpha);
- }
- }
- public static void UpdateFightTarget(string value, GameObject sceneObj)
- {
- Transform tf = sceneObj.transform.Find("Npc");
- SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
- var resPath = ResPathUtil.GetNpcPicFPath(value);
- Sprite sp = GFGAsset.Load<Sprite>(resPath);
- DressUpUtil.AddAssetReleaser(tf.gameObject, resPath);
- spr.sprite = sp;
- }
- private static void Reset(GameObject sceneObj)
- {
- //背景层次
- Transform bg = sceneObj.transform.Find("Bg");
- if (bg != null)
- {
- SpriteRenderer spr = bg.GetComponent<SpriteRenderer>();
- if (spr != null)
- {
- ItemTypeCfg typeCfg = ItemTypeCfgArray.Instance.GetCfg(ConstDressUpItemType.BEI_JING);
- spr.sortingOrder = typeCfg.defaultLayer;
- }
- }
- //角色清理
- Transform role = sceneObj.transform.Find("Role");
- if (role != null)
- {
- int childCount = role.childCount;
- for (int i = childCount - 1; i >= 0; --i)
- {
- Transform child = role.GetChild(i);
- if (child.gameObject.name != "Body")
- {
- GameObject.DestroyImmediate(child.gameObject);
- }
- }
- }
- }
- }
- }
|