public void GetGoldDataSuccess(GoldDataBean goldData, Action <GoldDataBean> action) { if (action != null) { action?.Invoke(goldData); } }
/// <summary> /// 创建金币 /// </summary> /// <param name="goldData"></param> public void CreateGold(GameObject objModel, GoldDataBean goldData, Vector3 position) { GameObject itemObj = Instantiate(gameObject, objModel, position); GoldCpt goldCpt = itemObj.GetComponent <GoldCpt>(); goldCpt.SetData(goldData); if (listGold == null) { listGold = new List <GoldCpt>(); } listGold.Add(goldCpt); }
public void GetGoldDataById(long id, Action <GoldDataBean> action) { GoldDataBean goldData = GetModel().GetGoldDataById(id); if (goldData == null) { GetView().GetGoldDataFail("没有数据"); } else { GetView().GetGoldDataSuccess(goldData, action); } }
/// <summary> /// 协程-创建金币堆 /// </summary> /// <param name="goldPileData"></param> /// <returns></returns> public IEnumerator CoroutineForCreateGoldPile(GoldDataBean goldData, string goldPileData) { List <string> listData = StringUtil.SplitBySubstringForListStr(goldPileData, '|'); for (int i = 0; i < listData.Count; i++) { string itemData = listData[i]; string[] itemDataArray = StringUtil.SplitBySubstringForArrayStr(itemData, ':'); float[] itemPositionArray = StringUtil.SplitBySubstringForArrayFloat(itemDataArray[1], ','); ResourceRequest resourceRequest = Resources.LoadAsync("GoldPile/" + itemDataArray[0]); yield return(resourceRequest); GameObject objModel = resourceRequest.asset as GameObject; manager.CreateGoldPile(goldData, objModel, new Vector3(itemPositionArray[0], itemPositionArray[1], itemPositionArray[2])); } Resources.UnloadUnusedAssets(); }
/// <summary> /// 创建金币堆 /// </summary> /// <param name="objModel"></param> /// <param name="position"></param> public void CreateGoldPile(GoldDataBean goldData, GameObject objModel, Vector3 position) { GameObject itemObj = Instantiate(gameObject, objModel, position); GoldCpt[] listData = itemObj.GetComponentsInChildren <GoldCpt>(); if (listGold == null) { listGold = new List <GoldCpt>(); } for (int i = 0; i < listData.Length; i++) { GoldCpt itemGold = listData[i]; itemGold.goldData.gold_price = goldData.gold_price; itemGold.transform.SetParent(gameObject.transform); listGold.Add(itemGold); } goldMaxNumber += listData.Length; Destroy(itemObj); }
/// <summary> /// 携程 创建金币 /// </summary> /// <param name="goldData"></param> /// <returns></returns> public IEnumerator CoroutineForCreateGold(GoldDataBean goldData) { ResourceRequest resourceRequest = Resources.LoadAsync("Gold/" + goldData.model_name); yield return(resourceRequest); GameObject objModel = resourceRequest.asset as GameObject; //计算每个金币的坐标 // List<Vector3> listPosition = CalculatePostionForGold(goldNumber); BoxCollider boxCollider = objModel.GetComponent <BoxCollider>(); Vector3 boxSize = new Vector3(boxCollider.size.x * objModel.transform.localScale.x, boxCollider.size.y * objModel.transform.localScale.y, boxCollider.size.z * objModel.transform.localScale.z); List <Vector3> listPosition = CalculatePostionForGold(boxSize, 8, 8, GetGoldMaxNumber()); for (int i = 0; i < listPosition.Count; i++) { manager.CreateGold(objModel, goldData, listPosition[i]); yield return(new WaitForEndOfFrame()); } Resources.UnloadUnusedAssets(); }
public void SetData(GoldDataBean goldData) { this.goldData = goldData; }