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); }
public void SetSummonPetLife(SummonpetInfo Info, LifeProperty SkinProperty, LifeEnvironment Environment) { if (Info == null || SkinProperty == null) { return; } LifeProperty(SkinProperty); if (Environment == LifeEnvironment.Combat) { } else { } }
/// <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); } }
/// <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); }
/// <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); }
/// <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); } } }