propclass/jump.h
00001 /* 00002 Crystal Space Entity Layer 00003 Copyright (C) 2001 by Jorrit Tyberghein 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public 00016 License along with this library; if not, write to the Free 00017 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 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
Generated for CEL: Crystal Entity Layer 2.0 by doxygen 1.6.1
