Exemplo n.º 1
0
eolBool eol_level_build_save_keychain(eolLevel *level,eolKeychain *keys)
{
  GList *l;
  eolKeychain *layers;
  eolKeychain *key;
  if ((!level)||(!keys))return eolFalse;
  eol_keychain_hash_insert(keys,"idName",eol_keychain_new_string(level->idName));
  eol_keychain_hash_insert(keys,"layerCount",eol_keychain_new_uint(level->layerCount));
  eol_keychain_hash_insert(keys,"spawnPool",eol_keychain_new_uint(level->spawnPool));
  eol_keychain_hash_insert(keys,"active",eol_keychain_new_uint(level->active));
  eol_keychain_hash_insert(keys,"cameraDist",eol_keychain_new_float(level->cameraDist));
  key = eol_keychain_clone(level->keys);
  if (key != NULL)
  {
    eol_keychain_hash_insert(keys,"keys",key);
  }
  key = eol_tile_set_build_keychain(level->tileSet);
  if (key != NULL)
  {
    eol_keychain_hash_insert(keys,"tileSet",key);
  }
  
  layers = eol_keychain_new_list();
  for (l = level->layers;l != NULL;l = l->next)
  {
    eol_keychain_list_append(layers,eol_level_build_layer_keychain(l->data));
  }
  eol_keychain_hash_insert(keys,"layers",layers);
  return eolTrue;
}
Exemplo n.º 2
0
eolKeychain *eol_spawn_build_keychain(eolSpawn *spawn)
{
  eolKeychain * spawnKey = NULL;
  if (!spawn)return NULL;
  spawnKey = eol_keychain_new_hash();
  if (!spawnKey)return NULL;
  eol_keychain_hash_insert(spawnKey,"type",eol_keychain_new_string(spawn->type));
  eol_keychain_hash_insert(spawnKey,"id",eol_keychain_new_uint(spawn->id));
  eol_keychain_hash_insert(spawnKey,"ori",eol_keychain_new_orientation(spawn->ori));
  eol_keychain_hash_insert(spawnKey,"keys",eol_keychain_clone(spawn->keys));
  return spawnKey;
}