コード例 #1
0
    protected float GetContinuationTimeChangeRate(AttackedContinuationStatus status)
    {
        if (status.attackInfo == null)
        {
            return(1f);
        }
        float num    = status.hitTime + Time.get_time() - status.hitStartTime;
        float result = 1f;

        AttackInfo.TimeChange timeChange = status.attackInfo.timeChange;
        if (timeChange.intervalTime > 0f)
        {
            float num2 = (num - timeChange.startTime) / timeChange.intervalTime;
            if (num2 < 0f)
            {
                num2 = 0f;
            }
            if (num2 > 1f)
            {
                num2 = 1f;
            }
            result = timeChange.startRate + (timeChange.endRate - timeChange.startRate) * num2;
        }
        return(result);
    }
コード例 #2
0
    public virtual bool OnContinuationEnter(AttackContinuationInfo info, StageObject from_object, Collider from_collider, float time)
    {
        int i = 0;

        for (int count = continuationList.Count; i < count; i++)
        {
            if (continuationList[i].attackInfo == info && continuationList[i].fromCollider == from_collider)
            {
                return(false);
            }
        }
        AttackedContinuationStatus attackedContinuationStatus = new AttackedContinuationStatus();

        attackedContinuationStatus.attackInfo   = info;
        attackedContinuationStatus.fromObject   = from_object;
        attackedContinuationStatus.fromCollider = from_collider;
        attackedContinuationStatus.hitTime      = time;
        attackedContinuationStatus.hitStartTime = Time.get_time();
        continuationList.Add(attackedContinuationStatus);
        OnAttackedContinuationStart(attackedContinuationStatus);
        return(true);
    }
コード例 #3
0
 protected virtual void OnAttackedContinuationEnd(AttackedContinuationStatus status)
 {
 }
コード例 #4
0
 protected virtual void OnAttackedContinuationFixedUpdate(AttackedContinuationStatus status)
 {
 }