示例#1
0
 public static bool GetAmpRate(out int rate, int inRate, ISkillTarget owner, params int[] buffIds)
 {
     return(GetRateCore(out rate, inRate, EnumBoostType.AmpRate, owner, buffIds));
 }
示例#2
0
 public static bool GetAmpLast(out int last, int inLast, ISkillTarget owner, params int[] buffIds)
 {
     return(GetLastCore(out last, inLast, EnumBoostType.AmpLast, owner, buffIds));
 }
示例#3
0
 protected virtual EffSkillInstance CostSkill(SkillRunner coster, int id, ISkillTarget target)
 {
     return(coster.RunEff(id, target));
 }
示例#4
0
    // Use this for initialization
    public virtual bool CostSkill(ISkillTarget target = null, int sex = 2, bool buttonDown = false, bool buttonPressed = false)
    {
        LifeLimit si = mItemObj.GetCmpt <LifeLimit>();

        if (null == si)
        {
            return(false);
        }
        if (si.lifePoint.current < PETools.PEMath.Epsilon)
        {
            return(false);
        }

        if (mSkillMaleId.Count == 0 || mSkillFemaleId.Count == 0)
        {
            return(false);
        }

        //if(mItemObj.GetProperty(ItemProperty.Durability) < PETools.PEMath.Epsilon)
        //    return false;

        mCastSkillId = 0;

        switch (sex)
        {
        case 1:
            mCastSkillId = mSkillFemaleId[0];
            mSkillIndex  = 0;
            for (int i = 0; i < mSkillFemaleId.Count - 1; i++)
            {
                if (mSkillRunner.IsEffRunning(mSkillFemaleId[i]))
                {
                    mCastSkillId = mSkillFemaleId[i + 1];
                    mSkillIndex  = i + 1;
                }
            }
            break;

        case 2:
            mCastSkillId = mSkillMaleId[0];
            mSkillIndex  = 0;
            for (int i = 0; i < mSkillMaleId.Count - 1; i++)
            {
                if (mSkillRunner.IsEffRunning(mSkillMaleId[i]))
                {
                    mCastSkillId = mSkillMaleId[i + 1];
                    mSkillIndex  = i + 1;
                }
            }
            break;
        }

        EffSkillInstance skillInstance = CostSkill(mSkillRunner, mCastSkillId, target);

        if (null != mSkillRunner && null != target && null != skillInstance && mSkillRunner != target)
        {
            Vector3 dir = target.GetPosition() - mSkillRunner.transform.position;
            mSkillRunner.transform.LookAt(mSkillRunner.transform.position + dir, Vector3.up);
        }

        return(null != skillInstance);
    }
示例#5
0
    public Summon BuildSummon(uint summon_id, ISkillCaster caster, ISummonCaster summon_caster, ISkillTarget summon_target, SMTargetGet trigger_target_get)
    {
        Summon summon = new Summon();

        summon.Create(GameCenter.Instance.DataManager.skillSummonDB.Get(id, summon_id), m_Skill, caster, summon_caster, summon_target);

        summon.TriggerTargetsGet = trigger_target_get;

        summons.Add(summon);

        return(summon);
    }