src/ai/api/ai_vehicle.cpp
branchnoai
changeset 10189 b18d1d5b047d
parent 10187 d5a6eba5af45
child 10196 aecabd927420
equal deleted inserted replaced
10188:13e73691378a 10189:b18d1d5b047d
   225 		case VEH_AIRCRAFT: return VEHICLE_AIR;
   225 		case VEH_AIRCRAFT: return VEHICLE_AIR;
   226 		default:           return VEHICLE_INVALID;
   226 		default:           return VEHICLE_INVALID;
   227 	}
   227 	}
   228 }
   228 }
   229 
   229 
       
   230 /* static */ int32 AIVehicle::GetCapacity(VehicleID vehicle_id, CargoID cargo)
       
   231 {
       
   232 	if (!IsValidVehicle(vehicle_id)) return -1;
       
   233 	if (!AICargo::IsValidCargo(cargo)) return -1;
       
   234 
       
   235 	uint32 amount = 0;
       
   236 	for (const Vehicle *v = ::GetVehicle(vehicle_id); v != NULL; v = v->Next()) {
       
   237 		if (v->cargo_type == cargo) amount += v->cargo_cap;
       
   238 	}
       
   239 
       
   240 	return amount;
       
   241 }
       
   242 
       
   243 /* static */ int32 AIVehicle::GetCargoLoad(VehicleID vehicle_id, CargoID cargo)
       
   244 {
       
   245 	if (!IsValidVehicle(vehicle_id)) return -1;
       
   246 	if (!AICargo::IsValidCargo(cargo)) return -1;
       
   247 
       
   248 	uint32 amount = 0;
       
   249 	for (const Vehicle *v = ::GetVehicle(vehicle_id); v != NULL; v = v->Next()) {
       
   250 		if (v->cargo_type == cargo) amount += v->cargo.Count();
       
   251 	}
       
   252 
       
   253 	return amount;
       
   254 }