コード例 #1
0
ファイル: Hero.cs プロジェクト: mengtest/EGamePlay
    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();
    }
コード例 #2
0
ファイル: SkillEntity.cs プロジェクト: mengtest/EGamePlay
 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();
         }
     }
 }
コード例 #3
0
ファイル: Hero.cs プロジェクト: mengtest/EGamePlay
    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();
    }
コード例 #4
0
ファイル: SkillListen.cs プロジェクト: mengtest/EGamePlay
 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();
         }
     }
 }