The v2.1 update for FPS Tower Defense Toolkit has gone live on the Unreal Engine Marketplace: https://www.unrealengine.com/marketplace/fps-tower-defense-toolkit
1. The Holographic Tower Display implementation has received a complete design revamp focused on a more data driven approach, while removing the multiple layers of inheritance based class system present in the previous versions. The Tower Holograms are now split into two categories: Holographic Tower Constructor Hologram & Holographic Tower Highlighter.
The Holographic Tower Constructor displays a Hologram of the tower model that has been designated by the player for construction. The physical attributes of this Hologram including the mesh types, their world coordinates, etc are set dynamically using a data driven approach that relies on the information specified by the designer in the new 'Holo Tower Constructor Data array'. The Hologram itself will be displayed as long as the selected tower model can be created at the focused location. However, based on the construction pre-requisites like availability of tower resources & valid navigational paths, the hologram may change it's color to reflect the feasibility of constructing a tower of the selected variety under the given conditions.
The Holographic Tower Highlighter, on the other hand, displays a Hologram based on the focused actor. As long as the focused actor meets the requirements (in this case, being a tower class entity), the Hologram will dynamically alter itself to match the physical properties of the aforementioned actor. This highlighter uses a different color coding system to make it visually stand out from the constructor hologram, as there can be scenarios which require display of both types of holograms.
Apart from these modifications, a Grid Cell Indicator has also been added as a visual cue to identify the grid cell (if any) associated with the focused actor. This ensures that player always receive a minimal amount of feedback based on their interaction with the grid systems, even when Holograms are not displayed due to the particular grid location not meeting the pre-requisites for construction of the selected Tower class.
2. The Tower Stats Display system has also received some modifications as well as new additional new features that improve upon it's previous iterations.
In conjunction with the display of Holographic Tower Constructors, the Tower Stats Display will now present the Setup Cost information for the selected Tower model.
The previous Tower Upgrade Stats system has been extensively modified to facilitate display of information about the Current Stats, Upgraded Stats, as well as Recycle Stats for the focused Tower, using a new dynamic design model that requires minimal amount of hand crafted HUD changes.
3. The Holographic Tower Display system is now driven through a component based approach in order to increase it's modularity & thus facilitate easy implementation with new custom player character classes.
4. Fixed a bug that allowed placement of towers even when navigational paths was blocked, as long as the player were to initiate tower placement before the nav mesh updates finished processing.
Gameplay demo of the v2.1 FPS Tower Defense Toolkit (Windows) edition: https://www.dropbox.com/s/a4myd6m1ocqkojc/FPS%20Tower%20Defense%20Toolkit%20Sample%20Game%20Demo.7z?dl=0
All changes within the blueprints are marked with the boolean variable 'Version2.1' in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables as well as functions added to existing blueprints are also marked in the event graph as shown below:
Changes in the Content Browser:
1. Added new actor component: BPC_HolographicTowerDisplay.
2. Added new enum: EFocusedActorType.
3. Added new interface: BPI_HolographicTowerDisplay.
4. Added new blueprint: BP_TowerHologram.
5. Removed the blueprint BP_TowerHolo_Parent & all it's child classes.
6. Added new structs: Struct_HoloConstructorData & Struct_UnitStat.
7. Added new member SetupCost_TowerBases & renamed TowerCost to SetupCost_TowerPoints in Struct_TowerData.
8. Added new widgets: Widget_BinaryStatModule & Widget_TowerConstructor.
9. Renamed widgets Widget_Stats & Widget_TowerUpgradeData to Widget_UnaryStatModule & Widget_TowerStatsDisplay.