Esempio n. 1
0
void remove_units(int id, army_t a_army) {
  attach_state();
  players[id].army.light -= a_army.light;
  players[id].army.heavy -= a_army.heavy;
  players[id].army.cavalry -= a_army.cavalry;
  save_state();
}
void FileSystemDevice::exec2(ObjHook &hook,Packet<uint8,Sys::AsyncFileSystem::FileExt> packet,StrLen dir,StrLen program)
 {
  if( !attach_state(hook,packet) ) return;

  Packet<uint8,Sys::AsyncFileSystem::FileExt,Exec2Ext> packet2=packet.pushExt<Exec2Ext>();

  packet2.pushCompleteFunction(function_complete_exec2());

  dev->exec2(packet2.forgetExt<1>(),dir,program);
 }
void FileSystemDevice::getFileList(ObjHook &hook,Packet<uint8,Sys::AsyncFileSystem::FileExt> packet,StrLen path)
 {
  if( !attach_state(hook,packet) ) return;

  Packet<uint8,Sys::AsyncFileSystem::FileExt,GetFileListExt> packet2=packet.pushExt<GetFileListExt>();

  packet2.pushCompleteFunction(function_complete_getFileList());

  dev->getFileList(packet2.forgetExt<1>(),path);
 }
Esempio n. 4
0
void add_unit(int id, army_type_t type) {
  attach_state();
  switch (type) {
    case LIGHT: {
      players[id].army.light += 1;
      break;
    }
    case HEAVY: {
      players[id].army.heavy += 1;
      break;
    }
    case CAVALRY: {
      players[id].army.cavalry += 1;
      break;
    }
    case WORKERS: {
      players[id].army.workers += 1;
      break;
    }
    default: break;
  }
  save_state();
}
Esempio n. 5
0
void increment_resources(int player_id) {
  attach_state();
  const int workers_count = players[player_id].army.workers;
  players[player_id].resources += RESOURCES_STEP + (workers_count * 5);
  save_state();
}
Esempio n. 6
0
void remove_resources(int id, int resources) {
  attach_state();
  players[id].resources -= resources;
  save_state();
}