forked from 0ad/0ad
41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
function PlacementSupport()
|
|
{
|
|
this.Reset();
|
|
}
|
|
|
|
PlacementSupport.DEFAULT_ANGLE = Math.PI*3/4;
|
|
|
|
/**
|
|
* Resets the building placement support state. Use this to cancel construction of an entity.
|
|
*/
|
|
PlacementSupport.prototype.Reset = function()
|
|
{
|
|
this.mode = null;
|
|
this.position = null;
|
|
this.template = null;
|
|
this.tooltipMessage = ""; // tooltip text to show while the user is placing a building
|
|
this.tooltipError = false;
|
|
this.wallSet = null; // maps types of wall pieces ("tower", "long", "short", ...) to template names
|
|
this.wallSnapEntities = null; // list of candidate entities to snap the starting and (!) ending positions to when building walls
|
|
this.wallEndPosition = null;
|
|
this.wallSnapEntitiesIncludeOffscreen = false; // should the next update of the snap candidate list include offscreen towers?
|
|
|
|
this.SetDefaultAngle();
|
|
this.RandomizeActorSeed();
|
|
|
|
this.attack = null;
|
|
|
|
Engine.GuiInterfaceCall("SetBuildingPlacementPreview", {"template": ""});
|
|
Engine.GuiInterfaceCall("SetWallPlacementPreview", {"wallSet": null});
|
|
};
|
|
|
|
PlacementSupport.prototype.SetDefaultAngle = function()
|
|
{
|
|
this.angle = PlacementSupport.DEFAULT_ANGLE;
|
|
};
|
|
|
|
PlacementSupport.prototype.RandomizeActorSeed = function()
|
|
{
|
|
this.actorSeed = Math.floor(65535 * Math.random());
|
|
};
|