00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CEL_PF_JUMP__
00021 #define __CEL_PF_JUMP__
00022
00023 #include "cstypes.h"
00024 #include "csutil/scf.h"
00025
00026 struct iPcJump : public virtual iBase
00027 {
00028 SCF_INTERFACE (iPcJump, 0, 0, 1);
00029
00036 virtual void Jump () = 0;
00037
00042 virtual void FinishBoost () = 0;
00043
00047 virtual void Freeze (bool frozen) = 0;
00048
00049 enum State
00050 {
00051 STAND = 0,
00052 JUMP,
00053 DOUBLEJUMP,
00054 GLIDE,
00055 FROZEN
00056 };
00057
00061 virtual State GetState () const = 0;
00062
00063 enum GlideTurnDirection
00064 {
00065 GLIDE_NOTURN = 0,
00066 GLIDE_LEFT,
00067 GLIDE_RIGHT
00068 };
00069
00073 virtual void GlideTurn (GlideTurnDirection gtur) = 0;
00074
00075 enum GlidePitchDirection
00076 {
00077 GLIDE_NOPITCH = 0,
00078 GLIDE_UP,
00079 GLIDE_DOWN
00080 };
00081
00085 virtual void GlidePitch (GlidePitchDirection gpit) = 0;
00086
00090 virtual void SetGlideGravity (float glidegrav) = 0;
00091
00095 virtual float GetGlideGravity () const = 0;
00096
00100 virtual void SetGlidePitchLimit (float gptlim) = 0;
00101
00105 virtual float GetGlidePitchLimit () const = 0;
00106
00110 virtual void SetGlidePitchSpeed (float gptspd) = 0;
00111
00115 virtual float GetGlidePitchSpeed () const = 0;
00116
00120 virtual void SetGlideTurnSpeed (float gtrspd) = 0;
00121
00125 virtual float GetGlideTurnSpeed () const = 0;
00126
00130 virtual void SetJumpSpeed (float spd) = 0;
00131
00135 virtual float GetJumpSpeed () const = 0;
00136
00140 virtual void SetJumpHeight (float height) = 0;
00141
00146 virtual float GetJumpHeight () const = 0;
00147
00151 virtual csTicks GetAirTime () const = 0;
00152
00156 virtual void SetDoubleJumpSpeed (float spd) = 0;
00157
00161 virtual float GetDoubleJumpSpeed () const = 0;
00162
00168 virtual void SetGravity (float grav) = 0;
00169
00173 virtual float GetGravity () const = 0;
00174
00178 virtual void SetFixedJump (bool fixjump) = 0;
00179
00183 virtual bool GetFixedJump () const = 0;
00184
00188 virtual void SetBoostJump (bool boost) = 0;
00189
00193 virtual bool GetBoostJump () const = 0;
00194
00195 virtual void SetBoostTime (float t) = 0;
00196 virtual float GetBoostTime () const = 0;
00197 virtual void SetBoostAcceleration (float a) = 0;
00198 virtual float GetBoostAcceleration () const = 0;
00199 };
00200
00201 #endif // __CEL_PF_JUMP__
00202