private void OnPlayerMotionStatusChange(object sender, BaseEventArgs e) { var eventArgs = (PlayerMotionStatusChangeEventArgs)e; if (PlayerUtility.IsGrounded(eventArgs.PlayerStates) && PlayerUtility.IsInAir(eventArgs.LastMotionStatus)) { AudioManager.StopSoundEffect("smb_jump-small"); AudioManager.StopSoundEffect("smb_jump-super"); } if (eventArgs.PlayerStates.Motion == PlayerMotionStatus.Jumping && !AudioManager.IsPlayingSoundEffect("smb_stomp")) { AudioManager.PlaySoundEffect(eventArgs.PlayerStates.Level == PlayerLevel.Default ? "smb_jump-small" : "smb_jump-super"); } }
protected override JobHandle OnUpdate(JobHandle inputDeps) { Entities.WithAll <PlayerTag>().ForEach((ref PlayerStates playerStates, in PlayerInputData inputData) => { if (PlayerUtility.IsInAir(playerStates)) { return; } if (inputData.HorizontalInput > 0) { playerStates.IsFacingLeft = false; } else if (inputData.HorizontalInput < 0) { playerStates.IsFacingLeft = true; } }).Run(); return(default);