示例#1
0
 public static function migrateEvents($v1GameId, $v2GameId, $maps)
 {
     //round up all v1 events into groups by type and by object
     $eGroupings = new stdClass();
     $eGroupings->plaques = array();
     $eGroupings->dialogScripts = array();
     $events = migration_dbconnection::queryArray("SELECT * FROM player_state_changes WHERE game_id = '{$v1GameId}'", "v1");
     $q = 0;
     for ($i = 0; $i < count($events); $i++) {
         if ($maps->plaques[$events[$i]->event_detail]) {
             $typeGroup =& $eGroupings->plaques;
         }
         if ($maps->scripts[$events[$i]->event_detail]) {
             $typeGroup =& $eGroupings->dialogScripts;
         }
         if (!$typeGroup[$events[$i]->event_detail]) {
             $typeGroup[$events[$i]->event_detail] = array();
         }
         $typeGroup[$events[$i]->event_detail][] = $events[$i];
     }
     foreach ($eGroupings->plaques as $plaqueId => $eventsList) {
         $event_package_id = migration::migrateEventsListIntoPackage($v2GameId, $eventsList, $maps);
         migration_dbconnection::query("UPDATE plaques SET event_package_id = '{$event_package_id}' WHERE plaque_id = '{$maps->plaques[$plaqueId]}'", "v2");
     }
     foreach ($eGroupings->dialogScripts as $scriptId => $eventsList) {
         $event_package_id = migration::migrateEventsListIntoPackage($v2GameId, $eventsList, $maps);
         migration_dbconnection::query("UPDATE dialog_scripts SET event_package_id = '{$event_package_id}' WHERE dialog_script_id = '{$maps->scripts[$scriptId]}'", "v2");
     }
 }