propclass/actormove.h
00001 /* 00002 Crystal Space Entity Layer 00003 Copyright (C) 2004 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_ACTORMOVE__ 00021 #define __CEL_PF_ACTORMOVE__ 00022 00023 #include "cstypes.h" 00024 #include "csutil/scf.h" 00025 00026 // For animations. 00027 enum celAnimationName 00028 { 00029 CEL_ANIM_IDLE = 0, 00030 CEL_ANIM_WALK, 00031 CEL_ANIM_RUN, 00032 CEL_ANIM_JUMP 00033 }; 00034 00076 struct iPcActorMove : public virtual iBase 00077 { 00078 SCF_INTERFACE (iPcActorMove, 1, 0, 0); 00079 00081 virtual void Forward (bool start) = 0; 00083 virtual bool IsMovingForward () = 0; 00085 virtual void Backward (bool start) = 0; 00087 virtual bool IsMovingBackward () = 0; 00089 virtual bool IsMoving () = 0; 00091 virtual void StrafeLeft (bool start) = 0; 00093 virtual bool IsStrafingLeft () = 0; 00095 virtual void StrafeRight (bool start) = 0; 00097 virtual bool IsStrafingRight () = 0; 00099 virtual void RotateLeft (bool start) = 0; 00101 virtual bool IsRotatingLeft () = 0; 00103 virtual void RotateRight (bool start) = 0; 00105 virtual bool IsRotatingRight () = 0; 00107 virtual void RotateTo (float yrot) = 0; 00109 virtual void Run (bool start) = 0; 00111 virtual bool IsRunning () = 0; 00113 virtual void AutoRun (bool start) = 0; 00115 virtual bool IsAutoRunning () = 0; 00122 virtual void MouseMove (float x, float y) = 0; 00124 virtual void Jump () = 0; 00126 virtual void ToggleCameraMode () = 0; 00127 00132 virtual void EnableMouseMove (bool en) = 0; 00134 virtual bool IsMouseMoveEnabled () const = 0; 00135 00142 virtual void SetMouseMoveAccelerated (bool en) = 0; 00144 virtual bool IsMouseMoveAccelerated () const = 0; 00145 00150 virtual void SetMouseMoveInverted (bool en) = 0; 00152 virtual bool IsMouseMoveInverted () const = 0; 00153 00157 virtual void SetMouseMoveSpeed (float xs, float ys) = 0; 00159 virtual float GetMouseMoveSpeedX () const = 0; 00161 virtual float GetMouseMoveSpeedY () const = 0; 00162 00164 virtual void SetMovementSpeed (float speed) = 0; 00166 virtual float GetMovementSpeed () const = 0; 00167 00169 virtual void SetRunningSpeed (float speed) = 0; 00171 virtual float GetRunningSpeed () const = 0; 00172 00174 virtual void SetRotationSpeed (float speed) = 0; 00176 virtual float GetRotationSpeed () const = 0; 00177 00179 virtual void SetJumpingVelocity (float speed) = 0; 00181 virtual float GetJumpingVelocity () const = 0; 00183 virtual void SetAnimation (const char *name, bool cycle = true) = 0; 00185 virtual void SetAnimationMapping (celAnimationName idx, const char *name) = 0; 00186 }; 00187 00188 #endif // __CEL_PF_ACTORMOVE__ 00189
Generated for CEL: Crystal Entity Layer 1.4.1 by doxygen 1.7.1