Beispiel #1
0
    public static string CombineGradeName(this PetUpGradeInfo.UpGradeInfo rInfo, int star)
    {
        string[] starNum = { "Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ", "Ⅵ", "Ⅶ", "Ⅷ", "Ⅸ" };
        var      index   = Mathf.Clamp(star - 1, 0, starNum.Length - 1);

        return(ConfigText.GetDefalutString(60000, rInfo.grade - 1) + starNum[index]);
    }
Beispiel #2
0
    public PetSkill.Skill GetSkill(PetUpGradeInfo.UpGradeInfo gardeInfo = null)
    {
        if (gardeInfo == null)
        {
            gardeInfo = UpGradeInfo;
        }

        var skills = ConfigManager.Get <PetSkill>(ID);

        if (skills == null)
        {
            Logger.LogError("该宠物没有配置技能。宠物ID = {0}", ID);
            return(null);
        }

        var skill = skills.GetSkill(gardeInfo.skillID);

        return(skill);
    }
Beispiel #3
0
    public BuffInfo[] GetBuff(int rStar, PetUpGradeInfo.UpGradeInfo gardeInfo = null)
    {
        var list  = new List <BuffInfo>();
        var skill = GetSkill();

        if (skill != null)
        {
            foreach (var buffId in skill.buffs)
            {
                var buff = ConfigManager.Get <BuffInfo>(buffId);
                if (buff == null)
                {
                    continue;
                }
                list.Add(buff.CalcLevel(AdditiveLevel));
            }
        }

        return(list.ToArray());
    }
Beispiel #4
0
    public Creature CreatePet(PetUpGradeInfo.UpGradeInfo rGradeInfo, Vector3 pos, Vector3 rot, Transform node, bool fighting, string name = "")
    {
        if (rGradeInfo == null)
        {
            return(null);
        }

        var i = ConfigManager.Get <CreatureInfo>(CREATURE_TEMPLATE).Clone <CreatureInfo>();

        i.models          = new string[] { fighting?rGradeInfo.fightMode : rGradeInfo.mode };
        i.weaponID        = fighting ? rGradeInfo.UIstateMachine : rGradeInfo.stateMachine;
        i.weaponItemID    = 0;
        i.offWeaponItemID = 0;
        i.gender          = 0;
        i.colliderSize    = Vector2_.zero;
        i.hitColliderSize = Vector2_.zero;

        var pet = Creature.Create(i, pos, rot, false, name, name, false, false);

        if (pet == null)
        {
            return(null);
        }

        var wt = pet.transform.Find("model/weapon");

        if (wt)
        {
            wt.gameObject.SetActive(false);
        }

        Util.AddChild(node, pet.transform, true);

        pet.gameObject.SetActive(ChildIsVisible(pet.name));

        return(pet);
    }
Beispiel #5
0
 public Creature CreatePet(PetUpGradeInfo.UpGradeInfo rGradeInfo, string name, bool fighting)
 {
     return(CreatePet(rGradeInfo, Vector3.zero, new Vector3(0, 180, 0), Level.current.startPos, fighting, name));
 }