v2022.2.2
Release Date: 06/15/2022
Changes
- FIX a bug that causes a null reference error in the DropOffSource component when the collector unit collects a non-droppable resource type then attempts to drop its already collected droppable resources.
- FIX a bug where if a unit movement path calculation fails, the unit will be blocked from doing any automatic commands and can only be unblocked by a direct player command.
- FIX a bug that disallows destroying building placement instances when they aren't being actively placed.
- FIX a bug with creating building placement instances with invalid building prefabs or ones that have not been defined in the InputManager.
- FIX a bug that occurs when adding multiple building placement commands to builders tasks queues.
- FIX a bug that renders an entity's tasks queue stuck in case the first task in the queue can not be started.
- FIX setting the attack reload time to the reload duration when a new target is assigned.
- FIX sending units to collect a resource from a rallypoint post unit-creation to handle depleted or full resources with the chosen auto-search behavior specified in the ResourceCollector inspector.
- FIX counting placed but non-built buildings in the faction entity requirements for launching tasks. The buildings now must be completely constructed before being considered.
- UPDATE Entity Tasks Queue Handler to allow for ignoring an active resource collection task when a new task is added to the queue while the entity is actively collecting resources and has the Keep Active Task enabled.
- ADD tabs based custom editor for the BuildingPlacement manager component.
- ADD field to FactionSlot that allows a slot to be disabled and not considered when the game starts. When disabled, all initial faction entities are immediately destroyed on game start.
API
- FIX triggering the global building placement event after all placement initialization methods in the Building and the BuildingPlacer are called.
- FIX calling the LockAttackAction method in the FactionEntityAttack component.
- REFACTOR BuildingPlacement component to allow it to monitor not only the local player building placement process but the NPC factions as well, unifying the code used for building placement for both local player and NPC factions.
- UPDATE BuildingPlacementOptions to include a field for enabling/disabling rotation for an individual placement request, a field that defines the building's placeAroundData that introduces constraints on where the building can be placed and a field that assigns an initial building center to the placement instance.
- UPDATE IBuildingPlacement by adding methods and properties that allow to check whether any active faction is currently placing a building, expose the placable terrain area layer mask, add/stop building placement for each faction slot separately and a method that allows to introduce additional conditions on building placement instances.
- UPDATE BuildingPlacementResetGlobal event from the IGlobalEventPublisher to include the IBuildingPlacementHandler instance (which includes a property about the source faction slot) as the source instead of the IBuildingPlacement instance (which is a global manager component for all faction slots).
- UPDATE ITerrainManager SampleHeight() methods to return a boolean (true only if height sampling with the specified terrain areas is succesful) with returning the height as an out float parameter.
- ADD callbacks to the BuildingPlacer for when the placement starts, stops and when the placement instance position is updated.
- ADD new error messages in relation to building placement, primarily used to be interpreted by NPC faction behaviors to handle certain building placement failure reasons.
- ADD IBuildingObstacleHandler as an interface implemented by components that handle the building's pathfinding obstacles pre- and post-placement with the ability to turn on/off the obstacles.
- ADD SampleHeight method to ITerrainManager interface that returns false when the terrain sampling for the requested terrain areas fails.
- ADD IsLocked property tro the IEntitySelectionMarker that allows to lock the state of the marker (enabling/disabling would not show it or hide until it is unlocked).
- ADD SetMaterial to the ModelCacheAwareTransformInput to allow to change the material of a cachable renderer attached to an entity model or its children objects.
Demo
- FIX displaying tooltips when hovering over resource icon UI elements.
Documentation
- UPDATE Building Placement guides.
- UPDATE Tasks Queue setup guide.
Modules
- Basic NPC
- FIX a bug with updating active amount (created) and pending amount (where the creation task has been launched but not completed) of NPC units in the NPCUnitRegulator that keeps track of unit types and their count.
- FIX a bug that shows the winning menu for the local player when a NPC faction wins the game after the local player faction has been already defeated.
- Advanced Selection
- FIX a bug in the Selection Group Handler where selecting a group of entities appends them to the currently selected entities instead of clearing up the current selection first.
v2022.2.2 Update Guide
- Re-assign fields in the BuildingPlacement manager component inspector in all of your map scenes.
- Re-assign fields in the NPCBuildingPlacer component inspector in all of the NPC faction manager prefabs.