public void InitFightingHero(bool isInitPos = true) { ClearFightHero(); Dictionary <long, Hero> heroes = DataManager.GetInstance().GetGameData().Heroes; foreach (KeyValuePair <long, Hero> heropair in heroes) { if (heropair.Value.teamPosition > -1)//必须在阵容 { //HeroTableData heroTableData = DataManager.GetInstance().GetHeroTableDataByHero(heropair.Value); DIYTableData dIYTableData = DataManager.instance.GetDIYTableDatasById(heropair.Value.heroPartDic[HeroPart.Body]); if (dIYTableData != null) { GameObject fighthero = EnityManager.GetInstance().CreateFightHero(heropair.Value); fighthero.transform.SetParent(transform, false); if (heroStartPos != null && heroStartPos.Length > heropair.Value.teamPosition) { fighthero.transform.position = heroStartPos[heropair.Value.teamPosition]; } //if (heropair.Value.teamPosition == 2) { followHero = fighthero.transform; } FightHeros.Add(fighthero); } } } teamListPanel.InitTeamList(); }
public Hero OnRandomOneHero() { HeroJob heroJob = (HeroJob)Random.Range((int)HeroJob.Archer, (int)HeroJob.NULL); HeroSex sex = Random.Range(0, 100) > 50 ? HeroSex.Female : HeroSex.Male; HeroQuality heroQuality = (HeroQuality)Random.Range((int)HeroQuality.B, (int)HeroQuality.NULL); Hero hero = new Hero { id = GetRandomId(), heroLevel = 1, heroJob = heroJob, heroQuality = heroQuality, heroSex = sex }; ///////获取身体///////////////////////////////////////////// List <DIYTableData> dIYTableDatas = DataManager.GetInstance().GetDIYTableDatasByHeroJobAndSex(heroJob, sex); if (dIYTableDatas.Count > 0) { int bodyIndex = Random.Range(0, dIYTableDatas.Count); DIYTableData body = dIYTableDatas[bodyIndex]; hero.heroPartDic[HeroPart.Body] = body.id; } List <DIYTableData> dIYTableDataHairs = DataManager.GetInstance().GetDIYTableDatasByHeroPartAndSex(HeroPart.Hair, sex); if (dIYTableDataHairs.Count > 0) { int hairIndex = Random.Range(0, dIYTableDataHairs.Count); DIYTableData hairdata = dIYTableDataHairs[hairIndex]; hero.heroPartDic[HeroPart.Hair] = hairdata.id; } int min_age = DataManager.instance.GetConfigValueToInt("min_age"); int max_age = DataManager.instance.GetConfigValueToInt("max_age"); int have_beard_age = DataManager.instance.GetConfigValueToInt("have_beard_age"); int age = Random.Range(min_age, max_age); //随机年龄 if (age < have_beard_age && sex == HeroSex.Male) //xx岁以下不添加胡子 { List <DIYTableData> dIYTableDataBeards = DataManager.GetInstance().GetDIYTableDatasByHeroPartAndSex(HeroPart.Beard, sex); if (dIYTableDataBeards.Count > 0) { int beardIndex = Random.Range(0, dIYTableDataBeards.Count); DIYTableData bearddata = dIYTableDataBeards[beardIndex]; hero.heroPartDic[HeroPart.Beard] = bearddata.id; } } return(hero); }
public void InitDIYTableData() { string[][] arrAll = GetData(TableDataName.DIYTableData.ToString()); for (int i = 0; i < arrAll.Length; i++) { string[] arr = arrAll[i]; int id = int.Parse(arr[0]); DIYTableData tableData = new DIYTableData { id = id, name = arr[1], prefab = arr[2], sex = int.Parse(arr[3]), job = int.Parse(arr[4]), part = int.Parse(arr[5]), dummyProp = int.Parse(arr[6]) }; DIYTableDataDic[id] = tableData; } }
public void InitEnityByHero(Hero hero) { this.hero = hero; enityType = EnityType.Hero; foreach (KeyValuePair <HeroPart, int> part in hero.heroPartDic) { DIYTableData dIYTableData = DataManager.instance.GetDIYTableDatasById(part.Value); if (dIYTableData != null) { if (dIYTableData.dummyProp != -1) { GameObject diyPrefab = DataManager.GetInstance().CreateGameObjectFromAssetsBundle("enemy", dIYTableData.prefab); if (diyPrefab != null) { diyPrefab.transform.SetParent(dummyProp_Parent[(int)dIYTableData.dummyProp], false); } } else { Material material = DataManager.GetInstance().CreateMaterialFromAssetsBundle("enemy", dIYTableData.prefab); SkinnedMeshRenderer skinnedMeshRenderer = materialBody.GetComponent <SkinnedMeshRenderer>(); if (skinnedMeshRenderer != null && material != null) { skinnedMeshRenderer.material = material; } } } } Animator animator = gameObject.GetComponent <Animator>(); if (animator != null) { animatorList.Add(animator); } UpdateHeroEquips(); OnPlayAnimation(animatorAction); }