204 lines
6.8 KiB
ActionScript 3
204 lines
6.8 KiB
ActionScript 3
void onStart()
|
|
{
|
|
Utils::logInfo("onStart(): start Driving Tutorial");
|
|
switch (GUI::getRaceGUIType())
|
|
{
|
|
case GUI::KEYBOARD_GAMEPAD:
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Accelerate with <%s>, and steer with <%s> and <%s>.",
|
|
GUI::getKeyBinding(GUI::PlayerAction::ACCEL),
|
|
GUI::getKeyBinding(GUI::PlayerAction::STEER_LEFT),
|
|
GUI::getKeyBinding(GUI::PlayerAction::STEER_RIGHT)
|
|
)
|
|
);
|
|
break;
|
|
case GUI::STEERING_WHEEL:
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Accelerate by touching the upper part of the wheel, and steer by moving left or right.")
|
|
);
|
|
break;
|
|
case GUI::ACCELEROMETER:
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Accelerate by moving the accelerator upwards, and steer by tilting your device.")
|
|
);
|
|
break;
|
|
case GUI::GYROSCOPE:
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Accelerate by moving the accelerator upwards, and steer by rotating your device.")
|
|
);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void onBoxHitByItem(int itemType, int idKart, const string objID)
|
|
{
|
|
// Test
|
|
Utils::logInfo("ScriptingCallback: onBoxHitByItem. Item = " + itemType + "; idKart = " + idKart + "; objID = " + objID);
|
|
}
|
|
|
|
void onKartKartCollision(int idKart1, int idKart2)
|
|
{
|
|
// Test
|
|
Utils::logInfo("ScriptingCallback: onKartKartCollision: " + idKart1 + " - " + idKart2);
|
|
}
|
|
|
|
void tutorial_bananas(int idKart)
|
|
{
|
|
Utils::logInfo("tutorial_bananas(Kart " + idKart + "): Triggered");
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Avoid bananas!"),
|
|
GUI::ERROR);
|
|
}
|
|
|
|
void tutorial_giftboxes(int idKart)
|
|
{
|
|
Utils::logInfo("tutorial_giftboxes(Kart " + idKart + "): Triggered");
|
|
if (GUI::getRaceGUIType() == GUI::KEYBOARD_GAMEPAD)
|
|
{
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Collect gift boxes, and fire the weapon with <%s> to blow away these boxes!",
|
|
GUI::getKeyBinding(GUI::PlayerAction::FIRE)
|
|
)
|
|
);
|
|
}
|
|
else
|
|
{
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Collect gift boxes, and fire by pressing the bowling icon to blow away these boxes!")
|
|
);
|
|
}
|
|
}
|
|
|
|
void tutorial_backgiftboxes(int idKart)
|
|
{
|
|
Utils::logInfo("tutorial_backgiftboxes(Kart " + idKart + "): Triggered");
|
|
if (GUI::getRaceGUIType() == GUI::KEYBOARD_GAMEPAD)
|
|
{
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Press <%s> to look behind.\nFire the weapon with <%s> while pressing <%s> to fire behind!",
|
|
GUI::getKeyBinding(GUI::PlayerAction::LOOK_BACK),
|
|
GUI::getKeyBinding(GUI::PlayerAction::FIRE),
|
|
GUI::getKeyBinding(GUI::PlayerAction::LOOK_BACK)
|
|
)
|
|
);
|
|
}
|
|
else
|
|
{
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Press the mirror icon to look behind.\nFire the weapon behind by holding the mirror icon and then swiping to the bowling icon!")
|
|
);
|
|
}
|
|
}
|
|
|
|
void tutorial_nitro_use(int idKart)
|
|
{
|
|
Utils::logInfo("tutorial_nitro_use(Kart " + idKart + "): Triggered");
|
|
if (GUI::getRaceGUIType() == GUI::KEYBOARD_GAMEPAD)
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Use the nitro you collected by pressing <%s>!",
|
|
GUI::getKeyBinding(GUI::PlayerAction::NITRO)
|
|
)
|
|
);
|
|
else
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Use the nitro you collected by pressing the nitro icon")
|
|
);
|
|
}
|
|
|
|
void tutorial_nitro_collect(int idKart)
|
|
{
|
|
Utils::logInfo("tutorial_nitro_collect(Kart " + idKart + "): Triggered");
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Collect nitro bottles (we will use them after the curve).")
|
|
);
|
|
}
|
|
|
|
void tutorial_rescue(int idKart)
|
|
{
|
|
Utils::logInfo("tutorial_rescue(Kart " + idKart + "): Triggered");
|
|
if (GUI::getRaceGUIType() == GUI::KEYBOARD_GAMEPAD)
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Oops! When you're in trouble, press <%s> to be rescued.",
|
|
GUI::getKeyBinding(GUI::PlayerAction::RESCUE)
|
|
),
|
|
GUI::ERROR);
|
|
else
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Oops! When you're in trouble, press the bird icon to be rescued."),
|
|
GUI::ERROR);
|
|
}
|
|
|
|
void tutorial_skidding(int idKart)
|
|
{
|
|
Utils::logInfo("tutorial_skidding(Kart " + idKart + "): Triggered");
|
|
if (GUI::getRaceGUIType() == GUI::KEYBOARD_GAMEPAD)
|
|
{
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Accelerate and press the <%s> key while turning to skid.\nSkidding for a short while can help you turn faster to take sharp turns.",
|
|
GUI::getKeyBinding(GUI::PlayerAction::DRIFT)
|
|
)
|
|
);
|
|
}
|
|
else
|
|
{
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Accelerate and press the skid icon while turning to skid.\nSkidding for a short while can help you turn faster to take sharp turns.",
|
|
GUI::getKeyBinding(GUI::PlayerAction::DRIFT)
|
|
)
|
|
);
|
|
}
|
|
}
|
|
|
|
void tutorial_skidding2(int idKart)
|
|
{
|
|
Utils::logInfo("tutorial_skidding2(Kart " + idKart + "): Triggered");
|
|
GUI::displayStaticMessage(
|
|
GUI::translate("Note that if you manage to skid for several seconds, you will receive a bonus speedup as a reward!")
|
|
);
|
|
}
|
|
|
|
void tutorial_endmessage(int idKart)
|
|
{
|
|
Utils::logInfo("tutorial_endmessage(Kart " + idKart + "): Triggered");
|
|
GUI::displayMessage(
|
|
GUI::translate("You are now ready to race. Good luck!"),
|
|
GUI::ACHIEVEMENT);
|
|
}
|
|
|
|
void tutorial_exit(int idKart)
|
|
{
|
|
Utils::logInfo("tutorial_exit(Kart " + idKart + "): Tutorial quitted");
|
|
Track::exitRace();
|
|
}
|
|
|
|
void tutorial_discard(int idKart)
|
|
{
|
|
Utils::logInfo("tutorial_discard(Kart " + idKart + "): Discarded a Message");
|
|
GUI::discardStaticMessage();
|
|
}
|
|
|
|
// ============= DEBUG TESTS ==============
|
|
void debug_squash()
|
|
{
|
|
int idKart = 0;
|
|
Utils::logInfo("Testing squash");
|
|
Kart::squash(idKart, 5.0);
|
|
}
|
|
|
|
void debug_set_velocity()
|
|
{
|
|
int idKart = 0;
|
|
Utils::logInfo("Testing setVelocity");
|
|
Kart::setVelocity(idKart, Vec3(0, 10, 0));
|
|
}
|
|
|
|
// TODO: teleport doesn't work very well
|
|
void debug_teleport()
|
|
{
|
|
int idKart = 0;
|
|
Utils::logInfo("Testing getLocation + teleport");
|
|
Vec3 loc = Kart::getLocation(idKart);
|
|
Utils::logInfo(Utils::insertValues("Kart %s location : %s %s %s", idKart + "", loc.getX() + "", loc.getY() + "", loc.getZ() + ""));
|
|
Kart::teleport(idKart, Vec3(loc.getX() - 3, loc.getY(), loc.getZ() - 3));
|
|
}
|