public void GravityMoveLerp(int _deltaTime, bool bReset) { int motionLerpDistance = 0; Vector3 zero = Vector3.zero; SpecialMotionControler controler = null; if (this.Movement != null) { VInt num2; if (this.motionControlers.Count != 0) { this.Movement.isLerpFlying = true; zero = this.Movement.actor.gameObject.transform.position; PathfindingUtility.GetGroundY((VInt3)zero, out num2); for (int i = 0; i < this.motionControlers.Count; i++) { controler = this.motionControlers[i]; motionLerpDistance += controler.GetMotionLerpDistance(_deltaTime); } zero.y += ((float)motionLerpDistance) / 1000f; if (((float)num2) > zero.y) { zero.y = (float)num2; this.Movement.actor.gameObject.transform.position = zero; } else { this.Movement.actor.gameObject.transform.position = zero; } } else if (this.Movement.isLerpFlying) { zero = this.Movement.actor.gameObject.transform.position; PathfindingUtility.GetGroundY((VInt3)zero, out num2); if (((float)num2) >= zero.y) { zero.y = (float)num2; this.Movement.actor.gameObject.transform.position = zero; this.Movement.isLerpFlying = false; this.gravityControler.ResetLerpTime(); } else { motionLerpDistance = this.gravityControler.GetMotionLerpDistance(_deltaTime); zero.y += ((float)motionLerpDistance) / 1000f; if (((float)num2) > zero.y) { zero.y = (float)num2; this.Movement.actor.gameObject.transform.position = zero; this.Movement.isLerpFlying = false; this.gravityControler.ResetLerpTime(); } else { this.Movement.actor.gameObject.transform.position = zero; } } } } }
public void GravityMoveLerp(int _deltaTime, bool bReset) { int num = 0; Vector3 position = Vector3.zero; if (this.Movement == null || this.Movement.actor.ActorControl.GetNoAbilityFlag(ObjAbilityType.ObjAbility_Freeze)) { return; } if (this.motionControlers.get_Count() != 0) { this.Movement.isLerpFlying = true; position = this.Movement.actor.myTransform.position; VInt vInt; PathfindingUtility.GetGroundY(this.Movement.actor.location, out vInt); for (int i = 0; i < this.motionControlers.get_Count(); i++) { SpecialMotionControler specialMotionControler = this.motionControlers.get_Item(i); num += specialMotionControler.GetMotionLerpDistance(_deltaTime); } position.y += (float)num / 1000f; if ((float)vInt > position.y) { position.y = (float)vInt; this.Movement.actor.myTransform.position = position; } else { this.Movement.actor.myTransform.position = position; } } else if (this.Movement.isLerpFlying) { position = this.Movement.actor.myTransform.position; VInt vInt; PathfindingUtility.GetGroundY(this.Movement.actor.location, out vInt); if ((float)vInt >= position.y) { position.y = (float)vInt; this.Movement.actor.myTransform.position = position; this.Movement.isLerpFlying = false; this.gravityControler.ResetLerpTime(); } else { num = this.gravityControler.GetMotionLerpDistance(_deltaTime); position.y += (float)num / 1000f; if ((float)vInt > position.y) { position.y = (float)vInt; this.Movement.actor.myTransform.position = position; this.Movement.isLerpFlying = false; this.gravityControler.ResetLerpTime(); } else { this.Movement.actor.myTransform.position = position; } } } }