public void Nudge(NudgeInfo info) { Vector2 impulse = info.Trajectory.normalized; serverState.Speed = info.InitialSpeed; serverState.Impulse = impulse; if (info.SpinMode != SpinMode.None) { if (info.SpinMultiplier <= 0) { info.SpinMultiplier = 1; } serverState.SpinFactor = ( sbyte )(Mathf.Clamp(info.InitialSpeed * info.SpinMultiplier, sbyte.MinValue, sbyte.MaxValue) * (info.SpinMode == SpinMode.Clockwise ? 1 : -1)); } Logger.LogTraceFormat("Nudge:{0} {1}", Category.Transform, info, serverState); NotifyPlayers(); }
public void Nudge(NudgeInfo info) { if (PushPull.IsNotPushable) { return; } Vector2 impulse = info.Trajectory.normalized; serverState.Speed = info.InitialSpeed; serverState.WorldImpulse = impulse; if (info.SpinMode != SpinMode.None) { if (info.SpinMultiplier <= 0) { info.SpinMultiplier = 1; } serverState.SpinFactor = (sbyte)(Mathf.Clamp(info.InitialSpeed * info.SpinMultiplier, sbyte.MinValue, sbyte.MaxValue) * (info.SpinMode == SpinMode.Clockwise ? 1 : -1)); } Logger.LogTraceFormat(NUDGE, Category.Movement, info, serverState); NotifyPlayers(); }
public bool Equals(NudgeInfo other) { return(OriginPos.Equals(other.OriginPos) && Trajectory.Equals(other.Trajectory)); }