MCPcopy Create free account
hub / github.com/Open-GD/OpenGD / applyEnterEffect

Method applyEnterEffect

Source/PlayLayer.cpp:924–970  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

922}
923
924void PlayLayer::applyEnterEffect(GameObject* obj)
925{
926 if (obj->getEnterEffectID() != _enterEffectID)
927 obj->setEnterEffectID(_enterEffectID);
928 Vec2 objStartPos = obj->getStartPosition();
929 Vec2 objStartScale = obj->getStartScale();
930 float rModn = getRelativeMod(objStartPos, 60.f, 60.f, 0.f);
931 float rMod = clampf(rModn, 0.f, 1.f);
932
933 switch (obj->getEnterEffectID())
934 {
935 case 2:
936 if (obj->getGameObjectType() != kGameObjectTypeYellowJumpPad)
937 {
938 obj->setScaleX(rMod * objStartScale.x);
939 obj->setScaleY(rMod * objStartScale.y);
940 }
941 break;
942 case 3:
943 if (obj->getGameObjectType() != kGameObjectTypeYellowJumpPad)
944 {
945 obj->setScaleX((2.f - rMod) * objStartScale.x);
946 obj->setScaleY((2.f - rMod) * objStartScale.y);
947 }
948 break;
949 case 4:
950 if (obj->getGameObjectType() != kGameObjectTypeYellowJumpPad)
951 obj->setPositionY((1.0 - rMod) * 100.f + objStartPos.y);
952 break;
953 case 5:
954 if (obj->getGameObjectType() != kGameObjectTypeYellowJumpPad)
955 obj->setPositionY((1.0 - rMod) * -100.f + objStartPos.y);
956 break;
957 case 6:
958 if (obj->getGameObjectType() != kGameObjectTypeYellowJumpPad)
959 obj->setPositionX((1.0 - rMod) * -100.f + objStartPos.x);
960 break;
961 case 7:
962 if (obj->getGameObjectType() != kGameObjectTypeYellowJumpPad)
963 obj->setPositionX((1.0 - rMod) * 100.f + objStartPos.x);
964 break;
965 default:
966 obj->setPosition(objStartPos);
967 break;
968 }
969 obj->setEnterEffectID(0);
970}
971
972void PlayLayer::updateVisibility()
973{

Callers 1

updateVisibilityMethod · 0.95

Calls 8

getEnterEffectIDMethod · 0.80
setEnterEffectIDMethod · 0.80
getStartPositionMethod · 0.80
getStartScaleMethod · 0.80
getGameObjectTypeMethod · 0.80
setScaleXMethod · 0.80
setScaleYMethod · 0.80
setPositionMethod · 0.80

Tested by

no test coverage detected