WIP: Impact and Scrapes (#1072)
* strip impact sound stuff from native
* put it in c# commented out for implementation there later
* Strip CPhysSurfacePropertiesSoundNames
* Add GetFrictionNotifications() to IPhysicsWorld
* Add FrictionEvent, call c# with friction notifications
* Add OnFrictionEvent c# side, add some log for test
* Add GetFrictionNotifications override to CPhysicsWorld. put note to call shutdownfrictionsounds in entity InternalDestruct for later
* Start re-impl impacts in c#
* Remove some logs, ensure impact sound plays from body position
* Strip m_audioParams / CPhysSurfacePropertiesAudio
* Add ScrapeRough/ScrapeSmooth to Surface sound def, add RoughnessFactor and RoughThreshold
* Reorganize code + implement friction sounds in theory
* Call StopFrictionSounds in entity destruct
* Add friction sound to list.... some debug logs...
* Reverse MathX.approach params (it was this way in native :S)
* Add some stuff to entity similar to StartTouch/Touch/EndTouch but for scrapes - revise later
* Use ScrapeEvent incase we need to add/change params later
* Call it ScrapeEventData like CollisionEventData and move it out of Entity
* Fix access violation
* Test
* Remove ScrapeEvent / Entity.Start/EndScrape stuff for now we can look at that later