____                _       __
    / __ )____  _____   | |     / /___ ___________
   / __  / __ \/ ___/   | | /| / / __ `/ ___/ ___/
  / /_/ / /_/ (__  )    | |/ |/ / /_/ / /  (__  )
 /_____/\____/____/     |__/|__/\__,_/_/  /____/

       A futuristic real-time strategy game.
          This file is part of Bos Wars.
(C) Copyright 2001-2007 by the Bos Wars and Stratagus Project. Distributed under the "GNU General Public License"

action_build.cpp File Reference

The build building action. More...

#include <stdio.h>
#include <stdlib.h>
#include "stratagus.h"
#include "unittype.h"
#include "animation.h"
#include "player.h"
#include "unit.h"
#include "unit_cache.h"
#include "sound.h"
#include "actions.h"
#include "map.h"
#include "ai.h"
#include "interface.h"
#include "pathfinder.h"
#include "construct.h"

Go to the source code of this file.

Functions

static int GetProductionCost (CUnitType *type)
static void UpdateConstructionFrame (CUnit *unit)
static void MoveToLocation (CUnit *unit)
static CUnitCheckAlreadyBuilding (CUnit *unit, CUnitType *type, int x, int y)
static CUnitCheckCanBuild (CUnit *unit)
static void StartBuilding (CUnit *unit, CUnit *ontop)
void HandleActionBuild (CUnit *unit)
 Handle command built.
void HandleActionBuilt (CUnit *unit)
 Handle command train.


Detailed Description

The build building action.

Definition in file action_build.cpp.


Function Documentation

static CUnit* CheckAlreadyBuilding ( CUnit unit,
CUnitType type,
int  x,
int  y 
) [static]

Check if we're already building this type at this location

Definition at line 152 of file action_build.cpp.

References CUnit::IsAllied(), CUnit::Player, CUnitCache::Select(), UnitCache, and UnitMax.

Referenced by CheckCanBuild().

static CUnit* CheckCanBuild ( CUnit unit  )  [static]

static int GetProductionCost ( CUnitType type  )  [static]

Get the production cost of a unit type Use the energy cost if it's not 0, otherwise use magma cost

Definition at line 61 of file action_build.cpp.

References EnergyCost, MagmaCost, and CUnitType::ProductionCosts.

Referenced by HandleActionBuilt(), HandleActionTrain(), and UpdateConstructionFrame().

void HandleActionBuild ( CUnit unit  ) 

Handle command built.

Unit builds a building.

Parameters:
unit Unit that builds a building

Definition at line 346 of file action_build.cpp.

References CheckCanBuild(), MoveToLocation(), StartBuilding(), and CUnit::SubAction.

void HandleActionBuilt ( CUnit unit  ) 

static void MoveToLocation ( CUnit unit  )  [static]

static void StartBuilding ( CUnit unit,
CUnit ontop 
) [static]

static void UpdateConstructionFrame ( CUnit unit  )  [static]


Generated on Sat Feb 21 00:28:15 2009 for Bos Wars by  doxygen 1.5.6