public void Move(int _deltaTime) { int motionDeltaDistance = 0; if (this.Movement.isFlying) { VInt3 location; if (this.motionControlers.Count != 0) { for (int i = 0; i < this.motionControlers.Count; i++) { SpecialMotionControler controler = this.motionControlers[i]; motionDeltaDistance += controler.GetMotionDeltaDistance(_deltaTime); } location = this.Movement.actor.location; location.y += motionDeltaDistance; if (this.Movement.actor.groundY.i > location.y) { location.y = this.Movement.actor.groundY.i; this.Movement.actor.location = location; } else { this.Movement.actor.location = location; } } else { location = this.Movement.actor.location; if (this.Movement.actor.groundY.i == this.Movement.actor.location.y) { this.Movement.isFlying = false; this.gravityControler.ResetTime(); } else if (this.Movement.actor.groundY.i > this.Movement.actor.location.y) { location.y = this.Movement.actor.groundY.i; this.Movement.actor.location = location; this.Movement.isFlying = false; this.gravityControler.ResetTime(); } else { motionDeltaDistance = this.gravityControler.GetMotionDeltaDistance(_deltaTime); location.y += motionDeltaDistance; if (this.Movement.actor.groundY.i > location.y) { location.y = this.Movement.actor.groundY.i; this.Movement.actor.location = location; this.Movement.isFlying = false; this.gravityControler.ResetTime(); } else { this.Movement.actor.location = location; } } } } }
public void Move(int _deltaTime) { int num = 0; if (!this.Movement.isFlying || this.Movement.actor.ActorControl.GetNoAbilityFlag(ObjAbilityType.ObjAbility_Freeze)) { return; } if (this.motionControlers.get_Count() != 0) { for (int i = 0; i < this.motionControlers.get_Count(); i++) { SpecialMotionControler specialMotionControler = this.motionControlers.get_Item(i); num += specialMotionControler.GetMotionDeltaDistance(_deltaTime); } VInt3 location = this.Movement.actor.location; location.y += num; if (this.Movement.actor.groundY.i > location.y) { location.y = this.Movement.actor.groundY.i; this.Movement.actor.location = location; } else { this.Movement.actor.location = location; } } else { VInt3 location = this.Movement.actor.location; if (this.Movement.actor.groundY.i == this.Movement.actor.location.y) { this.Movement.isFlying = false; this.gravityControler.ResetTime(); return; } if (this.Movement.actor.groundY.i > this.Movement.actor.location.y) { location.y = this.Movement.actor.groundY.i; this.Movement.actor.location = location; this.Movement.isFlying = false; this.gravityControler.ResetTime(); } else { num = this.gravityControler.GetMotionDeltaDistance(_deltaTime); location.y += num; if (this.Movement.actor.groundY.i > location.y) { location.y = this.Movement.actor.groundY.i; this.Movement.actor.location = location; this.Movement.isFlying = false; this.gravityControler.ResetTime(); } else { this.Movement.actor.location = location; } } } }