public override void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
    {
        Debug.Log("TriggerEffectLogic_Bullet");
        CharacterInfo charInfo   = triggerInfo.charInfo;
        CharacterInfo targetInfo = charInfo.GetAttackInfo();

        EntityManager.getInstance().AddBullet(1, charInfo, targetInfo, 200f, triggerInfo.triggerGroup.Id);
        //EntityManager.getInstance().AddMoveEffect(1, charInfo.GetPosition(), targetInfo.GetPosition(), 2.5f);
    }
    public override void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
    {
        //Debug.Log("TriggerGroupId = " + triggerInfo.triggerGroup.Id + "TriggerEffectLogic_SkillEvent");
        CharacterInfo charInfo = triggerInfo.charInfo;

        if (effectInfo.paramList != null && effectInfo.paramList[0] == "end")
        {
            SkillManager.getInstance().EndSkill(triggerInfo.skillInfo, triggerInfo.triggerGroup);
        }
    }
예제 #3
0
    public override void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
    {
        //Debug.Log("TriggerGroupId = "+ triggerInfo.triggerGroup.Id + "TriggerEffectLogic_Action");
        if (effectInfo.paramList == null || effectInfo.paramList[0] == null)
        {
            return;
        }
        CharacterInfo charInfo = triggerInfo.charInfo;

        charInfo.DoAction(effectInfo.paramList[0]);
    }
    public override void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
    {
        //Debug.Log("TriggerGroupId = " + triggerInfo.triggerGroup.Id + "TriggerEffectLogic_Hurt");
        CharacterInfo charInfo = triggerInfo.charInfo;

        if (!charInfo.IsDead())
        {
            charInfo.Hurt();
        }
        //Debug.Log(charInfo);
        //Debug.Log(charInfo.GetAttackInfo());
    }
예제 #5
0
    public override void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
    {
        if (effectInfo.paramList == null || effectInfo.paramList[0] == null)
        {
            return;
        }
        CharacterInfo charInfo   = triggerInfo.charInfo;
        CharacterInfo targetInfo = triggerInfo.triggerGroup.triggerlogicData.targetInfo;
        int           effectId   = int.Parse(effectInfo.paramList[0]);

        EntityManager.getInstance().AddConnectEffect(effectId, charInfo, targetInfo);
    }
 public override void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
 {
     //CharacterInfo charInfo = triggerInfo.charInfo;
     //CharacterInfo targetInfo = charInfo.GetTargetInfo();
     //Vector3 targetPos = targetInfo.GetPosition();
     //List<MonsterInfo> monsterList = EntityManager.getInstance().GetMonsterInfo();
     //foreach (MonsterInfo monster in monsterList)
     //{
     //    if (Vector3.Distance(targetPos, monster.GetPosition()) <= 100)
     //    {
     //        //在范围内造成伤害
     //    }
     //}
 }
예제 #7
0
    public override void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
    {
        CharacterInfo charInfo = triggerInfo.charInfo;

        //Debug.Log("TriggerGroupId = "+ triggerInfo.triggerGroup.Id + "TriggerEffectLogic_Action");
        if (effectInfo.paramList == null || effectInfo.paramList[0] == null)
        {
            return;
        }
        string actionName = effectInfo.paramList[0];
        float  actionTime = charInfo.GetFinalAttr(CharAttr.AttackTime);

        charInfo.DoAction(effectInfo.paramList[0], actionTime);
    }
예제 #8
0
    public override void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
    {
        CharacterInfo      charInfo    = triggerInfo.charInfo;
        CharacterInfo      targetInfo  = charInfo.GetAttackInfo();
        Vector3            targetPos   = targetInfo.GetPosition();
        List <MonsterInfo> monsterList = EntityManager.getInstance().GetMonsterInfo();

        foreach (MonsterInfo monster in monsterList)
        {
            if (Vector3.Distance(targetPos, monster.GetPosition()) <= 100)
            {
                //在范围内造成伤害
            }
        }
    }
예제 #9
0
    public override void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
    {
        //Debug.Log("TriggerEffectLogic_Bullet");
        if (effectInfo.paramList == null || effectInfo.paramList[0] == null)
        {
            return;
        }
        CharacterInfo charInfo   = triggerInfo.charInfo;
        CharacterInfo targetInfo = triggerInfo.triggerGroup.triggerlogicData.targetInfo;
        //CharacterInfo targetInfo = charInfo.GetTargetInfo();
        int   effectId = int.Parse(effectInfo.paramList[0]);
        int   pathType = int.Parse(effectInfo.paramList[1]);
        float speed    = float.Parse(effectInfo.paramList[2]);

        //EntityManager.getInstance().AddBullet(1, charInfo, targetInfo, 200f, triggerInfo.triggerGroup.Id);
        EntityManager.getInstance().AddMoveEffect(effectId, charInfo, targetInfo, speed, pathType, triggerInfo.triggerGroup.Id);
    }
    public override void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
    {
        //Debug.Log("ShowEffect");
        if (effectInfo.paramList == null || effectInfo.paramList[0] == null)
        {
            return;
        }
        int effectId = int.Parse(effectInfo.paramList[0]);
        int showType = int.Parse(effectInfo.paramList[1]);

        if (showType == 1)
        {
            Vector3 pos = triggerInfo.charInfo.GetPosition();
            EntityManager.getInstance().AddStaticEffect(effectId, pos);
        }
        else if (showType == 2)
        {
            Vector3 pos = triggerInfo.triggerGroup.triggerlogicData.pos;
            EntityManager.getInstance().AddStaticEffect(effectId, pos);
        }
    }
예제 #11
0
    public override void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
    {
        //Debug.Log("TriggerGroupId = " + triggerInfo.triggerGroup.Id + "TriggerEffectLogic_Hurt");
        CharacterInfo charInfo = triggerInfo.charInfo;

        if (!charInfo.IsDead())
        {
            //CharacterInfo targetInfo = charInfo.GetTargetInfo();
            CharacterInfo targetInfo = triggerInfo.triggerGroup.triggerlogicData.targetInfo;
            if (targetInfo.charId == 50001)
            {
                //Debug.Log("骑士正在掉血" + targetInfo.GetAttr(CharAttr.Hp));
            }
            BattleUtils.CalcAtkDamage(charInfo, targetInfo);
            if (targetInfo.IsDead())
            {
                targetInfo.ChangeState("die");
            }
        }
        //Debug.Log(charInfo);
        //Debug.Log(charInfo.GetAttackInfo());
    }
예제 #12
0
    public void LoadDataWithConfig(TriggerConfigData data)
    {
        int index = 0;

        foreach (ConfigData condition in data.conditions)
        {
            index++;
            TriggerCondInfo condInfo = new TriggerCondInfo(index);
            condInfo.triggerInfo = this;
            condInfo.LoadDataWithConfig(condition);
            condInfos.Add(condInfo);
        }
        index = 0;
        foreach (ConfigData effect in data.effects)
        {
            index++;
            TriggerEffectInfo effectInfo = new TriggerEffectInfo(index);
            effectInfo.triggerInfo = this;
            effectInfo.LoadDataWithConfig(effect);
            effectInfos.Add(effectInfo);
        }
    }
예제 #13
0
 public virtual void ExcuteAction(TriggerInfo triggerInfo, TriggerEffectInfo effectInfo)
 {
 }