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); }
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); }
protected virtual void OnAttackedContinuationEnd(AttackedContinuationStatus status) { }
protected virtual void OnAttackedContinuationFixedUpdate(AttackedContinuationStatus status) { }