public void InitData(int heroId) { hero = HerosModel.GetHeroJsonByHeroId(heroId); hero.view = this; float x = Random.Range(-150, 150); float y = Random.Range(-300, 300); RectTransform rtf = GetComponent <RectTransform>(); rtf.anchoredPosition = new Vector2(x, y); rtf.localScale = Vector3.one; FreshView(); }
/// <summary> /// 刷新英雄 /// </summary> void FreshHeros() { //回收 int count = heroLayer.transform.childCount; for (int i = 0; i < count; i++) { GameObject childGo = heroLayer.transform.GetChild(0).gameObject; Pooler.PutPoolObj(PoolType.HeroPool.ToString(), childGo); } //再利用 Dictionary <int, HeroJson> heroMap = HerosModel.GetHeroMap(); foreach (var pair in heroMap) { GameObject heroGo = Pooler.GetPoolObj(PoolType.HeroPool.ToString()); heroGo.transform.SetParent(heroLayer.transform); heroGo.GetComponent <HeroView>().InitData(pair.Value.heroId); heroGo.name = pair.Value.heroId.ToString(); } }
/// <summary> /// 刷新数据 /// </summary> static void FreshData() { HerosModel.FreshHeroMap(); System.GC.Collect(); }