├── .gitattributes ├── .gitignore ├── CHANGELOG.md ├── CHANGELOG.md.meta ├── Documentation.meta ├── Editor.meta ├── Editor ├── uDrifter.Editor.asmdef └── uDrifter.Editor.asmdef.meta ├── LICENSE.md ├── LICENSE.md.meta ├── README.md ├── README.md.meta ├── Runtime.meta ├── Runtime ├── BaseVehicle.cs ├── BaseVehicle.cs.meta ├── Plugins.meta ├── Plugins │ ├── CSharp-Drifter-SDK.meta │ └── CSharp-Drifter-SDK │ │ ├── DrifterSDK.cs │ │ ├── DrifterSDK.cs.meta │ │ ├── x64.meta │ │ └── x64 │ │ ├── Drifter.dll │ │ └── Drifter.dll.meta ├── Vehicles.meta ├── Vehicles │ ├── CarController.cs │ └── CarController.cs.meta ├── uDrifter.asmdef └── uDrifter.asmdef.meta ├── Samples.meta ├── Samples ├── uDrifter.Samples.asmdef └── uDrifter.Samples.asmdef.meta ├── package.json └── package.json.meta /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Uu]ser[Ss]ettings/ 12 | 13 | # MemoryCaptures can get excessive in size. 14 | # They also could contain extremely sensitive data 15 | /[Mm]emoryCaptures/ 16 | 17 | # Recordings can get excessive in size 18 | /[Rr]ecordings/ 19 | 20 | # Uncomment this line if you wish to ignore the asset store tools plugin 21 | # /[Aa]ssets/AssetStoreTools* 22 | 23 | # Autogenerated Jetbrains Rider plugin 24 | /[Aa]ssets/Plugins/Editor/JetBrains* 25 | 26 | # Visual Studio cache directory 27 | .vs/ 28 | 29 | # Gradle cache directory 30 | .gradle/ 31 | 32 | # Autogenerated VS/MD/Consulo solution and project files 33 | ExportedObj/ 34 | .consulo/ 35 | *.csproj 36 | *.unityproj 37 | *.sln 38 | *.suo 39 | *.tmp 40 | *.user 41 | *.userprefs 42 | *.pidb 43 | *.booproj 44 | *.svd 45 | *.pdb 46 | *.mdb 47 | *.opendb 48 | *.VC.db 49 | 50 | # Unity3D generated meta files 51 | *.pidb.meta 52 | *.pdb.meta 53 | *.mdb.meta 54 | 55 | # Unity3D generated file on crash reports 56 | sysinfo.txt 57 | 58 | # Builds 59 | *.apk 60 | *.aab 61 | *.unitypackage 62 | *.app 63 | 64 | # Crashlytics generated file 65 | crashlytics-build.properties 66 | 67 | # Packed Addressables 68 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 69 | 70 | # Temporary auto-generated Android Assets 71 | /[Aa]ssets/[Ss]treamingAssets/aa.meta 72 | /[Aa]ssets/[Ss]treamingAssets/aa/* 73 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | All notable changes to this project will be documented in this file. 3 | 4 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 5 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 | 7 | ## [Unreleased] 8 | 9 | ## [1.0.0] - 2017-06-20 10 | ### Added 11 | - New visual identity by [@tylerfortune8](https://github.com/tylerfortune8). 12 | - Version navigation. 13 | - Links to latest released version in previous versions. 14 | - "Why keep a changelog?" section. 15 | - "Who needs a changelog?" section. 16 | - "How do I make a changelog?" section. 17 | - "Frequently Asked Questions" section. 18 | - New "Guiding Principles" sub-section to "How do I make a changelog?". 19 | - Simplified and Traditional Chinese translations from [@tianshuo](https://github.com/tianshuo). 20 | - German translation from [@mpbzh](https://github.com/mpbzh) & [@Art4](https://github.com/Art4). 21 | - Italian translation from [@azkidenz](https://github.com/azkidenz). 22 | - Swedish translation from [@magol](https://github.com/magol). 23 | - Turkish translation from [@karalamalar](https://github.com/karalamalar). 24 | - French translation from [@zapashcanon](https://github.com/zapashcanon). 25 | - Brazilian Portugese translation from [@Webysther](https://github.com/Webysther). 26 | - Polish translation from [@amielucha](https://github.com/amielucha) & [@m-aciek](https://github.com/m-aciek). 27 | - Russian translation from [@aishek](https://github.com/aishek). 28 | - Czech translation from [@h4vry](https://github.com/h4vry). 29 | - Slovak translation from [@jkostolansky](https://github.com/jkostolansky). 30 | - Korean translation from [@pierceh89](https://github.com/pierceh89). 31 | - Croatian translation from [@porx](https://github.com/porx). 32 | - Persian translation from [@Hameds](https://github.com/Hameds). 33 | - Ukrainian translation from [@osadchyi-s](https://github.com/osadchyi-s). 34 | 35 | ### Changed 36 | - Start using "changelog" over "change log" since it's the common usage. 37 | - Start versioning based on the current English version at 0.3.0 to help 38 | translation authors keep things up-to-date. 39 | - Rewrite "What makes unicorns cry?" section. 40 | - Rewrite "Ignoring Deprecations" sub-section to clarify the ideal 41 | scenario. 42 | - Improve "Commit log diffs" sub-section to further argument against 43 | them. 44 | - Merge "Why can’t people just use a git log diff?" with "Commit log 45 | diffs" 46 | - Fix typos in Simplified Chinese and Traditional Chinese translations. 47 | - Fix typos in Brazilian Portuguese translation. 48 | - Fix typos in Turkish translation. 49 | - Fix typos in Czech translation. 50 | - Fix typos in Swedish translation. 51 | - Improve phrasing in French translation. 52 | - Fix phrasing and spelling in German translation. 53 | 54 | ### Removed 55 | - Section about "changelog" vs "CHANGELOG". 56 | 57 | ## [0.3.0] - 2015-12-03 58 | ### Added 59 | - RU translation from [@aishek](https://github.com/aishek). 60 | - pt-BR translation from [@tallesl](https://github.com/tallesl). 61 | - es-ES translation from [@ZeliosAriex](https://github.com/ZeliosAriex). 62 | 63 | ## [0.2.0] - 2015-10-06 64 | ### Changed 65 | - Remove exclusionary mentions of "open source" since this project can 66 | benefit both "open" and "closed" source projects equally. 67 | 68 | ## [0.1.0] - 2015-10-06 69 | ### Added 70 | - Answer "Should you ever rewrite a change log?". 71 | 72 | ### Changed 73 | - Improve argument against commit logs. 74 | - Start following [SemVer](https://semver.org) properly. 75 | 76 | ## [0.0.8] - 2015-02-17 77 | ### Changed 78 | - Update year to match in every README example. 79 | - Reluctantly stop making fun of Brits only, since most of the world 80 | writes dates in a strange way. 81 | 82 | ### Fixed 83 | - Fix typos in recent README changes. 84 | - Update outdated unreleased diff link. 85 | 86 | ## [0.0.7] - 2015-02-16 87 | ### Added 88 | - Link, and make it obvious that date format is ISO 8601. 89 | 90 | ### Changed 91 | - Clarified the section on "Is there a standard change log format?". 92 | 93 | ### Fixed 94 | - Fix Markdown links to tag comparison URL with footnote-style links. 95 | 96 | ## [0.0.6] - 2014-12-12 97 | ### Added 98 | - README section on "yanked" releases. 99 | 100 | ## [0.0.5] - 2014-08-09 101 | ### Added 102 | - Markdown links to version tags on release headings. 103 | - Unreleased section to gather unreleased changes and encourage note 104 | keeping prior to releases. 105 | 106 | ## [0.0.4] - 2014-08-09 107 | ### Added 108 | - Better explanation of the difference between the file ("CHANGELOG") 109 | and its function "the change log". 110 | 111 | ### Changed 112 | - Refer to a "change log" instead of a "CHANGELOG" throughout the site 113 | to differentiate between the file and the purpose of the file — the 114 | logging of changes. 115 | 116 | ### Removed 117 | - Remove empty sections from CHANGELOG, they occupy too much space and 118 | create too much noise in the file. People will have to assume that the 119 | missing sections were intentionally left out because they contained no 120 | notable changes. 121 | 122 | ## [0.0.3] - 2014-08-09 123 | ### Added 124 | - "Why should I care?" section mentioning The Changelog podcast. 125 | 126 | ## [0.0.2] - 2014-07-10 127 | ### Added 128 | - Explanation of the recommended reverse chronological release ordering. 129 | 130 | ## [0.0.1] - 2014-05-31 131 | ### Added 132 | - This CHANGELOG file to hopefully serve as an evolving example of a 133 | standardized open source project CHANGELOG. 134 | - CNAME file to enable GitHub Pages custom domain 135 | - README now contains answers to common questions about CHANGELOGs 136 | - Good examples and basic guidelines, including proper date formatting. 137 | - Counter-examples: "What makes unicorns cry?" 138 | 139 | [Unreleased]: https://github.com/olivierlacan/keep-a-changelog/compare/v1.0.0...HEAD 140 | [1.0.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.3.0...v1.0.0 141 | [0.3.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.2.0...v0.3.0 142 | [0.2.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.1.0...v0.2.0 143 | [0.1.0]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.8...v0.1.0 144 | [0.0.8]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.7...v0.0.8 145 | [0.0.7]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.6...v0.0.7 146 | [0.0.6]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.5...v0.0.6 147 | [0.0.5]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.4...v0.0.5 148 | [0.0.4]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.3...v0.0.4 149 | [0.0.3]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.2...v0.0.3 150 | [0.0.2]: https://github.com/olivierlacan/keep-a-changelog/compare/v0.0.1...v0.0.2 151 | [0.0.1]: https://github.com/olivierlacan/keep-a-changelog/releases/tag/v0.0.1 -------------------------------------------------------------------------------- /CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3704f55f9850baf478dc37787b6406f7 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Documentation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c281101c31f48cd449a778ee60d073b3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 54c8920f65464b9479b4482ceeb9e06b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/uDrifter.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "uDrifter.Editor", 3 | "rootNamespace": "uDrifter.Editor", 4 | "references": [ 5 | "GUID:cb3a70f57842e534483b5d32f6d46945" 6 | ], 7 | "includePlatforms": [ 8 | "Editor" 9 | ], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": false, 12 | "overrideReferences": false, 13 | "precompiledReferences": [], 14 | "autoReferenced": false, 15 | "defineConstraints": [], 16 | "versionDefines": [], 17 | "noEngineReferences": false 18 | } -------------------------------------------------------------------------------- /Editor/uDrifter.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e9b3c91c5a34ee479dd449b76783fe6 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright 2022 MrRobin 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c7bdb500ec0cac40a8cd6a03b7eccc1 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |

3 | UnityDrifter logo 4 |

5 | 6 |

Drifter [Unity Engine]

7 | 8 | *A semi-realistic vehicle simulation tool for Unity, designed to help developers create and simulate vehicle dynamics within the Unity engine. Developed by using Drifter C# Wrapper.* 9 | 10 |
11 | 12 | This package uses Drifter bindings by [MrRobinOfficial](https://github.com/mrrobinofficial/Unity-Drifter) and the C# wrapper by [CSharp-Drifter-SDK](https://github.com/mrrobinofficial/Unity-Drifter). 13 | 14 | [![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/mrrobinofficial/drifter-unity/blob/HEAD/LICENSE.txt) 15 | ![maintenance-status](https://img.shields.io/badge/maintenance-experimental-blue.svg) 16 | 17 |
18 | 19 | For more in-depth guide, [vist github page]("https://github.com/MrRobinftw/Drifter/wiki/") 20 | 21 | ## Installation 22 | 23 | * [Add package](https://docs.unity3d.com/Manual/upm-ui-giturl.html) from this git URL: ```com.mrrobin.drifter``` or https://github.com/MrRobinOfficial/Drifter-Unity.git 24 | 25 | ## Quick guide 26 | 27 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vel efficitur enim. Donec lobortis nibh ac commodo viverra. Curabitur scelerisque mi nisi, ac fringilla ante porta quis. Morbi aliquam posuere mauris. Fusce condimentum est accumsan lorem sagittis convallis. Curabitur egestas, arcu vitae varius tempor, turpis libero aliquam nisi, et gravida leo urna non sem. In vulputate tincidunt lectus, eget blandit tortor. Morbi id luctus urna. Vestibulum in magna at metus ultricies vulputate. Ut ultricies hendrerit tortor sit amet fringilla. Nullam nec suscipit neque. Pellentesque in vulputate lectus. 28 | 29 | Nunc consequat diam id turpis imperdiet, id tempus turpis dictum. Vestibulum non rhoncus orci, nec vestibulum elit. Vestibulum eu blandit erat. Duis porta ultrices tellus sit amet efficitur. Morbi dignissim justo pellentesque turpis elementum dapibus. Vivamus rutrum ligula et elementum viverra. Maecenas blandit varius purus a faucibus. Aenean leo tellus, lacinia et nisl sed, iaculis sodales ipsum. Aenean sollicitudin, libero ac viverra pellentesque, odio odio rhoncus turpis, eu mattis ligula dolor ut risus. Vivamus tincidunt nisl vitae nunc aliquet pulvinar ac quis nisi. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed pharetra lacus aliquet porttitor tempus. 30 | 31 | ## See Also 32 | This package uses Drifter bindings by [MrRobinOfficial](https://github.com/mrrobinofficial/Unity-Drifter) and the C# wrapper by [CSharp-Drifter-SDK](https://github.com/mrrobinofficial/Unity-Drifter). 33 | 34 | The development project for the package can be found at https://github.com/mrrobinofficial/Unity-Drifter. 35 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 843aa798e5355be439624b4aa13c2453 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c9e4badbe7eb7641b205d882a032096 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/BaseVehicle.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace uDrifter 4 | { 5 | /// 6 | /// 7 | /// 8 | public abstract class BaseVehicle : MonoBehaviour 9 | { 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Runtime/BaseVehicle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 619ee5018b93b0a419a828e5ccc7b1aa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a9a8c14b1a62d34b96638232f6ae794 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Plugins/CSharp-Drifter-SDK.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0f07a2f95982864184b5849bc8605eb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Plugins/CSharp-Drifter-SDK/DrifterSDK.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Specialized; 4 | using System.Runtime.InteropServices; 5 | using System.Diagnostics; 6 | using System.Text; 7 | 8 | public class DrifterSDK 9 | { 10 | /// @brief Error Flags 11 | public enum EErrorFlags 12 | { 13 | // Area 14 | 15 | Powertrain = 1 << 0, 16 | Chassis = 1 << 1, 17 | Body = 1 << 2, 18 | Network = 1 << 3, 19 | 20 | // Codes 21 | 22 | StandardCode = 1 << 4, 23 | ManufacturerSpecificCode = 1 << 5, 24 | 25 | // Subsystem 26 | 27 | IgnitionSystem = 1 << 6, 28 | EngineIdleControl = 1 << 7, 29 | TransmissionControlSystem = 1 << 8, 30 | }; 31 | 32 | /// @brief Drive Type 33 | public enum EDriveType : byte 34 | { 35 | /// @brief All-wheel drive 36 | AWD, 37 | /// @brief Front wheel drive 38 | FWD, 39 | /// @brief Rear wheel drive 40 | RWD, 41 | }; 42 | 43 | /// @brief Steering Type 44 | public enum ESteeringType : byte 45 | { 46 | Classic, 47 | Ackermann, 48 | }; 49 | 50 | /// @brief Driving Mode 51 | public enum EDrivingMode : byte 52 | { 53 | Normal, 54 | ECO, 55 | Sport, 56 | /// @brief Custom preset 1 57 | Profile1, 58 | /// @brief Custom preset 2 59 | Profile2, 60 | /// @brief Custom preset 3 61 | Profile3, 62 | }; 63 | 64 | /// @brief Light Mode 65 | public enum ELightMode : byte 66 | { 67 | Off, 68 | LowBeam, 69 | FullBeam, 70 | }; 71 | 72 | public enum ELightType : byte 73 | { 74 | LeftSignal, 75 | RightSignal, 76 | HazardSignal, 77 | Headlights, 78 | FogLights, 79 | Lightbar 80 | }; 81 | 82 | /// @brief Engine Type 83 | public enum EEngineType : byte 84 | { 85 | InternalCombustion, 86 | Electric, 87 | IndirectDiesel, 88 | DirectDiesel, 89 | }; 90 | 91 | /// @brief Transmission Type 92 | public enum ETransmissionType : byte 93 | { 94 | Manual, 95 | Automatic, 96 | AutomaticSequential, 97 | CVT, 98 | }; 99 | 100 | /// @brief Clutch Type 101 | public enum EClutchType : byte 102 | { 103 | TorqueConverter, 104 | FrictionDisc, 105 | }; 106 | 107 | /// @brief Differential Type 108 | public enum EDifferentialType : byte 109 | { 110 | None, 111 | Locked, 112 | Open, 113 | Viscous, 114 | LSD, 115 | //Open, 116 | //Locked, 117 | //ClutchPack, 118 | //Viscous, 119 | //TorqueBias, 120 | }; 121 | 122 | /// @brief Surface Type 123 | public enum ESurfaceType : byte 124 | { 125 | Custom, 126 | DryAsphalt, 127 | WetAsphalt, 128 | DryConcrete, 129 | WetConcrete, 130 | DryMudd, 131 | WetMudd, 132 | Grass, 133 | Sand, 134 | Gravel, 135 | Snow, 136 | Ice, 137 | }; 138 | 139 | public struct WheelFriction_Data 140 | { 141 | 142 | } 143 | 144 | /// @brief Get gear as text formatted 145 | /// @param GearIndex Gear index number (negative = R, zero = N, positive = 1,2,3..) 146 | /// @return A string with gear as text formatted 147 | [DllImport("Drifter", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] 148 | public static extern string GetGearText(int gearIndex); 149 | } 150 | -------------------------------------------------------------------------------- /Runtime/Plugins/CSharp-Drifter-SDK/DrifterSDK.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 311ba251919afeb47b8af7c58db06ffd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Plugins/CSharp-Drifter-SDK/x64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d434f7a568cae049b0ba45012901036 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Plugins/CSharp-Drifter-SDK/x64/Drifter.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MrRobinOfficial/Drifter-Unity/a2c65422a0a5a24dd56b6b15a6596bb15fa99042/Runtime/Plugins/CSharp-Drifter-SDK/x64/Drifter.dll -------------------------------------------------------------------------------- /Runtime/Plugins/CSharp-Drifter-SDK/x64/Drifter.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cd621242d249d0408bc56ae5803822b 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Editor: 0 20 | Exclude Linux64: 0 21 | Exclude OSXUniversal: 0 22 | Exclude WebGL: 0 23 | Exclude Win: 1 24 | Exclude Win64: 0 25 | - first: 26 | Any: 27 | second: 28 | enabled: 1 29 | settings: {} 30 | - first: 31 | Editor: Editor 32 | second: 33 | enabled: 1 34 | settings: 35 | CPU: AnyCPU 36 | DefaultValueInitialized: true 37 | OS: AnyOS 38 | - first: 39 | Standalone: Linux64 40 | second: 41 | enabled: 1 42 | settings: 43 | CPU: x86_64 44 | - first: 45 | Standalone: OSXUniversal 46 | second: 47 | enabled: 1 48 | settings: 49 | CPU: None 50 | - first: 51 | Standalone: Win 52 | second: 53 | enabled: 0 54 | settings: 55 | CPU: None 56 | - first: 57 | Standalone: Win64 58 | second: 59 | enabled: 1 60 | settings: 61 | CPU: x86_64 62 | - first: 63 | WebGL: WebGL 64 | second: 65 | enabled: 1 66 | settings: {} 67 | userData: 68 | assetBundleName: 69 | assetBundleVariant: 70 | -------------------------------------------------------------------------------- /Runtime/Vehicles.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5723a8092445dd344b5decacf428b22e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Vehicles/CarController.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace uDrifter 4 | { 5 | /// 6 | /// 7 | /// 8 | public class CarController : BaseVehicle 9 | { 10 | public DrifterSDK.EEngineType engineType; 11 | public DrifterSDK.EClutchType clutchType; 12 | public DrifterSDK.EDriveType driveType; 13 | public DrifterSDK.ETransmissionType transmissionType; 14 | 15 | private void Start() 16 | { 17 | Debug.Log(nameof(Start), this); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Runtime/Vehicles/CarController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe27f5aea1f5fb649a99d2d37b0a3457 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/uDrifter.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "uDrifter", 3 | "rootNamespace": "uDrifter", 4 | "references": [], 5 | "includePlatforms": [], 6 | "excludePlatforms": [], 7 | "allowUnsafeCode": false, 8 | "overrideReferences": false, 9 | "precompiledReferences": [], 10 | "autoReferenced": true, 11 | "defineConstraints": [], 12 | "versionDefines": [], 13 | "noEngineReferences": false 14 | } -------------------------------------------------------------------------------- /Runtime/uDrifter.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb3a70f57842e534483b5d32f6d46945 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Samples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 534dbd922631a4e4d82c42a8c9319969 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/uDrifter.Samples.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "uDrifter.Samples", 3 | "rootNamespace": "uDrifter.Samples", 4 | "references": [], 5 | "includePlatforms": [], 6 | "excludePlatforms": [], 7 | "allowUnsafeCode": false, 8 | "overrideReferences": false, 9 | "precompiledReferences": [], 10 | "autoReferenced": true, 11 | "defineConstraints": [], 12 | "versionDefines": [], 13 | "noEngineReferences": false 14 | } -------------------------------------------------------------------------------- /Samples/uDrifter.Samples.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: caa17dd26ac55a349996e618a88a0db9 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.mrrobin.drifter", 3 | "version": "1.0.0", 4 | "displayName": "Drifter", 5 | "description": "This is an example package", 6 | "unity": "2021.3", 7 | "unityRelease": "0f1", 8 | "documentationUrl": "https://github.com/MrRobinftw/Drifter/wiki/", 9 | "changelogUrl": "https://example.com/changelog.html", 10 | "licensesUrl": "https://example.com/licensing.html", 11 | "dependencies": { 12 | "com.unity.nuget.newtonsoft-json": "3.0.2", 13 | }, 14 | "keywords": [ 15 | "drifter", 16 | "car", 17 | "physics", 18 | "simulator", 19 | "vehicle", 20 | "drifting" 21 | ], 22 | "author": { 23 | "name": "Robin", 24 | "email": "mrrobin123mail@gmail.com", 25 | "url": "https://github.com/MrRobinOfficial" 26 | } 27 | } -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48cad6e58e35e05498036483f5d6a987 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | --------------------------------------------------------------------------------