public override void ExposeTimeData() { base.ExposeTimeData(); bool AnimEnable = animator.enabled; TimeScribe.Look_Value(ref AnimEnable); animator.enabled = AnimEnable; //State Info AnimatorStateInfo[] infos = null; if (TimeScribe.Mode == ScribeMode.Record) { infos = new AnimatorStateInfo[animator.layerCount]; for (int i = 0; i < animator.layerCount; ++i) { infos[i] = animator.GetCurrentAnimatorStateInfo(i); } } TimeScribe.Look_Array(ref infos, animator.layerCount); if (TimeScribe.Mode == ScribeMode.Rewind) { for (int i = 0; i < animator.layerCount; ++i) { animator.Play(infos[i] .shortNameHash, i, infos[i].normalizedTime); } } //Parameters var rawParms = animator.parameters; foreach (var parm in rawParms) { int nameHash = parm.nameHash; TimeScribe.Look_Value(ref nameHash); var parmType = parm.type; TimeScribe.Look_Value(ref parmType); if (parmType == AnimatorControllerParameterType.Bool) { bool value = animator.GetBool(nameHash); TimeScribe.Look_Value(ref value); animator.SetBool(nameHash, value); } else if (parmType == AnimatorControllerParameterType.Int) { int value = animator.GetInteger(nameHash); TimeScribe.Look_Value(ref value); animator.SetInteger(nameHash, value); } else if (parmType == AnimatorControllerParameterType.Float) { float value = animator.GetFloat(nameHash); TimeScribe.Look_Value(ref value); animator.SetFloat(nameHash, value); } } }
public void ExposeTimeData() { bool newActive = gameObject.activeSelf; TimeScribe.Look_Value(ref newActive); if (newActive != gameObject.activeSelf) { gameObject.SetActive(newActive); } if (RecordTransform) { TimeScribe.Look_Transform(transform); } if (RecordRigidBody) { rb.velocity = TimeScribe.Look_Property(rb.velocity); } TimeScribe.Look_Value(ref FakeDestroyed); }
public override void ExposeTimeData() { base.ExposeTimeData(); Vector2 moveVector; if (DataSource == PlayerTimeDataEnum.Ghost) { moveVector = playerGhostAI.moveVector; } else { moveVector = playerController.moveVector; } TimeScribe.Look_Value(ref moveVector); if (TimeScribe.Mode == ScribeMode.Rewind && DataSource == PlayerTimeDataEnum.Ghost) { playerGhostAI.moveVector = moveVector; } mainSpriteRenderer.flipX = TimeScribe.Look_Property(mainSpriteRenderer.flipX); }