Steam Fort 0.5
|
00001 /********************************************************************* 00002 * Copyright 2011 Bartek thindil Jasicki 00003 * 00004 * This file is part of Steam Fort. 00005 * 00006 * Steam Fort is free software: you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation, either version 3 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * Steam Fort is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with Steam Fort. If not, see <http://www.gnu.org/licenses/>. 00018 *********************************************************************/ 00019 #ifndef ORDER_HPP 00020 #define ORDER_HPP 00021 #include <string> 00022 #include <vector> 00023 #include "gui/gui.hpp" 00024 00025 #define STEPLENGTH 13 00026 #define STEPS 11 00027 00031 typedef enum OrderTypes 00032 { 00033 COLLECT, 00034 GATHER, 00035 OBUILD, 00036 WORK, 00037 REFUEL, 00038 DIG, 00039 CRAFT, 00040 WALK, 00041 RESEARCH, 00042 REPAIR, 00043 COMBAT 00044 } ORDERTYPE; 00045 00049 class Order 00050 { 00051 public: 00055 std::string name; 00059 bool infinite; 00063 char active; 00067 std::vector<int> workers; 00071 int stages[STEPS][STEPLENGTH]; 00075 int curamount; 00079 bool automatic; 00083 bool enabled; 00087 int type; 00091 int curstage; 00095 bool playeronly; 00099 int times; 00100 00101 Order(); 00102 }; 00103 00104 void buildOrderUI(); 00105 void setVisibleOrders(bool visible); 00106 void update_orders(); 00107 int find_order(std::string name); 00108 void drawWorkers(int index); 00109 void show_orders(int start = 0); 00110 00111 #endif