Ejemplo n.º 1
0
    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();
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
 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;
     }
 }
Ejemplo n.º 4
0
    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);
    }