Пример #1
0
        /// <summary>
        ///     获取宠物PetVo
        /// </summary>
        public static PetVo GetPetVo(PPet pet)
        {
            var petVo = new PetVo();

            SetPetVo(pet, petVo);
            return(petVo);
        }
Пример #2
0
        public void OpenViewForNew(uint petId)
        {
            newPet = true;
            Singleton <PetView> .Instance.LoadPet(petId, gameObject.transform, new Vector3(-100, -15, 0));

            SysPet spet = BaseDataMgr.instance.GetDataById <SysPet>(petId);

            name.text = spet.name;
            NGUITools.FindInChild <UISprite>(gameObject, "info/gradeicn").spriteName = "hslv";
            gameObject.SetActive(true);
            close = false;
            SetStars((uint)spet.star);

            tips.text = "恭喜您获得新幻兽";
            PPet pet = Singleton <PetMode> .Instance.GetPetByPetId(petId);

            PetVo petVo = Singleton <PetMode> .Instance.PetVos[pet.id];

            NGUITools.FindInChild <UILabel>(gameObject, "info/fightvalue").text = petVo.fight.ToString();
            tipsPlay.PlayReverse();
            if (AfterOpenViewGuideDelegate != null)
            {
                EventDelegate.Add(tipsPlay.onFinished, AfterOpenViewGuideDelegate);
                AfterOpenViewGuideDelegate = null;
            }
        }
Пример #3
0
 /// <summary>
 ///     计算属性基础加成
 /// </summary>
 public static void CupBaseProperties(PPet pet, PetVo vo)
 {
     vo.Hp      = CupBaseProperty(pet, vo.SysPet.hp);
     vo.CurHp   = vo.Hp;
     vo.AttPMax = CupBaseProperty(pet, vo.SysPet.att_max);
     vo.DefP    = CupBaseProperty(pet, vo.SysPet.def_p);
     vo.DefM    = CupBaseProperty(pet, vo.SysPet.def_m);
 }
Пример #4
0
 private void AddTotal()
 {
     totalAdd = new PetVo();
     foreach (PetVo petVo in PetVos.Values)
     {
         PetLogic.AddPetALL(totalAdd, petVo);
     }
     totalAdd.fight = PetLogic.GetFight(totalAdd);
 }
Пример #5
0
 /// <summary>
 ///     设置宠物PetVo
 /// </summary>
 public static void SetPetVo(PPet pet, PetVo vo)
 {
     vo.Id      = pet.id;
     vo.petId   = pet.petId;
     vo.SkillId = (uint)vo.SysPet.unique_skill + pet.star - 1;
     CupBaseProperties(pet, vo);                //基础属性
     EquipLogic.CupPetEquipProperties(pet, vo); //装备和阶属性
     CupSkillProperties(pet, vo);               //技能属性
     vo.fight = GetFight(vo);
 }
Пример #6
0
 public void Start()
 {
     _petVo         = MeController.GetMeVoByType <PetVo>();
     _talentSkillVo = BaseDataMgr.instance.GetSysSkillBaseVo(_petVo.SkillId);
     if (_talentSkillVo != null)
     {
         _talentSkillActionVo = BaseDataMgr.instance.GetSysSkillActionVo(_talentSkillVo.skill_group);
     }
     _masterVo      = _petVo.MasterVo;
     _masterDisplay = _petVo.MasterDisplay;
 }
Пример #7
0
        /// <summary>
        ///     计算技能加成
        /// </summary>
        private static void CupSkillProperties(PPet pet, PetVo vo)
        {
            for (int i = 1; i <= 4; i++)
            {
                int[]  skillConfig = GetPetSkillInfo((int)pet.petId, i);
                uint[] skill       = Singleton <PetMode> .Instance.GetPetSkill(pet.id, (uint)i);

                if (skill != null)
                {
                    AddSkillProperty(vo, skillConfig, skill[1]);
                }
            }
        }
Пример #8
0
        private static BaseRoleVo[] gradeVos = new BaseRoleVo[39]; //14阶装备

        /// <summary>
        /// 计算宠物的装备属性
        /// </summary>
        /// <param name="petid"></param>
        /// <returns></returns>
        public static void CupPetEquipProperties(PPet pet, PetVo petVo)
        {
            //添加当前装备
            for (int i = 0; i < pet.equip.Count;)
            {
                uint       equipId = pet.equip[i + 1];
                SysEquipVo equipVo = BaseDataMgr.instance.GetDataById <SysEquipVo>(equipId);
                AddEquipProperty(petVo, equipVo);
                i = i + 2;
            }
            //添加当前阶的装备

            BaseRoleVo gradeVo = GetGradeProperties((uint)petVo.SysPet.type, pet.grade);

            PetLogic.AddPetALL(petVo, gradeVo);
        }
Пример #9
0
        private void SetPetProperty(PPet pet)
        {
            PetVo             petVo  = Singleton <PetMode> .Instance.PetVos[pet.id];
            SysPetEvolutionVo petEvo = BaseDataMgr.instance.GetDataById <SysPetEvolutionVo>(pet.star);

            NGUITools.FindInChild <UILabel>(propetyObj, "growvalue").text   = (petEvo.grow / 10000f).ToString();
            NGUITools.FindInChild <UILabel>(propetyObj, "hpvalue").text     = petVo.Hp.ToString();
            NGUITools.FindInChild <UILabel>(propetyObj, "attackvalue").text = petVo.AttPMax.ToString();
            NGUITools.FindInChild <UILabel>(propetyObj, "pdvalue").text     = petVo.DefP.ToString();
            NGUITools.FindInChild <UILabel>(propetyObj, "mdvalue").text     = petVo.DefM.ToString();
            NGUITools.FindInChild <UILabel>(propetyObj, "decvalue").text    = petVo.HurtRe.ToString();

            SysPet         spet  = BaseDataMgr.instance.GetDataById <SysPet>(pet.petId);
            SysSkillBaseVo skill = BaseDataMgr.instance.GetDataById <SysSkillBaseVo>((uint)spet.unique_skill);

            NGUITools.FindInChild <UILabel>(propetyObj, "des").text             = "天赋技能:" + skill.desc;
            NGUITools.FindInChild <UILabel>(gameObject, "info/fightvalue").text = petVo.fight.ToString();
        }
Пример #10
0
 private static void AddSkillProperty(PetVo vo, int[] skillConfig, uint level)
 {    ///生命之源(生命)5
     ///铜皮铁骨(物防)11
     ///魔法抵抗(魔防)12
     ///战斗之心(攻击)22
     if (skillConfig[0] == 5)
     {
         vo.Hp += (uint)(skillConfig[1] * level);
     }
     else if (skillConfig[0] == 11)
     {
         vo.DefP += (uint)(skillConfig[1] * level);
     }
     else if (skillConfig[0] == 12)
     {
         vo.DefM += (uint)(skillConfig[1] * level);
     }
     else if (skillConfig[0] == 22)
     {
         vo.AttPMax += (uint)(skillConfig[1] * level);
     }
 }
Пример #11
0
        /**创建宠物**/
        public PetDisplay CreatePet(DisplayVo vo)
        {
            if (vo == null)
            {
                return(null);
            }
            vo.Type = DisplayType.PET;
            var display = new PetDisplay();

            _petDisplayList.Add(display);
            objectList.Add(display);
            PetVo  pet = (PetVo)vo;
            string res = pet.SysPet.res;

            if (res.Equals("0"))
            {
                res = "10004";
            }
            vo.ClothUrl = "Model/Pet/" + res + "/Model/" + res + ".assetbundle";
            display.SetVo(vo);
            return(display);
        }
Пример #12
0
        public void OpenViewForEvolve(uint uid)
        {
            newPet = false;

            PPet pet = Singleton <PetMode> .Instance.GetPetById(uid);

            Singleton <PetView> .Instance.LoadPet(pet.petId, gameObject.transform, new Vector3(-100, -15, 0));

            NGUITools.FindInChild <UISprite>(gameObject, "info/gradeicn").spriteName = PetLogic.GetGradeIcn(pet.grade);
            SysPet sPet = BaseDataMgr.instance.GetDataById <SysPet>(pet.petId);

            name.text = PetLogic.GetGradeDes(pet.grade, sPet.name);
            tips.text = "您的幻兽进化到了" + pet.star + "星";
            PetVo petVo = Singleton <PetMode> .Instance.PetVos[pet.id];

            NGUITools.FindInChild <UILabel>(gameObject, "info/fightvalue").text = petVo.fight.ToString();

            SetStars(pet.star);
            gameObject.SetActive(true);
            close = false;
            Singleton <PetView> .Instance.PetPlay(Status.Win);

            tipsPlay.PlayReverse();
        }