DinkSmallwoodHD/source/Component/FPSControlComponent.h
seth d4f66a5d2e Initial commit of Dink Smallwood HD source. See the "Programmer readme.txt" for information on how to set it up.
git-svn-id: svn://rtsoft.com/rtsvn/projects/RTDink@1469 353e56fe-9613-0410-8469-b96ad8e6f29c
2017-09-12 04:57:47 +00:00

65 lines
No EOL
1.8 KiB
C++

// ***************************************************************
// FPSControlComponent - Creation date: ?/?/2009
// -------------------------------------------------------------
// Robinson Technologies Copyright (C) 2009 - All Rights Reserved
//
// ***************************************************************
// Programmer(s): Seth A. Robinson (seth@rtsoft.com)
// ***************************************************************
#ifndef FPSControlComponent_h__
#define FPSControlComponent_h__
#include "Entity/Component.h"
#include "Entity/Entity.h"
#include "../dink/dink.h"
#define C_FLING_JOYSTICK_Y (520+50)
class FPSControlComponent: public EntityComponent
{
public:
FPSControlComponent();
virtual ~FPSControlComponent();
virtual void OnAdd(Entity *pEnt);
virtual void OnRemove();
private:
void OnRender(VariantList *pVList);
void OnUpdate(VariantList *pVList);
void OnStripUpdate(VariantList *pVList);
void OnOverStart(VariantList *pVList);
void OnOverEnd(VariantList *pVList);
void ClearKeyInput();
void ProcessLastJoystickReading();
void ProcessArrowInput(CL_Vec2f vDir);
void OnKillingControls(VariantList *pVList);
void OnArcadeInput(VariantList *pVList);
CL_Vec2f *m_pPos2d;
/*
CL_Vec2f *m_pSize2d;
float *m_pScale;
uint32 *m_pColor;
uint32 *m_pColorMod;
float *m_pAlpha;
uint32 *m_pAlignment;
float *m_pRotation; //in degrees
*/
Entity *m_pArrowEnt;
Entity *m_pCenterBall; //will be a child of the arrowEnt
CL_Vec2f m_lastTouchDir;
unsigned int m_timeOfLastTouch;
bool m_bTouchingArrows;
CL_Vec2f m_vArrowImageSizeOver2;
float m_arrowMinTransparency;
float m_arrowMaxTransparency;
};
void SendKey(eDinkInput key, bool bIsDown);
#endif // FPSControlComponent_h__