I fixed it myself. would be nice if you could check it and incorporate it in the next update.
// (c) Copyright HutongGames, LLC 2010-2013. All rights reserved.
using UnityEngine;
namespace HutongGames.PlayMaker.Actions
{
[ActionCategory(ActionCategory.GameObject)]
[Tooltip("Sets the Parent of a Game Object.")]
public class SetParent : FsmStateAction
{
[RequiredField]
[Tooltip("The Game Object to parent.")]
public FsmOwnerDefault gameObject;
[Tooltip("The new parent for the Game Object.")]
public FsmGameObject parent;
[Tooltip("Set the local position to 0,0,0 after parenting.")]
public FsmBool resetLocalPosition;
[Tooltip("Set the local rotation to 0,0,0 after parenting.")]
public FsmBool resetLocalRotation;
public override void Reset()
{
gameObject = null;
parent = null;
resetLocalPosition = null;
resetLocalRotation = null;
}
public override void OnEnter()
{
var go = Fsm.GetOwnerDefaultTarget(gameObject);
if (go != null)
{
if (parent.Value != null)
{
go.transform.SetParent(parent.Value.transform,true);
// old syntax:
//go.transform.parent = parent.Value == null ? null : parent.Value.transform;
if (resetLocalPosition.Value)
{
go.transform.localPosition = Vector3.zero;
}
if (resetLocalRotation.Value)
{
go.transform.localRotation = Quaternion.identity;
}
}
}
Finish();
}
}
}