/// <summary>
 /// Orders the unit to research the given tech type. 
 /// See also: IsResearching, TechResearching, TechResearchTimer, DoCancelResearch().
 /// </summary>
 /// <param name="techType"></param>
 /// <returns></returns>
 public bool DoResearch(TechTypes techType) {
     return this.BwapiObject.research(new SWIG.BWAPI.TechType((int)techType));
 }
 /// <summary>
 /// Returns true if the given unit can research the given tech type and there is enough resources required to research.
 /// </summary>
 /// <param name="unitWhereToResearch"></param>
 /// <param name="techType"></param>
 /// <returns></returns>
 public static bool CanResearch(Unit unitWhereToResearch, TechTypes techType) {
     return SWIG.BWAPI.bwapi.Broodwar.canResearch(unitWhereToResearch.BwapiObject, new SWIG.BWAPI.TechType((int)techType));
 }
 /// <summary>
 /// Returns true if there is enough resources required to research the given tech type.
 /// </summary>
 /// <param name="techType"></param>
 /// <returns></returns>
 public static bool CanResearch(TechTypes techType) {
     return SWIG.BWAPI.bwapi.Broodwar.canResearch(null, new SWIG.BWAPI.TechType((int)techType));
 }
 /// <summary>
 /// Orders the unit to use a tech requiring a unit target (ex: Irradiate). Returns true if it is a valid tech. 
 /// </summary>
 /// <param name="techType"></param>
 /// <param name="unitTarget"></param>
 /// <returns></returns>
 public bool DoUseTech(TechTypes techType, Unit unitTarget) {
     return this.BwapiObject.useTech(new SWIG.BWAPI.TechType((int)techType), unitTarget.BwapiObject);
 }
 /// <summary>
 /// Orders the unit to use a tech requiring a position target (ex: Dark Swarm). Returns true if it is a valid tech. 
 /// </summary>
 /// <param name="techType"></param>
 /// <param name="positionTarget"></param>
 /// <returns></returns>
 public bool DoUseTech(TechTypes techType, Position positionTarget) {
     return this.BwapiObject.useTech(new SWIG.BWAPI.TechType((int)techType), positionTarget.BwapiObject);
 }
 /// <summary>
 /// Orders the unit to use a tech not requiring a target (ex: Stim Pack). Returns true if it is a valid tech. 
 /// </summary>
 /// <param name="techType"></param>
 /// <returns></returns>
 public bool DoUseTech(TechTypes techType) {
     return this.BwapiObject.useTech(new SWIG.BWAPI.TechType((int)techType));
 }