public void Attack() { var monster = GameObject.Find("/Monster"); var attackEffect = GameObject.Instantiate(AttackPrefab); attackEffect.transform.position = Vector3.up; attackEffect.GetComponent <LineRenderer>().SetPosition(0, transform.position); attackEffect.GetComponent <LineRenderer>().SetPosition(1, monster.transform.position); GameObject.Destroy(attackEffect, 0.05f); var vec = transform.position - monster.transform.position; var hitPoint = monster.transform.position + vec.normalized * .6f; hitPoint += Vector3.up; var hitEffect = GameObject.Instantiate(HitEffectPrefab); hitEffect.transform.position = hitPoint; GameObject.Destroy(hitEffect, 0.2f); var DamageOperation = CombatOperationManager.CreateOperation <DamageOperation>(CombatEntity); DamageOperation.Target = monster.GetComponent <Monster>().CombatEntity; DamageOperation.DamageSource = DamageSource.Attack; CombatEntity.NumericBox.PhysicAttack_I.SetBase(RandomHelper.RandomNumber(600, 999)); DamageOperation.ApplyDamage(); }
public void AssignSkillEffect() { foreach (var item in SkillConfigObject.EffectGroupList) { if (item.SkillEffectType == SkillEffectType.CauseDamage) { var operation = CombatOperationManager.CreateOperation <DamageOperation>(this.SpellCaster); operation.Target = SkillTarget; operation.DamageSource = DamageSource.Skill; operation.Expression = item.DamageValue; operation.ApplyDamage(); } else if (item.SkillEffectType == SkillEffectType.CureHero) { var operation = CombatOperationManager.CreateOperation <CureOperation>(this.SpellCaster); operation.Target = SkillTarget; operation.ApplyCure(); } else { var operation = CombatOperationManager.CreateOperation <AssignEffectOperation>(this.SpellCaster); operation.Target = SkillTarget; operation.ApplyAssignOperation(); } } }
public void SpellSkillB() { var monster = GameObject.Find("/Monster"); var operation = CombatOperationManager.CreateOperation <SpellSkillOperation>(this.CombatEntity); operation.Target = monster.GetComponent <Monster>().CombatEntity; var skill = CombatSkillManager.CreateSkill <Skill_1002>(); skill.SpellCaster = this.CombatEntity; skill.SkillConfigObject = Resources.Load <SkillConfigObject>("SkillConfigs/Skill_1002_炎爆"); operation.SkillEntity = skill; operation.SpellSkill(); }
public void Update() { if (SkillEntity.SkillConfigObject.TargetSelectType == SkillTargetSelectType.AreaSelect) { if (CastMapPoint(out var point)) { SkillGuideTrm.position = point; } if (Input.GetMouseButtonDown((int)MouseButton.LeftMouse)) { //SkillEntity.EndListen(); var operation = CombatOperationManager.CreateOperation <SpellSkillOperation>(SkillEntity.SpellCaster); operation.SpellSkill(); } } }