| 922 | } |
| 923 | |
| 924 | void 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 | |
| 972 | void PlayLayer::updateVisibility() |
| 973 | { |
no test coverage detected