public void FoldParachute(TimeUpdateEvent e, SeparatedParachuteNode parachute) { if (parachute.bonusParachuteInstance.BonusParachuteInstance) { float progress = Date.Now.GetProgress(parachute.localDuration.StartedTime, parachute.localDuration.Duration); float x = 1f - (progress * ((1f - parachute.separateParachute.parachuteFoldingScaleByXZ) / parachute.localDuration.Duration)); parachute.bonusParachuteInstance.BonusParachuteInstance.transform.localScale = new Vector3(x, 1f - (progress * ((1f - parachute.separateParachute.parachuteFoldingScaleByY) / parachute.localDuration.Duration)), x); float alpha = 1f - progress; parachute.parachuteMaterial.Material.SetAlpha(alpha); } }
public void RemoveParachute(LocalDurationExpireEvent e, SeparatedParachuteNode bonus) { bonus.bonusParachuteInstance.BonusParachuteInstance.RecycleObject(); base.DeleteEntity(bonus.Entity); }