Why Can I Keep Moving
To put it simply, because all we are doing is spawning the indicator. You need to hook the Casts up to your logic. For example if you place a big AOE spell (Cast Radius) which has a 15 second cast time, what you would do is hook your spell's cast time up to the cast time of the Radius Cast so they are alligned, what you can then do is disable the character movement during this and re-enable it after the spell cast has finished or upon interrupt. Or if your spell is setup so any movement input interrupts the cast you just call the AC_RPG_Indicator Interrupt upon your spell interruption so the indicator is also cancelled at the same time.
A basic example of this using the demo content can be to get the Character Movement component then right after the Cast (Cast Radius) tell it to Disable Movement. Then turn the Casting Time for radius into a variable and hook this variable up to a delay then after the delay re-enable the movement for example via a Set Movement Node. Then additionally also fire the re-enabling of your movement after the Interrupt so upon interrupt the movement is enabled again. Or maybe you consider yourself to be casting already when the Show event is active in which case you'd disable movement right after the Show event and then re-enable it after the Cast is done or upon interrupt. You will find a simple example of this in BP_DemoIndicatorCharacter_Thirdperson and BP_DemoIndicatorCharacter_TopDown on the Radius and Interrupt. The thirdperson one will stop movement during the Show Radius and the TopDown will stop it during the Cast Radius. In your own projects you will have your own values, functions or events for this.
Last updated