예제 #1
0
 public override void Init(int SceneID, LifeMCore Core, Life Parent)
 {
     base.Init(SceneID, Core, Parent);
     m_info          = CmCarbon.GetSummonPetInfo(Core);
     m_AttrType      = m_info.m_modeltype;
     m_phy_defend    = m_info.m_phy_defend;
     m_phy_crit      = m_info.m_phy_crit;
     m_phy_attack    = m_info.m_phy_attack;
     m_magic_defend  = m_info.m_magic_defend;
     m_magic_crit    = m_info.m_magic_crit;
     m_magic_attack  = m_info.m_magic_attack;
     m_dodge         = m_info.m_dodge;
     m_speed         = m_info.m_speed;
     m_AntiPress     = m_info.m_resist;
     m_FullHp        = m_info.m_hp;
     m_Hp            = FullHp;
     m_attack_time   = m_info.m_attack_time;
     m_attack_like   = m_info.m_attack_like;
     m_attack_type   = m_info.m_attack_type;
     m_jumpDistance  = m_info.m_jump_distance;
     m_shape         = m_info.m_shape;
     m_goorder       = m_info.m_goorder;
     m_main_proterty = 0;
     SetAddAttr(m_info.m_AddAttr);
 }
예제 #2
0
 public void SetSummonPetLife(SummonpetInfo Info, LifeProperty SkinProperty, LifeEnvironment Environment)
 {
     if (Info == null || SkinProperty == null)
     {
         return;
     }
     LifeProperty(SkinProperty);
     if (Environment == LifeEnvironment.Combat)
     {
     }
     else
     {
     }
 }
예제 #3
0
    /// <summary>
    /// 获取召唤物
    /// </summary>
    public static SummonpetInfo GetSummonPetInfo(int PetID)
    {
        s_summonpetInfo I = GetSummonpet(PetID);

        if (I == null)
        {
            return(null);
        }
        else
        {
            SummonpetInfo Info = new SummonpetInfo();
            SetSummonPetInfo(ref Info, I);
            return(Info);
        }
    }
예제 #4
0
    /// <summary>
    /// 初始化技能数据,从数据中心获取所有技能数据
    /// </summary>
    public override bool Init(int SceneID, LifeMCore Core)
    {
        this.m_SceneID = SceneID;
        m_SkillOwner   = CM.GetLifeM(m_SceneID, LifeMType.SUMMONPET) as SummonPet;
        SummonpetInfo Info = SummonM.GetSummonPetInfo(Core.m_DataID);

        if (Info == null)
        {
            return(false);
        }
        //SoldierSkillInfo Info = info.m_Skillinfo;
        m_attack1 = "0";
        m_attack2 = "0";
        for (int i = 0; i <= 7; i++)
        {
            if (i < Info.m_Skillinfo.Count)
            {
                if (Info.m_Skillinfo[i].m_attacktype != (int)AttackType.PassiveCondition && Info.m_Skillinfo[i].m_condition != 0 && Info.m_Skillinfo[i].m_enable == true)
                {
                    m_ConditionSkill.Add(Info.m_Skillinfo[i]);
                    m_ConditionSkillTimeCount.Add(0f);
                }
                m_AllSkill.Add(Info.m_Skillinfo[i]);
                Info.m_Skillinfo[i].m_LifeTarget = null;
                Info.m_Skillinfo[i].m_TargetPos  = null;
            }
            else
            {
                m_AllSkill.Add(new SoldierSkill());
            }
        }
        GetNextSkill();
        m_CdTime     = m_CDDuration;
        m_CDDuration = m_AllSkill[0].m_cd;
        m_Release    = false;
        return(true);
    }
예제 #5
0
    /// <summary>
    /// 创建宠物
    /// </summary>
    private SummonPet CreatePet(int PetDataID, MapGrid StartGrid)
    {
        SummonpetInfo info = SummonM.GetSummonPetInfo(PetDataID);
        SummonPet     pet  = new SummonPet();

        pet.CreateSkin(BattleEnvironmentM.GetLifeMBornNode(true), info.m_modeltype, info.m_modeltype.ToString(), AnimatorState.Empty, true);
        //IGameRole i = GameRoleFactory.Create(BattleEnvironmentM.GetLifeMBornNode(true), info.m_modeltype, info.m_modeltype.ToString(), AnimatorState.Empty);
        GameObject go      = pet.RoleSkinCom.tRoot.gameObject;
        Vector3    pos     = Vector3.zero;
        string     posname = "";
        LifeObj    lo      = go.AddComponent <LifeObj>();

        pet.SetSummonPetLife(info, pet.RoleSkinCom.ProPerty, LifeEnvironment.Combat);
        pet.SetLifeCore(new LifeMCore(PetDataID, true, LifeMType.SUMMONPET, Camp, MoveState.Walk));
        pet.SetSkin();
        pet.SetBornPos(StartGrid.GridPos, 0);
        lo.SetLife(pet, pet.RoleSkinCom.ProPerty);
        go.transform.parent = BattleEnvironmentM.GetLifeMBornNode(true);
        Vector3 start = StartGrid.WorldPos;

        start.z = Camera.main.transform.position.z;
        go.transform.position = start;
        return(pet);
    }
예제 #6
0
    /// <summary>
    /// 设置召唤物数据
    /// </summary>
    private static void SetSummonPetInfo(ref SummonpetInfo Info, s_summonpetInfo I)
    {
        if (Info == null || I == null)
        {
            return;
        }
        Info.m_id            = I.id;
        Info.m_name          = I.name;
        Info.m_type          = I.type;
        Info.m_modeltype     = I.modeltype;
        Info.m_isattack      = I.isattack;
        Info.m_level         = I.level;
        Info.m_shape         = I.shape;
        Info.m_goorder       = I.goorder;
        Info.m_attack_like   = I.attack_like;
        Info.m_attack_type   = I.attacktype;
        Info.m_attack_time   = I.attack_time * 0.001f;
        Info.m_speed         = I.speed * 1.0f / MapGrid.m_Pixel;
        Info.m_jump_distance = I.jump_distance / MapGrid.m_Pixel;
        Info.m_resist        = I.resist;
        Info.m_hp            = I.hp;
        Info.m_phy_attack    = I.physical_attack;
        Info.m_phy_defend    = I.physical_defend;
        Info.m_phy_crit      = I.physical_crit;
        Info.m_magic_attack  = I.magic_attack;
        Info.m_magic_defend  = I.magic_defend;
        Info.m_magic_crit    = I.magic_crit;
        Info.m_dodge         = I.dodge;
        Info.m_time          = I.time;
        Info.m_AddAttr.SetAddAttrInfo(I);


        //爆击及闪避
        s_soldier_experienceInfo ExpInfo = SoldierM.GetSoldierExpData(I.level);

        if (ExpInfo != null)
        {
            Info.m_critratio  = ExpInfo.critratio;
            Info.m_dodgeratio = ExpInfo.dodgeratio;
        }
        //
        if (I.gskillid > 0)
        {
            SoldierSkill skill = new SoldierSkill();
            if (SkillM.GetSkillInfo(I.gskillid, ref skill) == true)
            {
                Info.m_Skillinfo.Add(skill);
            }
        }
        if (I.skill1id > 0)
        {
            SoldierSkill skill = new SoldierSkill();
            if (SkillM.GetSkillInfo(I.skill1id, ref skill) == true)
            {
                Info.m_Skillinfo.Add(skill);
            }
        }

        if (I.skill2id > 0)
        {
            SoldierSkill skill = new SoldierSkill();
            if (SkillM.GetSkillInfo(I.skill2id, ref skill) == true)
            {
                Info.m_Skillinfo.Add(skill);
            }
        }

        if (I.skill3id > 0)
        {
            SoldierSkill skill = new SoldierSkill();
            if (SkillM.GetSkillInfo(I.skill3id, ref skill) == true)
            {
                Info.m_Skillinfo.Add(skill);
            }
        }

        if (I.skill4id > 0)
        {
            SoldierSkill skill = new SoldierSkill();
            if (SkillM.GetSkillInfo(I.skill4id, ref skill) == true)
            {
                Info.m_Skillinfo.Add(skill);
            }
        }
    }