Fix formation members not getting rotation correctly when IDLE

Set formation member rotation to the same angle as formation has when
member stays idle.

Differential Revision: https://code.wildfiregames.com/D2469
This was SVN commit r23248.
This commit is contained in:
Angen 2019-12-16 20:38:10 +00:00
parent b5bac2a2a2
commit 9d0b4db973

View File

@ -1527,6 +1527,16 @@ UnitAI.prototype.UnitFsmSpec = {
if (!this.isIdle)
{
if (this.formationController)
{
let cmpFormationPosition = Engine.QueryInterface(this.formationController, IID_Position);
if (cmpFormationPosition && cmpFormationPosition.IsInWorld())
{
let cmpPosition = Engine.QueryInterface(this.entity, IID_Position);
if (cmpPosition && cmpPosition.IsInWorld())
cmpPosition.TurnTo(cmpFormationPosition.GetRotation().y);
}
}
this.isIdle = true;
Engine.PostMessage(this.entity, MT_UnitIdleChanged, { "idle": this.isIdle });
}