Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // These merge function just recursively reparents all actions from Singe to the Fire Action from the ability that activated Singe
- function SharedAnimation_MergeVisualization2(X2Action BuildTree, out X2Action VisualizationTree)
- {
- local XComGameStateVisualizationMgr VisMgr;
- local array<X2Action> arrActions;
- //local X2Action SpacerAction;
- //local XComGameStateContext_Ability AbilityContext;
- //local VisualizationActionMetadata ActionMetadata;
- VisMgr = `XCOMVISUALIZATIONMGR;
- VisMgr.GetNodesOfType(VisualizationTree, class'X2Action_Fire', arrActions, , , true);
- //AbilityContext = XComGameStateContext_Ability(arrActions[0].StateChangeContext);
- //ActionMetaData = arrActions[0].Metadata;
- //SpacerAction = class'X2Action_ApplyDamageSpacer'.static.AddToVisualizationTree(ActionMetaData, AbilityContext,, arrActions[0]);
- ReparentActionRecursive(BuildTree, arrActions[0], VisMgr, VisualizationTree);
- }
- static function ReparentActionRecursive(X2Action Action, X2Action NewParentAction, XComGameStateVisualizationMgr VisMgr, out X2Action VisualizationTree)
- {
- local X2Action ChildAction;
- foreach Action.ChildActions(ChildAction)
- {
- ReparentActionRecursive(ChildAction, NewParentAction, VisMgr, VisualizationTree);
- VisMgr.DisconnectAction(Action);
- VisMgr.ConnectAction(Action, VisualizationTree,, NewParentAction);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement