コード例 #1
0
ファイル: wldlg.c プロジェクト: jheusala/freeciv
/****************************************************************
  Help button clicked
*****************************************************************/
static void help_callback(GtkWidget *w, gpointer data)
{
  struct worklist_data *ptr;
  GtkTreeSelection *selection;
  GtkTreeModel *model;
  GtkTreeIter it;

  ptr = data;
  selection = ptr->src_selection;

  if (gtk_tree_selection_get_selected(selection, &model, &it)) {
    gint cid;
    struct universal target;

    gtk_tree_model_get(model, &it, 0, &cid, -1);
    target = cid_decode(cid);

    if (VUT_UTYPE == target.kind) {
      popup_help_dialog_typed(utype_name_translation(target.value.utype),
			      HELP_UNIT);
    } else if (is_great_wonder(target.value.building)) {
      popup_help_dialog_typed(improvement_name_translation(target.value.building),
			      HELP_WONDER);
    } else {
      popup_help_dialog_typed(improvement_name_translation(target.value.building),
			      HELP_IMPROVEMENT);
    }
  } else {
    popup_help_dialog_string(HELP_WORKLIST_EDITOR_ITEM);
  }
}
コード例 #2
0
char* city_get_production_name(struct city* pCity) {
    int kind = pCity->production.kind;
    if(kind == VUT_UTYPE) {
        struct unit_type *pUnitType = pCity->production.value.utype;
        return (char*)utype_name_translation(pUnitType);
    } else {
        struct impr_type *pImprove = pCity->production.value.building;
        return (char*)improvement_name_translation(pImprove);
    }
}
コード例 #3
0
PyObject* get_built_improvements_in_city(struct city* pCity) {
    PyObject* list = PyList_New(0);

    city_built_iterate(pCity, pImprove) {
        const char* name = improvement_name_translation(pImprove);

        PyList_Append(list, Py_BuildValue(
            "ls", (long)pImprove, name
        ));
    } city_built_iterate_end;

    return list;
}
コード例 #4
0
PyObject* get_buildable_improvements_in_city(struct city* pCity) {
    PyObject* list = PyList_New(0);
    bool can_build;
    improvement_iterate(pImprove) {
        can_build = can_player_build_improvement_now(client.conn.playing, pImprove);
        can_build = can_build && can_city_build_improvement_now(pCity, pImprove);

        if(can_build) {
            const char* name = improvement_name_translation(pImprove);
            //int turns = city_turns_to_build(pCity, cid_production(cid_encode_building(pImprove)), TRUE);
            int stock = pCity->shield_stock;
            int cost = impr_build_shield_cost(pImprove);

            PyList_Append(list, Py_BuildValue(
                "lisiii()O", (long)pImprove, VUT_IMPROVEMENT, name, -1, stock, cost,
                (PyObject*)get_building_sprite(tileset, pImprove)
            ));
        }

    } improvement_iterate_end;

    return list;
}