/*******************************************************************************
* Copyright (c) 2015
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*******************************************************************************/
package jsettlers.buildingcreator.job;
public enum EBuildingJobType {
/**
* Waits a given time.
* <p>
* Success: The time elapsed.
* <p>
* Fail: impossible.
*
* @see BuildingJob#getTime();
*/
WAIT,
/**
* Lets the settler walk in a given direction. The settler may wait.
* <p>
* Parameter: direction
* <p>
* Success: The settler is at the position
* <p>
* Fail: Should not happen normally.
*/
WALK,
/**
* Shows the settler at a given position.
* <p>
* Parameter: dx, dy
* <p>
* Success: The settler appeared.
* <p>
* Fail: The settler could not appear at the given position.
*/
SHOW,
/**
* Lets the settler disappear.
* <p>
* Parameter: none
* <p>
* Success: The settler disappeared instantly.
* <p>
* Fail: impossible
*/
HIDE,
/**
* Sets the material property of the settler.
* <p>
* Parameter: material
* <p>
* Success: good
* <p>
* Fail: There was no given material at that position.
*/
SET_MATERIAL,
/**
* Picks up the specified material. Does not change the material type assigned to the settler
* <p>
* Parameter: material
* <p>
* Success: There was a material at that position, one item was removed.
* <p>
* Fail: There was no given material at that position.
*/
TAKE,
/**
* Lets the settler drop the given material to the stack at the positon.
* <p>
* Parameter: material
* <p>
* Success: When the settler dropped the material.
* <p>
* Fail: If the drop is impossible.
*/
DROP,
/**
* Searches a given search type.
* <p>
* Uses the special {@link BuildingSearchJob} class.
* <p>
* Success: The settler found the thing he should search and went to it.
* <p>
* Fail: If the searched thing was not found. The settler does not need to go back.
*
* @see BuildingSearchType
*/
SEARCH,
/**
* Goes to the position relative to the building.
* <p>
* Success: The settler is at the position
* <p>
* Fail: The position is unreachable.
*/
GO_TO,
/**
* Look at
* <p>
* Success: The settler looks at the given new direction.
* <p>
* Fail: impossible
*/
LOOK_AT,
/**
* Plays an action animation.
* <p>
* Parameter: time - the time the action should take.
* <p>
* Success: The animation was played.
* <p>
* Fail: something was wrong...
*/
PLAY_ACTION1,
/**
* @see EBuildingJobType#PLAY_ACTION1
*/
PLAY_ACTION2
}