v2022.3.1
Release Date: 12/25/2022
Changes
- REMOVE the option where clicking on an already selected entity while holding down the multi-selection key deselects that entity.
- FIX a bug where if an attack unit has LOS enabled, has the Engage When Attacked enabled in its Engagement Options field and it gets attacked by a faction entity that does not reside inside of its allowed LOS to launch attack, it can now attack back since it is allowed to engage when it is attacked.
- FIX a bug that occurs when a building is created while fully built causing the building construction event to fire before the placement events which means that events relying on building consutrction completion are not accounted for because the building is only marked as fully initialized after placement.
- FIX triggering the attack-move ability for attack units using an awaiting task in the UI task panel.
- FIX a bug where upgraded building and unit instances do not have the Init Resources added to their respective factions.
- FIX a bug when generating grid search cell positions.
- FIX a bug with initializing building construction health states that use percentages instead of raw values.
- FIX a bug where a building with Border component gets upgraded and all resources under the new territory are not properly added to the Border component of the upgraded instance.
- FIX resetting time modifier options.
- FIX a bug where builder units are deselected as soon as a building is placed.
- MOVE double click selection logic outside of the Entity script and into the MouseSelector script.
- UPDATE hover health bar system to include a field in the inspector to decide the mode of displaying hover health bars:
- Always: always have health bars shown over entities
- On Mouse Enter: only show the health bars when the local player's mouse is hover over them
- On Selection: only show the health bars on entities that the local player has selected
- On Mouse Enter Or On Selection: Both of the above conditions
- UPDATE faction entity attack components logic to allow to have more than one active attack component at the same time. When having more than one active attack components, the fields 'Require Idle Entity' and 'Revert' must be disabled on all active attack components. If you wish to allow the active attack components to automatically search for a target then the 'Idle Only' option in the 'Target Finder Data' of the attack component must be disabled.
- UPDATE UnitMovement to disable the movement controller when the component is disabled. This fixes the issue when using Unity's navmesh and adding a unit to a carrier keeps its position at the carrier's entrance.
- UPDATE CarriableUnit by removing the "Allow Movement To Exit Carrier" field and adding it to the UnitCarrier instead so that the option of allowing carried units to take a player issued movement command and execute it is decided on a unit carrier basis.
- UPDATE progress bar inspector fields (which are typically used for health bars) to not have a sepcific input for an empty bar so that the full bar does not have to conform to the position or length of any other UI element. By default, the full bar must have its size and position that matches 100% complete progress.
- UPDATE the main camera controller to not allow the main cameras to change its position, rotation or zoom level when the game is paused.
- UPDATE UnitCarrier to keep a reference of the unit movement start position when re-calculating the closest addable position.
- UPDATE BuildingAttack to support terrain attacks (attacks that do not require a specific target entity locked).
UPDATE EntityHealth to assign the initial health values of entities once the entity is fully initialized. This allows to avoid bugs that occur with pre-placed and fully-constructed buildings to be accounted in the corresponding properties in the FactionManager instance that they belong to.
- ADD the "Stop Movement On Target In Range" to the Formation selector of the UnitAttack component inspector which when enabled, allows the attacker unit to stop its movement and engage into the attack as soon as it enters the boundaries of the allowed minimum and maximum attack distance.
- ADD fields in the SingleSelectionPanelUIHandler component that allow to display the currently collected resources of a resource collector unit that are awaiting to be dropped off. The UI displays each collected resource type's icon, the collected amount and the max capacity by default. Configurations include picking the types of resource collector units that are allowed to have these UI elements using entity codes and categories, picking the allowed resource types in these UI elements and the coloring of the resource type icon when the maximum collection capacity is reached.
- ADD the "Double Click Select Visible Entities" field to MouseSelector. When enabled, the double click selection range bcomes irrelevant and all entities of the same type that are within the current screen view will be selected.
- ADD the ability to use the multi-selection key (assigned in the MouseSelector inspector) to work with both double click range selection and box selection. Meaning that when that key is held down while the local player is using a selection box or double clicking an entity, it will add the new units to the selection instead of resetting the selection before.
- ADD Repair Costs field to the Building Health component. You can now assign building repair resources costs that apply when the building is repaired from 1 health points to maximum health points after the initial complete construction post placement. Or you can leave array empty for no repair costs. The repair costs are proportional to the current health of the building prior to construction.
- ADD the option to pick the Construction Type for buildings from the Building Manager component in the map scene. The current construction mode is now called "Health" and the new construction mode is called "Time". In Time based construction, the building has a max Build Time that can be set in its Health component which represents the time it takes to construct the full building from 1 health points to maximum health points with one builder that has 0 construction time multiplier. Each builder has a Time Multiplier field where the higher the value is, the less time it takes for the building to be constructed. This allows to modify the required build time when having multiple builders and allows to have builders that can build faster than others.
API
- UPDATE main camera controller handler components to use abstract base classes.
- ADD option to IAttackManager methods to allow to specifically use one of the attack components of a source entity by referring to it by its unique code instead of always using the first active attack component on the entity.
- ADD following to the IDropOffSource interface:
- CollectedResourceSum property that allows to fetch the total amount of resources currently held by the resource collector unit.
- CollectedResourceUpdated event that is triggered when a resource collector collects a droppable resource.
- GetMaxCapacity() method that allows to fetch the maximum capacity that the resource collector can hold of a certain resource type.
- ADD ResourceTypeTargetPicker type that can be used as a field where resource types can be selected, similar to the current entity type pickers.
- ADD locking mechanism to the MouseSelector allowing other game services to lock and unlock the effects of mouse clicks whenever they require to use the mouse inputs for their own mechanics.
- ADD GetAttackTargetRadius helper method that returns the radius of an attack target if it is valid.
- ADD ResourceTooltipToString virtual method to the IGameUITextDisplayManager interface which takes a resource type as input and provides a formatted tooltip text for the input resource type.
- ADD StartPosition to the IUnitMovement interface which holds the starting position of the movement path, if the unit has a target destination or the unit current position otherwise
Demo
- UPDATE the dimensions of the NavMeshObstacle components on all demo game buildings since they were occupying a bigger navmesh area than the actual model of the buildings.
- UPDATE the max construction distance for villagers from 0.2 to 0.5.
Modules
- Advanced Building Placement
- FIX a bug where the grid placement on a rotated placed building does not occupy the correct cells.
- FIX a bug with segment building placement where segments of different lengths are used.
- FIX a bug when using grid placement with segmentation and snapping the first segment of the wall to a new to-be-placed series of wall segments that messes up the spacing between the segment to be placed.
- FIX a bug where, in some cases, the amount of expected segments in segmentation placement keeps going from n to n+1 in each consecutive frame even when the local player is not moving their mouse when using segments with multiple lengths.
- UPDATE local player based segmentation placement to stop when the game is paused.
- UPDATE the "Min Segment Count For Replacement" to allow values starting from 0 (previously, it required a minimum of 2). When the value is set to 0, the temporary placement building instance that the player can drag through the map before starting the segmentation placement will be set to the first segment replacement instance in case it is set.
- Fog Of War
- FIX demo scene configurations.
- Save System
- FIX saving and loading the positions of rallypoint components.
- UPDATE saving and loading faction multiple entity attack components and their respective active attack objects if there is any.
- Minimap
- ADD the EntityMinimapIconHandler component which can be attached to an entity allowing to pick a custom minimap icon as well as manipulate its color's transparency and darkness. The default minimap icon can now be set through the Default Icon field in the MinimapIconManager inspector.
- Advanced Selection
- UPDATE box selector to forbid starting the drawing of the box by default when the cursor is on a UI element and added a field on the inspector that disable that rule.