private Skill CreateSkill(SkillCreateContext ctx) { Skill skill; SkillType skillType = (SkillType)ctx.SkillData.Type; switch (skillType) { case SkillType.SDamage: skill = new SkillSDamage(); break; default: { Debug.LogError("SkillPart::CreateSkill Skill Type Not Implement!!!"); return(null); } break; } if (skill.Create(ctx) == false) { Debug.LogError("SkillPart::CreateSkill Skill Failed !!!"); return(null); } return(skill); }
public virtual bool Create(SkillCreateContext ctx) { m_owner = ctx.Owner; m_skillData = ctx.SkillData; m_targeUID = ctx.TargetUID; SetState(State.Fire); return(true); }
public override bool Create(SkillCreateContext ctx) { if (base.Create(ctx) == false) { return(false); } return(true); }
public UseSkillResult UseSkill() { EctypeEntity ectypeEntity = GameMgr.Instance.m_ectypeMgr.m_Ectype.GetNearestTarget(m_owner); SkillCreateContext ctx = new SkillCreateContext(); ctx.Owner = m_owner; ctx.SkillData = m_skillData; ctx.TargetUID = ectypeEntity.entity.UID; Skill skill = CreateSkill(ctx); if (skill == null) { return(UseSkillResult.None); } AddSkill(skill); return(UseSkillResult.OK); }