123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- using UnityGameFramework.Runtime;
- using GameFramework;
- using GameFramework.DataTable;
- using GameFramework.Sound;
- using GameFramework.Download;
- using GameFramework.FileSystem;
- using GameFramework.ObjectPool;
- using GameFramework.Resource;
- using System;
- using DG.Tweening;
- namespace MetaClient
- {
- public class UICustom : UGuiForm
- {
- // Start is called before the first frame update
- [Header("初始界面")]
- public GameObject toolView;
- [Header("基础按钮界面")]
- public GameObject baseView;
- [Header("保存按钮")]
- public GameObject saveBtn;
- [Header("捏脸界面")]
- public GameObject nieLianView;
- [Header("身体界面")]
- public GameObject bodyView;
- [Header("衣服界面")]
- public GameObject clothView;
- [Header("左边界面")]
- public GameObject leftView;
- [Header("右边界面")]
- public GameObject rightView;
- //[Header("点击后生成的按钮列表")]
- //public GameObject buttonList;
- [Header("按钮预制体")]
- public GameObject buttonItem;
- [Header("滑块")]
- public Scrollbar scrollbar;
- [Header("颜色演示预制体")]
- public GameObject colItem;
- public float tween_leftMax = 0;
- public float tween_leftMin = -250;
- public float tween_rightMin = 0;
- public float tween_rightMax = 223;
- private float tween_saveBtnMax = 119;
- private float tween_saveBtnMin = -108;
- //private float tweenTime = 10;
- //private float tweenLeastTime = 0;
- public bool isTween = false;
- [Header("选择界面分支")]
- [SerializeField]
- private ECustomStyple eCustomStyple = ECustomStyple.None;
- [Header("历史记录用于回退")]
- [SerializeField]
- private List<string> histroy;
-
- private int part = 0;
- //[Header("接受到的数据")]
- //[SerializeField]
- private IDataTable<DRCustomBody> _bodydata;
- protected override void OnOpen(object userData)
- {
- base.OnOpen(userData);
- IDataTable<DRCustomBody> _data = GameEntry.DataTable.GetDataTable<DRCustomBody>();
- _bodydata = GameEntry.DataTable.GetDataTable<DRCustomBody>();
-
- }
- protected override void OnClose(bool isShutdown, object userData)
- {
- base.OnClose(isShutdown, userData);
- }
- public void ClickBotton(ECustomStyple eCustomStyple,int id)
- {
- if (isTween)
- {
- return;
- }
- isTween = true;
- leftView.transform.DOLocalMoveX(tween_leftMin, 2f).SetEase(Ease.InOutBack).OnComplete(()=> {
- ClickBtnFun(eCustomStyple,id);
- leftView.transform.DOLocalMoveX(0, 2f).SetEase(Ease.InOutBack).OnComplete(() => {
- isTween = false;
- Debug.Log("222");
- });
- });
- Debug.Log("333");
- rightView.transform.DOLocalMoveX(tween_rightMax, 2f).SetEase(Ease.InOutBack).OnComplete(() => {
- rightView.transform.DOLocalMoveX(0, 2f).SetEase(Ease.InOutBack).OnComplete(() => {
- });
- });
- }
- /// <summary>
- /// 滑块改变
- /// </summary>
- public void ScrollValueChange()
- {
- Debug.Log(scrollbar.value);
- }
- /// <summary>
- /// 修改滑块
- /// </summary>
- public void SetValue(int _part,ECustomStyple eCustomStyple)
- {
- //scrollbar.value = _value;
- part = _part;
- }
- /// <summary>
- /// 获得滑块值
- /// </summary>
- public float GetValue()
- {
- return scrollbar.value;
- }
- /// <summary>
- /// 按钮点击事件
- /// </summary>
- public void ClickBtnFun(ECustomStyple eCustomStyple,int id) {
- //if (isTween)
- //{
- // return;
- //}
- //ECustomStyple _eCustomStyple = (ECustomStyple)int.Parse(_objects[0].ToString());
- switch (eCustomStyple)
- {
- case ECustomStyple.None:
- break;
- case ECustomStyple.NieLian:
- GameObject _nieLianList = nieLianView.transform.GetChild(0).gameObject;
- _nieLianList.SetActive(false);
- GameObject _nieLianXX = nieLianView.transform.GetChild(2).gameObject;
- _nieLianXX.SetActive(true);
- CreateBodyImg(id);
- break;
- case ECustomStyple.Body:
- GameObject _bodyList = bodyView.transform.GetChild(0).gameObject;
- _bodyList.SetActive(false);
- GameObject _bodyListXX =bodyView.transform.GetChild(2).gameObject;
- _bodyListXX.SetActive(true);
- CreateBodyImg(id);
- break;
- case ECustomStyple.Cloth:
- GameObject _clothList = clothView.transform.GetChild(0).gameObject;
- _clothList.SetActive(false);
- GameObject _clothListXX = clothView.transform.GetChild(2).gameObject;
- _clothListXX.SetActive(true);
- CreateBodyImg(id);
- break;
- }
- }
- //public Action ActionFun() {
- // return null;
- //}
- private void RemoveAllChildren(GameObject parent)
- {
- Transform transform;
- for (int i = 0; i < parent.transform.childCount; i++)
- {
- transform = parent.transform.GetChild(i);
- GameObject.Destroy(transform.gameObject);
- }
- }
- public void CreateBodyImg(int parentid) {
- RemoveAllChildren(bodyView.transform.GetChild(2).GetChild(0).gameObject);
- IDataTable<DRCustomBody> _data = GameEntry.DataTable.GetDataTable<DRCustomBody>();
- _bodydata = GameEntry.DataTable.GetDataTable<DRCustomBody>();
- DRCustomBody[] dRCustomBodies = _bodydata.GetAllDataRows();
- for (int i = 0; i < dRCustomBodies.Length; i++)
- {
- Debug.Log(dRCustomBodies[i].Id);
- if (dRCustomBodies[i].ParentStyple == parentid)
- {
- CreateButtonFun(dRCustomBodies[i].Icon, dRCustomBodies[i].Part, dRCustomBodies[i].Name, bodyView.transform.GetChild(2).GetChild(0).gameObject, dRCustomBodies[i].Id, dRCustomBodies[i].ButtonStyple, ECustomStyple.Body);
- }
- }
- }
- //private IEnumerator Tween(Action _action) {
- // for (int i = 0; i < 100; i++)
- // {
- // float _value = i / 100;
- // float _right=Mathf.Lerp(tween_rightMax, tween_rightMin, _value);
- // float _left= Mathf.Lerp(tween_leftMix, tween_rightMax, _value);
- // clothView.GetComponent<RectTransform>().SetPositionX(_right);
- // toolView.GetComponent<RectTransform>().SetPositionX(_right);
- // bodyView.GetComponent<RectTransform>().SetPositionX(_right);
- // nieLianView.GetComponent<RectTransform>().SetPositionX(_right);
- // baseView.GetComponent<RectTransform>().SetPositionX(_left);
- // }
- // yield return null;
- //}
- protected override void OnUpdate(float elapseSeconds, float realElapseSeconds)
- {
- base.OnUpdate(elapseSeconds, realElapseSeconds);
- }
- //private void CreateNieLianFun(object[] _objects) {
- // ENieLianStyple _eNieLianStyple = (ENieLianStyple)int.Parse(_objects[1].ToString());
- // switch (_eNieLianStyple)
- // {
- // case ENieLianStyple.faxing:
- // break;
- // case ENieLianStyple.lianxing:
- // break;
- // case ENieLianStyple.yankuang:
- // break;
- // case ENieLianStyple.tongkong:
- // break;
- // case ENieLianStyple.meimao:
- // break;
- // case ENieLianStyple.bizi:
- // break;
- // case ENieLianStyple.erduo:
- // break;
- // case ENieLianStyple.zuiba:
- // break;
- // case ENieLianStyple.fuse:
- // break;
- // }
- // //switch()
- //}
- private void CreateButtonFun(string path,int _part,string _name, GameObject _parent,int _id,int buttonstyple,ECustomStyple eCustomStyple) {
- //Debug.Log(path);
- // Debug.Log(_parent);
- path = "CustomRole/" + path;
- GameEntry.Resource.LoadAsset(AssetUtility.GetUISpriteAsset(path), new LoadAssetCallbacks(
- (assetName, asset, duration, userData) =>
- {
- // Debug.Log(path);
- // Debug.Log(_parent);
- Texture2D tex = (Texture2D)asset;
- var sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), Vector2.zero);
- GameObject _obj = GameObject.Instantiate(buttonItem);
- Image _objImg = _obj.transform.GetComponent<Image>();
- _obj.SetActive(true);
- _objImg.sprite = sprite;
- _obj.name = part+"";
- _obj.transform.SetParent(_parent.transform);
- UICustomBtn uICustomBtn = _obj.GetComponent<UICustomBtn>();
- uICustomBtn.id = _id;
- uICustomBtn.eButtonStyple = (EButtonStyple)buttonstyple;
- uICustomBtn.eCustomStyple = eCustomStyple;
- uICustomBtn.isCreate = false;
- uICustomBtn.part = _part;
-
- //GameObject
- //img.sprite = sprite;
- //if (nativeSize)
- //{
- // img.SetNativeSize();
- //}
- }));
- }
- //public void NieLian() {
-
- //}
- public void ClickFaceChangeBtn()
- {
- GameEntry.Event.Fire(this, CustomRoleFaceEventArgs.Create(EditableFacePart.eye, new Vector3(1, 0, 0)));
- }
- }
- public enum ECustomStyple
- {
- None,
- NieLian,
- Body,
- Cloth
- }
- public enum EButtonStyple
- {
- Button,
- Scroll,
- TiaoSe,
- NorButton,
- }
- public enum ENieLianStyple {
- None,
- faxing,
- lianxing,
- yankuang,
- tongkong,
- meimao,
- bizi,
- erduo,
- zuiba,
- fuse
- }
- }
|