9:39am - One last work post for the day/night/morning/whatever. I've gone ahead and fixed the double jumping problem and started working on the floatiness. I added my own gravity component instead of using the global gravity, and I was going to make it so that your horizontal move speed differs depending on if you're grounded or not, but then I realized I should extract that value from the components and make a new component just for determining if the Mobile is grounded.
I'm tired so I'll do that next time. But what I need to do is redo the grounded check using the raycast data to determine how far the ground is, rather than checking if there is ground at an arbitrary point. I also need to set a ScriptableObject style property with the IsGrounded state, so that various systems I create can test that value. For example, I want both my Jump component and my Move component to change their behavior depending on that, and I think I'll probably want to check it in animation and sound effects too.
So that's what I'll do next time. For now, I'm going to bed.
I'm tired so I'll do that next time. But what I need to do is redo the grounded check using the raycast data to determine how far the ground is, rather than checking if there is ground at an arbitrary point. I also need to set a ScriptableObject style property with the IsGrounded state, so that various systems I create can test that value. For example, I want both my Jump component and my Move component to change their behavior depending on that, and I think I'll probably want to check it in animation and sound effects too.
So that's what I'll do next time. For now, I'm going to bed.