void TextRenderComponent::OnAdd(Entity *pEnt) { EntityComponent::OnAdd(pEnt); //shared with the rest of the entity m_pPos2d = &GetParent()->GetVar("pos2d")->GetVector2(); m_pSize2d = &GetParent()->GetVar("size2d")->GetVector2(); m_pScale2d = &GetParent()->GetVarWithDefault("scale2d", Variant(1.0f, 1.0f))->GetVector2(); m_pRotation = &GetParent()->GetVar("rotation")->GetFloat(); //in degrees m_pAlignment = &GetParent()->GetVar("alignment")->GetUINT32(); m_pColor = &GetParent()->GetVarWithDefault("color", Variant(MAKE_RGBA(255,255,255,255)))->GetUINT32(); m_pColorMod = &GetParent()->GetVarWithDefault("colorMod", Variant(MAKE_RGBA(255,255,255,255)))->GetUINT32(); m_pAlpha = &GetParent()->GetVarWithDefault("alpha", Variant(1.0f))->GetFloat(); m_pVisible = &GetParent()->GetVarWithDefault("visible", uint32(1))->GetUINT32(); m_pDisabled = &GetVarWithDefault("disabled", uint32(0))->GetUINT32(); m_pShadowColor = &GetVarWithDefault("shadowColor", Variant(MAKE_RGBA(0,0,0,0)))->GetUINT32(); //our own stuff m_pEffectPower = &GetVarWithDefault("effectPower", Variant(8.0f))->GetFloat(); m_pStyle = &GetVarWithDefault("style", Variant(uint32(STYLE_NORMAL)))->GetUINT32(); //if "fileName" is set, we'll know about it here m_pText = &GetVar("text")->GetString(); //local to us GetVar("text")->GetSigOnChanged()->connect(1, boost::bind(&TextRenderComponent::OnTextChanged, this, _1)); m_pFontID = &GetVarWithDefault("font", uint32(FONT_SMALL))->GetUINT32(); GetVar("font")->GetSigOnChanged()->connect(1, boost::bind(&TextRenderComponent::OnFontChanged, this, _1)); GetParent()->GetVar("scale2d")->GetSigOnChanged()->connect(1, boost::bind(&TextRenderComponent::OnScaleChanged, this, _1)); //register ourselves to render if the parent does GetParent()->GetFunction("OnRender")->sig_function.connect(1, boost::bind(&TextRenderComponent::OnRender, this, _1)); }
void TrailRenderComponent::OnAdd(Entity *pEnt) { EntityComponent::OnAdd(pEnt); m_insideTrailDrawingNow = false; m_frameRecordTimer= 0; m_timingSystem = GetBaseApp()->GetActiveTimingSystem(); //shared with the rest of the entity m_pPos2d = &GetParent()->GetVar("pos2d")->GetVector2(); m_pSize2d = &GetParent()->GetVar("size2d")->GetVector2(); m_pScale2d = &GetParent()->GetVarWithDefault("scale2d", Variant(1.0f, 1.0f))->GetVector2(); m_pColor = &GetParent()->GetVarWithDefault("color", Variant(MAKE_RGBA(255,255,255,255)))->GetUINT32(); m_pAlignment = &GetParent()->GetVar("alignment")->GetUINT32(); m_pColorMod = &GetParent()->GetVarWithDefault("colorMod", Variant(MAKE_RGBA(255,255,255,255)))->GetUINT32(); m_pAlpha = &GetParent()->GetVarWithDefault("alpha", Variant(1.0f))->GetFloat(); m_pRotation = &GetParent()->GetVar("rotation")->GetFloat(); //in degrees m_pTrailAlpha = &GetParent()->GetVarWithDefault("trailAlpha", 0.5f)->GetFloat(); //register ourselves to render if the parent does GetParent()->GetFunction("OnRender")->sig_function.connect(1, boost::bind(&TrailRenderComponent::OnRender, this, _1)); //our own variables/settings m_pFrames = &GetVarWithDefault("frames", uint32(5))->GetUINT32(); m_pTimeBetweenFramesMS = &GetVarWithDefault("timeBetweenFramesMS", uint32(50))->GetUINT32(); }
void ScrollComponent::OnAdd(Entity *pEnt) { EntityComponent::OnAdd(pEnt); //shared with the rest of the entity m_vecDisplacement = m_vecChildPos = CL_Vec2f(0,0); m_pPos2d = &GetParent()->GetVar("pos2d")->GetVector2(); m_pSize2d = &GetParent()->GetVar("size2d")->GetVector2(); //vars in our component namespace m_pBoundsRect = &GetVarWithDefault("boundsRect", CL_Rectf(0, 0, 0,0))->GetRect(); m_pScrollStyle = &GetVarWithDefault("scrollStyle", uint32(STYLE_MOMENTUM))->GetUINT32(); //only used for "momentum style" m_pFriction = &GetVarWithDefault("friction", 0.1f)->GetFloat(); m_pMaxScrollSpeed = &GetVarWithDefault("maxScrollSpeed", float(7))->GetFloat(); m_pPowerMod = &GetVarWithDefault("powerMod", float(0.15))->GetFloat(); m_progressVar = GetVar("progress2d"); m_pEnforceFingerTracking = &GetVarWithDefault("fingerTracking", uint32(0))->GetUINT32(); m_pSwipeDetectDistance = &GetVarWithDefault("swipeDetectDistance", 25.0f)->GetFloat(); m_pDontScrollUntilSwipeDetected = &GetVarWithDefault("dontScrollUntilSwipeDetected", uint32(0))->GetUINT32(); m_pEatAllInput = &GetVarWithDefault("eatAllInput", uint32(0))->GetUINT32(); GetParent()->GetFunction("OnOverStart")->sig_function.connect(1, boost::bind(&ScrollComponent::OnOverStart, this, _1)); GetParent()->GetFunction("OnOverEnd")->sig_function.connect(1, boost::bind(&ScrollComponent::OnOverEnd, this, _1)); GetParent()->GetFunction("OnOverMove")->sig_function.connect(1, boost::bind(&ScrollComponent::OnOverMove, this, _1)); GetParent()->GetFunction("OnUpdate")->sig_function.connect(1, boost::bind(&ScrollComponent::OnUpdate, this, _1)); GetFunction("SetProgress")->sig_function.connect(1, boost::bind(&ScrollComponent::SetProgress, this, _1)); }
void RectRenderComponent::OnAdd(Entity *pEnt) { EntityComponent::OnAdd(pEnt); m_pPos2d = &GetParent()->GetVar("pos2d")->GetVector2(); m_pSize2d = &GetParent()->GetVar("size2d")->GetVector2(); m_pScale2d = &GetParent()->GetVarWithDefault("scale2d", Variant(1.0f, 1.0f))->GetVector2(); m_pRotation = &GetParent()->GetVar("rotation")->GetFloat(); //in degrees m_pColor = &GetParent()->GetVarWithDefault("color", Variant(MAKE_RGBA(255,255,255,255)))->GetUINT32(); m_pColorMod = &GetParent()->GetVarWithDefault("colorMod", Variant(MAKE_RGBA(255,255,255,255)))->GetUINT32(); m_pAlpha = &GetParent()->GetVarWithDefault("alpha", Variant(1.0f))->GetFloat(); m_pAlignment = &GetParent()->GetVar("alignment")->GetUINT32(); //register ourselves to render if the parent does GetParent()->GetFunction("OnRender")->sig_function.connect(1, boost::bind(&RectRenderComponent::OnRender, this, _1)); m_pBorderColor = &GetVarWithDefault("borderColor", Variant(MAKE_RGBA(255,255,255,0)))->GetUINT32(); m_pVisualStyle = &GetVarWithDefault("visualStyle", uint32(STYLE_NORMAL))->GetUINT32(); }
void TouchDragComponent::OnAdd(Entity *pEnt) { EntityComponent::OnAdd(pEnt); m_lastPos = CL_Vec2f(-1,-1); m_pDisabled = &GetVarWithDefault("disabled", uint32(0))->GetUINT32(); m_pVisualStyle = &GetVarWithDefault("visualStyle", uint32(STYLE_NONE))->GetUINT32(); m_pOnTouchDragUpdate = GetFunction("OnTouchDragUpdate"); m_pPos2d = &GetParent()->GetVar("pos2d")->GetVector2(); m_pSize2d = &GetParent()->GetVar("size2d")->GetVector2(); m_pSwapXAndY = &GetVar("swapXAndY")->GetUINT32(); m_pReverseX = &GetVar("reverseX")->GetUINT32(); m_pReverseY = &GetVar("reverseY")->GetUINT32(); m_pDisabled = &GetVarWithDefault("disabled", uint32(0))->GetUINT32(); m_pTouchPadding = &GetParent()->GetVarWithDefault(string("touchPadding"), Variant(CL_Rectf()))->GetRect(); //this will only be set if TouchDragComponent is initted before the TouchHandler... //GetParent()->GetVarWithDefault(string("touchPadding"), Variant(CL_Rectf(0.0f, 0.0f, 0.0f, 0.0f)))->GetRect(); //register to get updated every frame GetParent()->GetFunction("OnInput")->m_sig_function.connect(1, boost::bind(&TouchDragComponent::OnInput, this, _1)); }
void InterpolateComponent::OnAdd(Entity *pEnt) { EntityComponent::OnAdd(pEnt); //if game is currently paused, assuming we should use a system timer so we don't pause with it m_pTimingSystem = &GetVarWithDefault("timingSystem", Variant(uint32(GetBaseApp()->GetActiveTimingSystem())))->GetUINT32(); m_pVarName = &GetVar("var_name")->GetString(); //local to us m_pDuration = &GetVar("duration_ms")->GetUINT32(); m_pDeleteAfterPlayCount = &GetVar("deleteAfterPlayCount")->GetUINT32(); m_pPlayCount = &GetVar("playCount")->GetUINT32(); m_pOnFinish = &GetVarWithDefault("on_finish", Variant( uint32(ON_FINISH_DIE)))->GetUINT32(); m_pInterpolateType = &GetVarWithDefault("interpolation", Variant( uint32(INTERPOLATE_LINEAR)))->GetUINT32(); m_pVarTarget = GetVar("target"); m_pComponentName = &GetShared()->GetVar("component_name")->GetString(); GetVar("var_name")->GetSigOnChanged()->connect(1, boost::bind(&InterpolateComponent::OnVarNameChanged, this, _1)); GetVar("duration_ms")->GetSigOnChanged()->connect(1, boost::bind(&InterpolateComponent::OnDurationChanged, this, _1)); //register to get updated every frame, assuming our entity gets an OnUpdate call GetParent()->GetFunction("OnUpdate")->sig_function.connect(1, boost::bind(&InterpolateComponent::OnUpdate, this, _1)); }
void TextBoxRenderComponent::OnAdd(Entity *pEnt) { EntityComponent::OnAdd(pEnt); //shared with the rest of the entity m_pPos2d = &GetParent()->GetVar("pos2d")->GetVector2(); m_pSize2d = &GetParent()->GetVarWithDefault("size2d", CL_Vec2f(300,200))->GetVector2(); m_pEnclosedSize2d = &GetParent()->GetVarWithDefault("enclosedSize2d", CL_Vec2f(0,0))->GetVector2(); m_pScale2d = &GetParent()->GetVarWithDefault("scale2d", Variant(1.0f, 1.0f))->GetVector2(); m_pAlignment = &GetParent()->GetVar("alignment")->GetUINT32(); m_pColor = &GetParent()->GetVarWithDefault("color", Variant(MAKE_RGBA(255,255,255,255)))->GetUINT32(); m_pColorMod = &GetParent()->GetVarWithDefault("colorMod", Variant(MAKE_RGBA(255,255,255,255)))->GetUINT32(); m_pAlpha = &GetParent()->GetVarWithDefault("alpha", Variant(1.0f))->GetFloat(); m_pTimingSystem = &GetParent()->GetVarWithDefault("timingSystem", Variant(uint32(GetBaseApp()->GetActiveTimingSystem())))->GetUINT32(); //our own stuff m_pFontScale = &GetVarWithDefault("fontScale", Variant(1.0f))->GetFloat(); m_pEffectPower = &GetVarWithDefault("effectPower", Variant(30.0f))->GetFloat(); m_pStyle = &GetVarWithDefault("style", Variant(uint32(STYLE_NORMAL)))->GetUINT32(); //this controls the alignment of the wrapped text within the text rect, not the text rect itself! m_pTextAlignment = &GetVarWithDefault("textAlignment", (uint32)ALIGNMENT_UPPER_LEFT)->GetUINT32(); GetVar("textAlignment")->GetSigOnChanged()->connect(1, boost::bind(&TextBoxRenderComponent::OnTextAlignmentChanged, this, _1)); m_pText = &GetVar("text")->GetString(); //local to us GetVar("text")->GetSigOnChanged()->connect(1, boost::bind(&TextBoxRenderComponent::OnTextChanged, this, _1)); m_pFontID = &GetVarWithDefault("font", uint32(FONT_SMALL))->GetUINT32(); GetVar("font")->GetSigOnChanged()->connect(1, boost::bind(&TextBoxRenderComponent::OnFontChanged, this, _1)); pEnt->GetVar("scale2d")->GetSigOnChanged()->connect(1, boost::bind(&TextBoxRenderComponent::OnScaleChanged, this, _1)); //register ourselves to render if the parent does pEnt->GetFunction("OnRender")->sig_function.connect(1, boost::bind(&TextBoxRenderComponent::OnRender, this, _1)); }
void SelectButtonWithCustomInputComponent::OnAdd(Entity *pEnt) { EntityComponent::OnAdd(pEnt); //first setup to listen to keyboard messages GetParent()->GetFunction("OnInput")->sig_function.connect(1, boost::bind(&SelectButtonWithCustomInputComponent::OnInput, this, _1)); //used for keyboard keys on Win GetBaseApp()->m_sig_raw_keyboard.connect(1, boost::bind(&SelectButtonWithCustomInputComponent::OnInputRaw, this, _1)); //used for keyboard keys on Win m_pDisabled = &GetVarWithDefault("disabled", uint32(0))->GetUINT32(); m_pKeys = &GetVar("keys")->GetString(); //local to us m_pKeyCode = &GetVar("keycode")->GetUINT32(); //local to us //if keys and keycode are not set, it will be activated on "any key" //if either are set, it will only activate if those key/keys are hit. //you should attach to its "OnActivated" function to know whey a key is hit }
void FilterInputComponent::OnAdd(Entity *pEnt) { EntityComponent::OnAdd(pEnt); //register to get updated every frame GetParent()->OnFilterAdd(); GetParent()->GetFunction("FilterOnInput")->sig_function.connect(1, boost::bind(&FilterInputComponent::FilterOnInput, this, _1)); m_pPos2d = &GetParent()->GetVar("pos2d")->GetVector2(); m_pSize2d = &GetParent()->GetVar("size2d")->GetVector2(); m_pAlignment = &GetParent()->GetVar("alignment")->GetUINT32(); //our own vars m_pMode = &GetVarWithDefault("mode", uint32(MODE_CLIP_INPUT_TO_SIZE))->GetUINT32(); m_pClipRect = &GetVar("clipRect")->GetRect(); }
void ArcadeInputComponent::OnAdd(Entity *pEnt) { EntityComponent::OnAdd(pEnt); m_pPos2d = &GetParent()->GetVar("pos2d")->GetVector2(); //register ourselves to render if the parent does //GetParent()->GetFunction("OnRender")->sig_function.connect(1, boost::bind(&MovementInputComponent::OnRender, this, _1)); GetBaseApp()->m_sig_update.connect(1, boost::bind(&ArcadeInputComponent::OnUpdate, this, _1)); GetBaseApp()->m_sig_trackball.connect(1, boost::bind(&ArcadeInputComponent::OnTrackball, this, _1)); GetBaseApp()->m_sig_raw_keyboard.connect(1, boost::bind(&ArcadeInputComponent::OnRawKeyboard, this, _1)); GetFunction("SetOutputEntity")->sig_function.connect(1, boost::bind(&ArcadeInputComponent::SetOutput, this, _1)); GetFunction("RemoveKeyBindingsStartingWith")->sig_function.connect(1, boost::bind(&ArcadeInputComponent::RemoveKeyBindingsStartingWith, this, _1)); GetFunction("AddKeyBinding")->sig_function.connect(1, boost::bind(&ArcadeInputComponent::AddKeyBinding, this, _1)); m_pTrackballMode = &GetVarWithDefault("trackball_mode", uint32(TRACKBALL_MODE_WALKING))->GetUINT32(); //get notified when this changes: GetVar("trackball_mode")->GetSigOnChanged()->connect(1, boost::bind(&ArcadeInputComponent::OnTrackballModeChanged, this, _1)); //example of adding a keybinding: //pComp->GetFunction("AddKeyBinding")->sig_function(&VariantList(string("Left"), uint32(VIRTUAL_KEY_DIR_LEFT), uint32(VIRTUAL_KEY_DIR_LEFT))); }
void OverlayRenderComponent::OnAdd(Entity *pEnt) { EntityComponent::OnAdd(pEnt); //shared with the rest of the entity m_pTex = NULL; m_pPos2d = &GetParent()->GetVar("pos2d")->GetVector2(); m_pSize2d = &GetParent()->GetVar("size2d")->GetVector2(); m_pScale2d = &GetParent()->GetVarWithDefault("scale2d", Variant(1.0f, 1.0f))->GetVector2(); m_pRotation = &GetParent()->GetVar("rotation")->GetFloat(); //in degrees m_pRotationCenter = &GetParent()->GetVarWithDefault("rotationCenter", Variant(0.5f, 0.5f))->GetVector2(); m_pColor = &GetParent()->GetVarWithDefault("color", Variant(MAKE_RGBA(255,255,255,255)))->GetUINT32(); m_pColorMod = &GetParent()->GetVarWithDefault("colorMod", Variant(MAKE_RGBA(255,255,255,255)))->GetUINT32(); m_pAlpha = &GetParent()->GetVarWithDefault("alpha", Variant(1.0f))->GetFloat(); m_pVisible = &GetParent()->GetVarWithDefault("visible", uint32(1))->GetUINT32(); m_pFrameX = &GetVar("frameX")->GetUINT32(); //applicable if SetupAnim was used m_pFrameY = &GetVar("frameY")->GetUINT32(); //applicable if SetupAnim was used m_pFlipX = &GetVar("flipX")->GetUINT32(); m_pFlipY = &GetVar("flipY")->GetUINT32(); m_pFileName = &GetVar("fileName")->GetString(); //local to us GetVarWithDefault("frameSize2d", Variant(0.0f, 0.0f)); //any post var data you want to send, must send it before the Init GetFunction("SetupAnim")->sig_function.connect(1, boost::bind(&OverlayRenderComponent::SetupAnim, this, _1)); //if "fileName" is set, we'll know about it here GetVar("fileName")->GetSigOnChanged()->connect(boost::bind(&OverlayRenderComponent::OnFileNameChanged, this, _1)); pEnt->GetVar("scale2d")->GetSigOnChanged()->connect(boost::bind(&OverlayRenderComponent::OnScaleChanged, this, _1)); //register ourselves to render if the parent does GetParent()->GetFunction("OnRender")->sig_function.connect(1, boost::bind(&OverlayRenderComponent::OnRender, this, _1)); }