v2023.0.3
Release Date 10/09/2023
Changes
- FIX the unit animator being stuck in the TakeDamage every time in enters it when the take damage animation is enabled.
- FIX a bug in the Border component where the building that has the Border component is itself counted twice in the buildings in range.
- FIX a bug where upgrading a DropOffSource component leads to the unit not being able to drop off resources anymore.
- FIX the attack object recognizing and using the assigned attack target position in the target's Health component when it is valid instead of always targeting the target entity's selection position.
- FIX a bug where disabling UI components on map scene close when there is no local player assigned triggers an error.
- FIX a bug in the MovementManager component that allows moving units in terrain areas that are not defined in their UnitMovement component but the corresponding navmesh area is used in the unit's NavMeshAgent component, the bug only allowed movement towards a terrain position but not interacting with other entities.
- FIX a bug in UnitAttack and BuildingAttack components which allowed an active attack to continue even when it enters in cooldown now. Now attacks are fully disabled after entering cooldown.
- UPDATE both awaiting tasks (tasks that are triggered from tasks in the UI task panel) and right mouse click responses of entity target components to use the same logic when it comes to handling multi-entity movement and attack tasks.
- UPDATE the GameManager inspector to self-assign the initial camera look at position field if it is unassigned and there is one valid initial faction entity assigned for the slot.
- UPDATE main camera controller handlers to still have an active status if they rely on pointer (touch or mouse) movement as input and the corresponding mouse button was held down and movement occurred to the camera transform from that mouse button until the mouse button is released. This allows other components to not start working until the corresponding mouse button is fully released.
- ADD the option to choose whether moving the two touch positions away or closer to each other triggers a zoom in or zoom out in mobile.
- ADD an error logged when the TerrainManager component is unable to find any object that is defined as a terrain object that belongs to one of its defined terrain area types for the scene.
- ADD the "Max Buildings Amount" field in the Border component which defines the maximum amount of buildings that can be in range of a building center (building with a Border account).
- ADD a Debug tab to the Border component inspector that shows the current buildings and resources in range of the border.
- ADD the Attack Iteration Launch Untiy Event field in the UnitAttack and BuildingAttack components under the Events tab. This event is triggered every time a launch (attack object) occurs in the attack sequence.
- ADD the Toggle Type field to the UnitAttack and BuildingAttack components under the Weapon tab. This field allows you to choose whether the attack weapon and the toggable objects are enabled or disabled based on the attack component active status or whether or not the attack component has an active target or not.
- ADD CurrReloadValue property to the IAttackComponent which provides the current value of the attack reload timer.
- ADD the Set Target Cooldown UI Data field to the UnitAttack and BuildingAttack components which allows to change the attack's set target task visual UI elements when the attack is in cooldown mode.
API
- FIX a bug in the GameControlsManager with GetMouseButtonUp and GetMouseButtonDown functionality being flipped.
- UPDATE IBuilder interface to extend IBuildingCreator interface so that both Builder and BuildingCreator components implement the same interface.
- UPDATE the IAudioManager PlaySFX methods that play global SFX audio clips to include the source IEntity (if there is one) as a parameter.
- UPDATE the Fetcher class to include methods that allow to fetch next, previous and any item with a provided index from the items list.
- ADD two methods to the IAudioManager interface that allow to play the next or previous music track.
- ADD IBuildingCreator property to the IFactionEntity interface so the building creator component is directly retrievable from a faction entity instance.
- ADD AttackObjectApplyDamageGlobal global event that is triggered by an AttackObject instance when it collides with a target entity or target obstacle (such as terrain) and applies damage.
- ADD PendingTaskEntityComponents property read only list to the IEntity interface which provides a list of the pending tasks components (such UnitCreatror and UpgradeLauncher components).
- ADD the ActiveStatusUpdate event to the IEntityComponent interface, triggered each time the component's active status is updated.
- ADD OnTargetMaxWorkerReached event to the IResourceCollector component which is triggered every time a target validity check on a potential target resource is done and it already has reached maximum workers. The event provides the target input data struct as its argument.
- ADD the option to assign the property of the material's color in the ColoredRenderer fields
- ADD EntityColoredRenderer as an entity component that you can attach to entity prefabs and specify the colored renderes instead instead of doing it in the Faction Entity tab.
- ADD ColoredRenderer field to EntitySelectionRenderer component to be used instead of directly specifying the renderer and its material ID.
- ADD update helper script that converts the ColorerdRenderer fields.
- ADD CooldownUpdated and ReloadUpdated events in IAttackComponent the interface which are triggered when cooldowns are enabled/disabled and reload timer is reloaded/done respectively.
Demo
- FIX temple demo building prefab model object assignment.
- UPDATE all entity prefabs to use the EntityColoreredRenderer script.
Modules
- Mirror Multiplayer
- UPDATE lobby game maps to include a field list of faction types for each map with each faction type having a field list that defines the allowed NCP types to be played by that faction type. The random faction type now also has its own separate NPC types.
- Singleplayer
- UPDATE lobby game maps to include a field list of faction types for each map with each faction type having a field list that defines the allowed NCP types to be played by that faction type. The random faction type now also has its own separate NPC types.
- Mobile Controls
- FIX a bug that disables entity selection after triggering a camera zoom movement in mobile.
- UPDATE both awaiting tasks (tasks that are triggered from tasks in the UI task panel) and touch responses of entity target components to use the same logic when it comes to handling multi-entity movement and attack tasks.
- Basic NPC
- UPDATE NPCBuildingConstructor to have a "Building Creator" list field which can include faction entities (units and buildings) that have a component implementing IBuildingCreator interface which can create and place buildings for the NPC and update INPCBuildingCreator to make use of this new field when creating a building.
- FIX a bug where pending tasks components are still recongized and tracked by NPC factions even if the underlying faction entity they are attached to is converted to another faction.
- UPDATE BasicNPCTopBarMenu to include the BasicNPC commands under the RTS Engine/Modules path.
v2023.0.3 Update Guide
Colored Renderers
The Colored Renderers field in the Faction Entity tabs has been deprecated and replaced by an independent entity component under the name of EntityColoredRenderers.
Download this update handler package and run the Update Colored Renderers Fields in the RTS Engine Top Bar Menu under RTS -> Update -> 2023.0.3 -> Update Colored Renderers Fields.
This update handler will add a EntityColoredRenderers to each unit and building prefab and will assign the same fields to it as the deprecated Colored Renderers field as well as update the EntitySelectionRenderer fields accordingly for all unit, building and resource entities.