SetIsKinematic.cs 758 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #if CHRONOS_PLAYMAKER
  2. using HutongGames.PlayMaker;
  3. namespace Chronos.PlayMaker
  4. {
  5. [ActionCategory("Physics (Chronos)")]
  6. [Tooltip("Controls whether physics affects the Game Object.")]
  7. public class SetIsKinematic : ChronosComponentAction<Timeline>
  8. {
  9. [RequiredField]
  10. [CheckForComponent(typeof(Timeline))]
  11. public FsmOwnerDefault gameObject;
  12. [RequiredField]
  13. public FsmBool isKinematic;
  14. public override void Reset()
  15. {
  16. gameObject = null;
  17. isKinematic = false;
  18. }
  19. public override void OnEnter()
  20. {
  21. DoSetIsKinematic();
  22. Finish();
  23. }
  24. private void DoSetIsKinematic()
  25. {
  26. var go = Fsm.GetOwnerDefaultTarget(gameObject);
  27. if (UpdateCache(go))
  28. {
  29. timeline.rigidbody.isKinematic = isKinematic.Value;
  30. }
  31. }
  32. }
  33. }
  34. #endif