├── FSharpGame
├── FSharpGame.fsproj
├── Icon.fs
├── IconFp.fs
└── obj
│ ├── Debug
│ └── net45
│ │ ├── FSharpGame.dll
│ │ ├── FSharpGame.fsproj.CopyComplete
│ │ ├── FSharpGame.fsproj.CoreCompileInputs.cache
│ │ ├── FSharpGame.fsproj.FileListAbsolute.txt
│ │ ├── FsharpGame.fsprojResolveAssemblyReference.cache
│ │ └── FsharpGame.pdb
│ ├── FSharpGame.fsproj.nuget.g.targets
│ ├── FSharpGame.fsproj.proj-info.targets
│ ├── FsharpGame.fsproj.nuget.cache
│ ├── FsharpGame.fsproj.nuget.g.props
│ ├── fsac.cache
│ └── project.assets.json
├── Game
├── .import
│ └── icon.png-487276ed1e3a0c39cad0279d744ee560.stex
├── Game.csproj
├── Game.sln
├── Icon.cs
├── MainScene.tscn
├── Properties
│ └── AssemblyInfo.cs
├── default_env.tres
├── icon.png
├── icon.png.import
└── project.godot
└── README.md
/FSharpGame/FSharpGame.fsproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net45
5 |
6 |
7 |
8 |
9 | $(ProjectDir)/../Game/.mono/assemblies/GodotSharp.dll
10 | False
11 |
12 |
13 | $(ProjectDir)/../Game/.mono/assemblies/GodotSharpEditor.dll
14 | False
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/FSharpGame/Icon.fs:
--------------------------------------------------------------------------------
1 | namespace FSharpGame
2 |
3 | open Godot
4 |
5 | module Icon =
6 | type Class() =
7 | inherit Sprite()
8 | override this._Ready () = GD.Print("FSharp is ready")
9 | override this._Process (delta) =
10 | let pos = this.GetPosition()
11 | let increment = Vector2(50.0f * delta, 0.0f)
12 | if Input.IsActionPressed("key_left") then
13 | this.SetPosition(pos - increment)
14 | if Input.IsActionPressed("key_right") then
15 | this.SetPosition(pos + increment)
--------------------------------------------------------------------------------
/FSharpGame/IconFp.fs:
--------------------------------------------------------------------------------
1 | namespace FSharpGame
2 |
3 | open Godot
4 |
5 | module IconFp =
6 | // All pure code is outside the class. Everything is immutable and there are
7 | // no side effects. This has the main game logic.
8 |
9 | type State = {
10 | velocity: Vector2
11 | acceleration : float32
12 | drag : float32
13 | minXVelocity : float32
14 | }
15 |
16 | type Input = {
17 | isLeftKeyPressed: bool
18 | isRightKeyPressed: bool
19 | position: Vector2
20 | }
21 |
22 | type Output = {
23 | position: Vector2
24 | }
25 |
26 | let initialState : State = {
27 | velocity = Vector2(0.0f, 0.0f)
28 | acceleration = 70.0f
29 | drag = 30.0f
30 | minXVelocity = 10.0f
31 | }
32 |
33 | let applyXAcceleration acceleration state delta =
34 | { state with velocity = state.velocity + Vector2(acceleration * delta, 0.0f) }
35 |
36 | let applyDrag state delta =
37 | if abs state.velocity.x < state.minXVelocity then
38 | { state with velocity = Vector2(0.0f, 0.0f) }
39 | else
40 | applyXAcceleration
41 | (state.drag * float32 (sign state.velocity.x) * -1.0f)
42 | state
43 | delta
44 |
45 | let stateToOutput (input: Input) state delta =
46 | { position = input.position + (state.velocity * delta) }
47 |
48 | let processFrame (input: Input) (state: State) (delta: float32) =
49 | let newState =
50 | if input.isLeftKeyPressed then
51 | applyXAcceleration (state.acceleration * -1.0f) state delta
52 | else if input.isRightKeyPressed then
53 | applyXAcceleration state.acceleration state delta
54 | else
55 | applyDrag state delta
56 | (newState, stateToOutput input newState delta)
57 |
58 | // All impure code goes inside the class. The class only has plumbing for
59 | // the side effects and for keeping state between frames.
60 | type Class() =
61 | inherit Sprite()
62 | let mutable state : State = initialState
63 | override this._Process delta =
64 | let (newState, output) =
65 | processFrame
66 | { isLeftKeyPressed = Input.IsActionPressed("key_left")
67 | isRightKeyPressed = Input.IsActionPressed("key_right")
68 | position = this.GetPosition()
69 | }
70 | state
71 | delta
72 | state <- newState
73 | this.SetPosition(output.position)
--------------------------------------------------------------------------------
/FSharpGame/obj/Debug/net45/FSharpGame.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/FSharpGame/obj/Debug/net45/FSharpGame.dll
--------------------------------------------------------------------------------
/FSharpGame/obj/Debug/net45/FSharpGame.fsproj.CopyComplete:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/FSharpGame/obj/Debug/net45/FSharpGame.fsproj.CopyComplete
--------------------------------------------------------------------------------
/FSharpGame/obj/Debug/net45/FSharpGame.fsproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | a99cb231e807e7134713631ceb89adc2ee6bf62c
2 |
--------------------------------------------------------------------------------
/FSharpGame/obj/Debug/net45/FSharpGame.fsproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharpGame.dll
2 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharpGame.pdb
3 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharp.Core.dll
4 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/System.ValueTuple.dll
5 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/Debug/net45/FSharpGame.fsprojResolveAssemblyReference.cache
6 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/Debug/net45/FSharpGame.fsproj.CoreCompileInputs.cache
7 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/Debug/net45/FSharpGame.dll
8 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/Debug/net45/FSharpGame.pdb
9 |
--------------------------------------------------------------------------------
/FSharpGame/obj/Debug/net45/FsharpGame.fsprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/FSharpGame/obj/Debug/net45/FsharpGame.fsprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/FSharpGame/obj/Debug/net45/FsharpGame.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/FSharpGame/obj/Debug/net45/FsharpGame.pdb
--------------------------------------------------------------------------------
/FSharpGame/obj/FSharpGame.fsproj.nuget.g.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
5 |
6 |
--------------------------------------------------------------------------------
/FSharpGame/obj/FSharpGame.fsproj.proj-info.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
5 |
6 |
9 |
10 |
16 |
17 |
21 |
22 |
25 |
26 |
27 |
33 |
34 |
38 |
39 |
40 |
43 |
44 |
45 | <_Inspect_GetProperties_OutLines Include="P0">
46 | TargetPath
47 | $(TargetPath)
48 |
49 |
50 | <_Inspect_GetProperties_OutLines Include="P1">
51 | IsCrossTargetingBuild
52 | $(IsCrossTargetingBuild)
53 |
54 |
55 | <_Inspect_GetProperties_OutLines Include="P2">
56 | TargetFrameworks
57 | $(TargetFrameworks)
58 |
59 |
60 | <_Inspect_GetProperties_OutLines Include="P3">
61 | OutputType
62 | $(OutputType)
63 |
64 |
65 | <_Inspect_GetProperties_OutLines Include="P4">
66 | IsTestProject
67 | $(IsTestProject)
68 |
69 |
70 | <_Inspect_GetProperties_OutLines Include="P5">
71 | Configuration
72 | $(Configuration)
73 |
74 |
75 | <_Inspect_GetProperties_OutLines Include="P6">
76 | IsPackable
77 | $(IsPackable)
78 |
79 |
80 | <_Inspect_GetProperties_OutLines Include="P7">
81 | TargetFramework
82 | $(TargetFramework)
83 |
84 |
85 | <_Inspect_GetProperties_OutLines Include="P8">
86 | TargetFrameworkIdentifier
87 | $(TargetFrameworkIdentifier)
88 |
89 |
90 | <_Inspect_GetProperties_OutLines Include="P9">
91 | TargetFrameworkVersion
92 | $(TargetFrameworkVersion)
93 |
94 |
95 | <_Inspect_GetProperties_OutLines Include="P10">
96 | MSBuildAllProjects
97 | $(MSBuildAllProjects)
98 |
99 |
100 | <_Inspect_GetProperties_OutLines Include="P11">
101 | ProjectAssetsFile
102 | $(ProjectAssetsFile)
103 |
104 |
105 | <_Inspect_GetProperties_OutLines Include="P12">
106 | RestoreSuccess
107 | $(RestoreSuccess)
108 |
109 |
110 | <_Inspect_GetProperties_OutLines Include="P13">
111 | Configurations
112 | $(Configurations)
113 |
114 |
115 | <_Inspect_GetProperties_OutLines Include="P14">
116 | TargetFrameworks
117 | $(TargetFrameworks)
118 |
119 |
120 | <_Inspect_GetProperties_OutLines Include="P15">
121 | RunArguments
122 | $(RunArguments)
123 |
124 |
125 | <_Inspect_GetProperties_OutLines Include="P16">
126 | RunCommand
127 | $(RunCommand)
128 |
129 |
130 | <_Inspect_GetProperties_OutLines Include="P17">
131 | IsPublishable
132 | $(IsPublishable)
133 |
134 |
135 |
141 |
142 |
143 |
146 |
147 |
148 | <_Inspect_GetProperties_OutLines Include="P0">
149 | TargetPath
150 | $(TargetPath)
151 |
152 |
153 | <_Inspect_GetProperties_OutLines Include="P1">
154 | IsCrossTargetingBuild
155 | $(IsCrossTargetingBuild)
156 |
157 |
158 | <_Inspect_GetProperties_OutLines Include="P2">
159 | TargetFrameworks
160 | $(TargetFrameworks)
161 |
162 |
163 | <_Inspect_GetProperties_OutLines Include="P3">
164 | OutputType
165 | $(OutputType)
166 |
167 |
168 | <_Inspect_GetProperties_OutLines Include="P4">
169 | IsTestProject
170 | $(IsTestProject)
171 |
172 |
173 | <_Inspect_GetProperties_OutLines Include="P5">
174 | Configuration
175 | $(Configuration)
176 |
177 |
178 | <_Inspect_GetProperties_OutLines Include="P6">
179 | IsPackable
180 | $(IsPackable)
181 |
182 |
183 | <_Inspect_GetProperties_OutLines Include="P7">
184 | TargetFramework
185 | $(TargetFramework)
186 |
187 |
188 | <_Inspect_GetProperties_OutLines Include="P8">
189 | TargetFrameworkIdentifier
190 | $(TargetFrameworkIdentifier)
191 |
192 |
193 | <_Inspect_GetProperties_OutLines Include="P9">
194 | TargetFrameworkVersion
195 | $(TargetFrameworkVersion)
196 |
197 |
198 | <_Inspect_GetProperties_OutLines Include="P10">
199 | MSBuildAllProjects
200 | $(MSBuildAllProjects)
201 |
202 |
203 | <_Inspect_GetProperties_OutLines Include="P11">
204 | ProjectAssetsFile
205 | $(ProjectAssetsFile)
206 |
207 |
208 | <_Inspect_GetProperties_OutLines Include="P12">
209 | RestoreSuccess
210 | $(RestoreSuccess)
211 |
212 |
213 | <_Inspect_GetProperties_OutLines Include="P13">
214 | Configurations
215 | $(Configurations)
216 |
217 |
218 | <_Inspect_GetProperties_OutLines Include="P14">
219 | TargetFrameworks
220 | $(TargetFrameworks)
221 |
222 |
223 | <_Inspect_GetProperties_OutLines Include="P15">
224 | RunArguments
225 | $(RunArguments)
226 |
227 |
228 | <_Inspect_GetProperties_OutLines Include="P16">
229 | RunCommand
230 | $(RunCommand)
231 |
232 |
233 | <_Inspect_GetProperties_OutLines Include="P17">
234 | IsPublishable
235 | $(IsPublishable)
236 |
237 |
238 |
244 |
245 |
246 |
248 |
249 |
--------------------------------------------------------------------------------
/FSharpGame/obj/FsharpGame.fsproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "X8yZz5Ya6EUjspj1xXT/0ZEt5o8IOBdtzZoFCjCYDjPUhiNtQIEqep+TMKNvBtDrxHfhjYtypoYgXlEFAQ0goA==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/FSharpGame/obj/FsharpGame.fsproj.nuget.g.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | True
5 | NuGet
6 | /Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/project.assets.json
7 | /Users/leo/.nuget/packages/
8 | /Users/leo/.nuget/packages/;/usr/local/share/dotnet/sdk/NuGetFallbackFolder
9 | PackageReference
10 | 4.4.0
11 |
12 |
13 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
14 |
15 |
--------------------------------------------------------------------------------
/FSharpGame/obj/fsac.cache:
--------------------------------------------------------------------------------
1 | 3/20/2018 1:19:49 AM
2 | {"Options":{"ProjectFileName":"/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/FSharpGame.fsproj","SourceFiles":[],"OtherOptions":["-o:/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/Debug/net45/FSharpGame.dll","-g","--debug:portable","--noframework","--define:TRACE","--define:DEBUG","--define:NET45","--optimize-","-r:/Users/leo/.nuget/packages/fsharp.core/4.2.3/lib/net45/FSharp.Core.dll","-r:/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/../Game/.mono/assemblies/GodotSharp.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/mscorlib.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Core.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Data.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Drawing.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.IO.Compression.FileSystem.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Numerics.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Runtime.Serialization.dll","-r:/usr/local/share/dotnet/sdk/NuGetFallbackFolder/system.valuetuple/4.4.0/ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Xml.dll","-r:/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Xml.Linq.dll","--target:library","--warn:3","--warnaserror:76","--fullpaths","--flaterrors","--subsystemversion:6.00","--highentropyva+","--targetprofile:mscorlib","--simpleresolution","--nocopyfsharpcore","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/Icon.fs","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/IconFp.fs"],"ReferencedProjects":[],"IsIncompleteTypeCheckEnvironment":false,"UseScriptResolutionRules":false,"LoadTime":"2018-03-19T20:19:51.335329-05:00","UnresolvedReferences":null,"OriginalLoadReferences":[],"ExtraProjectInfo":{"Case":"Some","Fields":[{"ProjectOutputType":{"Case":"Library"},"ProjectSdkType":{"Case":"DotnetSdk","Fields":[{"IsTestProject":false,"Configuration":"Debug","IsPackable":true,"TargetFramework":"net45","TargetFrameworkIdentifier":".NETFramework","TargetFrameworkVersion":"v4.5","MSBuildAllProjects":["/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.SupportedTargetFrameworks.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.FSharp.props","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.NetSdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.BeforeCommon.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.DefaultAssemblyInfo.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.DefaultOutputPaths.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.TargetFrameworkInference.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.RuntimeIdentifierInference.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.NuGetOfflineCache.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.FSharp.targets","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.NetSdk.targets","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.Targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.NETFramework.CurrentVersion.props","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/FSharpGame.fsproj","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.Common.CurrentVersion.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.NETFramework.CurrentVersion.targets","/usr/local/share/dotnet/sdk/2.1.4/NuGet.targets","/usr/local/share/dotnet/sdk/2.1.4/15.0/Microsoft.Common.targets/ImportAfter/Microsoft.NET.Build.Extensions.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.NETFramework.targets","/usr/local/share/dotnet/sdk/2.1.4/15.0/Microsoft.Common.targets/ImportAfter/Microsoft.TestPlatform.ImportAfter.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.TestPlatform.targets","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/FSharpGame.fsproj.nuget.g.targets","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/FSharpGame.fsproj.proj-info.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.Common.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.PackageDependencyResolution.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.GenerateAssemblyInfo.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.ComposeStore.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.CrossGen.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Publish.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.PreserveCompilationContext.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.ConflictResolution.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/NuGet.Build.Tasks.Pack/build/NuGet.Build.Tasks.Pack.targets"],"MSBuildToolsVersion":"","ProjectAssetsFile":"/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/project.assets.json","RestoreSuccess":false,"Configurations":["Debug","Release"],"TargetFrameworks":[],"TargetPath":"/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharpGame.dll","RunArguments":{"Case":"Some","Fields":[""]},"RunCommand":{"Case":"Some","Fields":[""]},"IsPublishable":{"Case":"Some","Fields":[true]}}]}}]},"Stamp":null},"Files":["/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/Icon.fs","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/IconFp.fs"],"OutFile":{"Case":"Some","Fields":["/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharpGame.dll"]},"References":["/Users/leo/.nuget/packages/fsharp.core/4.2.3/lib/net45/FSharp.Core.dll","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/../Game/.mono/assemblies/GodotSharp.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/mscorlib.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Core.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Data.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Drawing.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.IO.Compression.FileSystem.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Numerics.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Runtime.Serialization.dll","/usr/local/share/dotnet/sdk/NuGetFallbackFolder/system.valuetuple/4.4.0/ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Xml.dll","/Library/Frameworks/Mono.framework/Versions/Current/Commands/../lib/mono/4.5/System.Xml.Linq.dll"],"Log":{},"ExtraInfo":{"ProjectOutputType":{"Case":"Library"},"ProjectSdkType":{"Case":"DotnetSdk","Fields":[{"IsTestProject":false,"Configuration":"Debug","IsPackable":true,"TargetFramework":"net45","TargetFrameworkIdentifier":".NETFramework","TargetFrameworkVersion":"v4.5","MSBuildAllProjects":["/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.SupportedTargetFrameworks.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.FSharp.props","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.NetSdk.props","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.BeforeCommon.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.DefaultAssemblyInfo.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.DefaultOutputPaths.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.TargetFrameworkInference.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.RuntimeIdentifierInference.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.NuGetOfflineCache.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.FSharp.targets","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.NetSdk.targets","/usr/local/share/dotnet/sdk/2.1.4/FSharp/Microsoft.FSharp.Targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.NETFramework.CurrentVersion.props","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/FSharpGame.fsproj","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.Common.CurrentVersion.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.NETFramework.CurrentVersion.targets","/usr/local/share/dotnet/sdk/2.1.4/NuGet.targets","/usr/local/share/dotnet/sdk/2.1.4/15.0/Microsoft.Common.targets/ImportAfter/Microsoft.NET.Build.Extensions.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.NETFramework.targets","/usr/local/share/dotnet/sdk/2.1.4/15.0/Microsoft.Common.targets/ImportAfter/Microsoft.TestPlatform.ImportAfter.targets","/usr/local/share/dotnet/sdk/2.1.4/Microsoft.TestPlatform.targets","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/FSharpGame.fsproj.nuget.g.targets","/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/FSharpGame.fsproj.proj-info.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.Common.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.PackageDependencyResolution.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.GenerateAssemblyInfo.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.ComposeStore.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.CrossGen.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Publish.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.PreserveCompilationContext.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.ConflictResolution.targets","/usr/local/share/dotnet/sdk/2.1.4/Sdks/NuGet.Build.Tasks.Pack/build/NuGet.Build.Tasks.Pack.targets"],"MSBuildToolsVersion":"","ProjectAssetsFile":"/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/project.assets.json","RestoreSuccess":false,"Configurations":["Debug","Release"],"TargetFrameworks":[],"TargetPath":"/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/bin/Debug/net45/FSharpGame.dll","RunArguments":{"Case":"Some","Fields":[""]},"RunCommand":{"Case":"Some","Fields":[""]},"IsPublishable":{"Case":"Some","Fields":[true]}}]}}}
3 |
--------------------------------------------------------------------------------
/FSharpGame/obj/project.assets.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "targets": {
4 | ".NETFramework,Version=v4.5": {
5 | "FSharp.Core/4.2.3": {
6 | "type": "package",
7 | "compile": {
8 | "lib/net45/FSharp.Core.dll": {}
9 | },
10 | "runtime": {
11 | "lib/net45/FSharp.Core.dll": {}
12 | }
13 | },
14 | "System.ValueTuple/4.4.0": {
15 | "type": "package",
16 | "compile": {
17 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll": {}
18 | },
19 | "runtime": {
20 | "lib/netstandard1.0/System.ValueTuple.dll": {}
21 | }
22 | }
23 | },
24 | ".NETFramework,Version=v4.5/win": {
25 | "FSharp.Core/4.2.3": {
26 | "type": "package",
27 | "compile": {
28 | "lib/net45/FSharp.Core.dll": {}
29 | },
30 | "runtime": {
31 | "lib/net45/FSharp.Core.dll": {}
32 | }
33 | },
34 | "System.ValueTuple/4.4.0": {
35 | "type": "package",
36 | "compile": {
37 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll": {}
38 | },
39 | "runtime": {
40 | "lib/netstandard1.0/System.ValueTuple.dll": {}
41 | }
42 | }
43 | },
44 | ".NETFramework,Version=v4.5/win-x64": {
45 | "FSharp.Core/4.2.3": {
46 | "type": "package",
47 | "compile": {
48 | "lib/net45/FSharp.Core.dll": {}
49 | },
50 | "runtime": {
51 | "lib/net45/FSharp.Core.dll": {}
52 | }
53 | },
54 | "System.ValueTuple/4.4.0": {
55 | "type": "package",
56 | "compile": {
57 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll": {}
58 | },
59 | "runtime": {
60 | "lib/netstandard1.0/System.ValueTuple.dll": {}
61 | }
62 | }
63 | },
64 | ".NETFramework,Version=v4.5/win-x86": {
65 | "FSharp.Core/4.2.3": {
66 | "type": "package",
67 | "compile": {
68 | "lib/net45/FSharp.Core.dll": {}
69 | },
70 | "runtime": {
71 | "lib/net45/FSharp.Core.dll": {}
72 | }
73 | },
74 | "System.ValueTuple/4.4.0": {
75 | "type": "package",
76 | "compile": {
77 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll": {}
78 | },
79 | "runtime": {
80 | "lib/netstandard1.0/System.ValueTuple.dll": {}
81 | }
82 | }
83 | }
84 | },
85 | "libraries": {
86 | "FSharp.Core/4.2.3": {
87 | "sha512": "PthzJd0cY9L7+mPHoMB0B9Z9moR4oO1rU5RDrVW44cfMm0R9AYFf+F3BsuTvP9clr9w/Wa0wbSfEwbJV8sV80A==",
88 | "type": "package",
89 | "path": "fsharp.core/4.2.3",
90 | "files": [
91 | "fsharp.core.4.2.3.nupkg.sha512",
92 | "fsharp.core.nuspec",
93 | "lib/net45/FSharp.Core.dll",
94 | "lib/net45/FSharp.Core.optdata",
95 | "lib/net45/FSharp.Core.sigdata",
96 | "lib/net45/FSharp.Core.xml",
97 | "lib/netstandard1.6/FSharp.Core.dll",
98 | "lib/netstandard1.6/FSharp.Core.optdata",
99 | "lib/netstandard1.6/FSharp.Core.sigdata",
100 | "lib/netstandard1.6/FSharp.Core.xml"
101 | ]
102 | },
103 | "System.ValueTuple/4.4.0": {
104 | "sha512": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==",
105 | "type": "package",
106 | "path": "system.valuetuple/4.4.0",
107 | "files": [
108 | "LICENSE.TXT",
109 | "THIRD-PARTY-NOTICES.TXT",
110 | "lib/MonoAndroid10/_._",
111 | "lib/MonoTouch10/_._",
112 | "lib/net461/System.ValueTuple.dll",
113 | "lib/net461/System.ValueTuple.xml",
114 | "lib/net47/System.ValueTuple.dll",
115 | "lib/net47/System.ValueTuple.xml",
116 | "lib/netcoreapp2.0/_._",
117 | "lib/netstandard1.0/System.ValueTuple.dll",
118 | "lib/netstandard1.0/System.ValueTuple.xml",
119 | "lib/netstandard2.0/_._",
120 | "lib/portable-net40+sl4+win8+wp8/System.ValueTuple.dll",
121 | "lib/portable-net40+sl4+win8+wp8/System.ValueTuple.xml",
122 | "lib/xamarinios10/_._",
123 | "lib/xamarinmac20/_._",
124 | "lib/xamarintvos10/_._",
125 | "lib/xamarinwatchos10/_._",
126 | "ref/MonoAndroid10/_._",
127 | "ref/MonoTouch10/_._",
128 | "ref/net461/System.ValueTuple.dll",
129 | "ref/net461/System.ValueTuple.xml",
130 | "ref/net47/System.ValueTuple.dll",
131 | "ref/net47/System.ValueTuple.xml",
132 | "ref/netcoreapp2.0/_._",
133 | "ref/netstandard2.0/_._",
134 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.dll",
135 | "ref/portable-net40+sl4+win8+wp8/System.ValueTuple.xml",
136 | "ref/xamarinios10/_._",
137 | "ref/xamarinmac20/_._",
138 | "ref/xamarintvos10/_._",
139 | "ref/xamarinwatchos10/_._",
140 | "system.valuetuple.4.4.0.nupkg.sha512",
141 | "system.valuetuple.nuspec",
142 | "useSharedDesignerContext.txt",
143 | "version.txt"
144 | ]
145 | }
146 | },
147 | "projectFileDependencyGroups": {
148 | ".NETFramework,Version=v4.5": [
149 | "FSharp.Core >= 4.2.*",
150 | "System.ValueTuple >= 4.*"
151 | ]
152 | },
153 | "packageFolders": {
154 | "/Users/leo/.nuget/packages/": {},
155 | "/usr/local/share/dotnet/sdk/NuGetFallbackFolder": {}
156 | },
157 | "project": {
158 | "version": "1.0.0",
159 | "restore": {
160 | "projectUniqueName": "/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/FsharpGame.fsproj",
161 | "projectName": "FsharpGame",
162 | "projectPath": "/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/FsharpGame.fsproj",
163 | "packagesPath": "/Users/leo/.nuget/packages/",
164 | "outputPath": "/Users/leo/Projects/godot-fsharp-boilerplate/FSharpGame/obj/",
165 | "projectStyle": "PackageReference",
166 | "fallbackFolders": [
167 | "/usr/local/share/dotnet/sdk/NuGetFallbackFolder"
168 | ],
169 | "configFilePaths": [
170 | "/Users/leo/.config/NuGet/NuGet.Config"
171 | ],
172 | "originalTargetFrameworks": [
173 | "net45"
174 | ],
175 | "sources": {
176 | "https://api.nuget.org/v3/index.json": {}
177 | },
178 | "frameworks": {
179 | "net45": {
180 | "projectReferences": {}
181 | }
182 | }
183 | },
184 | "frameworks": {
185 | "net45": {
186 | "dependencies": {
187 | "System.ValueTuple": {
188 | "target": "Package",
189 | "version": "4.*"
190 | },
191 | "FSharp.Core": {
192 | "target": "Package",
193 | "version": "4.2.*"
194 | }
195 | }
196 | }
197 | },
198 | "runtimes": {
199 | "win": {
200 | "#import": []
201 | },
202 | "win-x64": {
203 | "#import": []
204 | },
205 | "win-x86": {
206 | "#import": []
207 | }
208 | }
209 | }
210 | }
--------------------------------------------------------------------------------
/Game/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/Game/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex
--------------------------------------------------------------------------------
/Game/Game.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}
7 | Library
8 | .mono/temp/bin/$(Configuration)
9 | Game
10 | Game
11 | v4.5
12 | .mono/temp/obj
13 | $(BaseIntermediateOutputPath)/$(Configuration)
14 |
15 |
16 | true
17 | full
18 | false
19 | DEBUG;
20 | prompt
21 | 4
22 | false
23 |
24 |
25 | full
26 | true
27 | prompt
28 | 4
29 | false
30 |
31 |
32 | true
33 | full
34 | false
35 | DEBUG;TOOLS;
36 | prompt
37 | 4
38 | false
39 |
40 |
41 |
42 |
43 |
44 |
45 | $(ProjectDir)/.mono/assemblies/GodotSharp.dll
46 | False
47 |
48 |
49 | $(ProjectDir)/.mono/assemblies/GodotSharpEditor.dll
50 | False
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Game/Game.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 12.00
2 | # Visual Studio 2012
3 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Game", "Game.csproj", "{ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}"
4 | EndProject
5 | Global
6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
7 | Debug|Any CPU = Debug|Any CPU
8 | Release|Any CPU = Release|Any CPU
9 | Tools|Any CPU = Tools|Any CPU
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
13 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
14 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
15 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Release|Any CPU.Build.0 = Release|Any CPU
16 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Tools|Any CPU.ActiveCfg = Tools|Any CPU
17 | {ED7B0847-FE3F-4494-B6B0-2B108F4EB1A2}.Tools|Any CPU.Build.0 = Tools|Any CPU
18 | EndGlobalSection
19 | EndGlobal
20 |
--------------------------------------------------------------------------------
/Game/Icon.cs:
--------------------------------------------------------------------------------
1 | using Godot;
2 | using System;
3 |
4 | public class Icon : FSharpGame.IconFp.Class
5 | {
6 | }
7 |
--------------------------------------------------------------------------------
/Game/MainScene.tscn:
--------------------------------------------------------------------------------
1 | [gd_scene load_steps=3 format=2]
2 |
3 | [ext_resource path="res://icon.png" type="Texture" id=1]
4 | [ext_resource path="res://Icon.cs" type="Script" id=2]
5 |
6 | [node name="icon" type="Sprite" index="0"]
7 |
8 | position = Vector2( 439, 201 )
9 | texture = ExtResource( 1 )
10 | script = ExtResource( 2 )
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Game/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 |
3 | // Information about this assembly is defined by the following attributes.
4 | // Change them to the values specific to your project.
5 |
6 | [assembly: AssemblyTitle("Game")]
7 | [assembly: AssemblyDescription("")]
8 | [assembly: AssemblyConfiguration("")]
9 | [assembly: AssemblyCompany("")]
10 | [assembly: AssemblyProduct("")]
11 | [assembly: AssemblyCopyright("")]
12 | [assembly: AssemblyTrademark("")]
13 | [assembly: AssemblyCulture("")]
14 |
15 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
16 | // The form "{Major}.{Minor}.*" will automatically update the build and revision,
17 | // and "{Major}.{Minor}.{Build}.*" will update just the revision.
18 |
19 | [assembly: AssemblyVersion("1.0.*")]
20 |
21 | // The following attributes are used to specify the signing key for the assembly,
22 | // if desired. See the Mono documentation for more information about signing.
23 |
24 | //[assembly: AssemblyDelaySign(false)]
25 | //[assembly: AssemblyKeyFile("")]
26 |
--------------------------------------------------------------------------------
/Game/default_env.tres:
--------------------------------------------------------------------------------
1 | [gd_resource type="Environment" load_steps=2 format=2]
2 |
3 | [sub_resource type="ProceduralSky" id=1]
4 |
5 | radiance_size = 4
6 | sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
7 | sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
8 | sky_curve = 0.25
9 | sky_energy = 1.0
10 | ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
11 | ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
12 | ground_curve = 0.01
13 | ground_energy = 1.0
14 | sun_color = Color( 1, 1, 1, 1 )
15 | sun_latitude = 35.0
16 | sun_longitude = 0.0
17 | sun_angle_min = 1.0
18 | sun_angle_max = 100.0
19 | sun_curve = 0.05
20 | sun_energy = 16.0
21 | texture_size = 2
22 |
23 | [resource]
24 |
25 | background_mode = 2
26 | background_sky = SubResource( 1 )
27 | background_sky_custom_fov = 0.0
28 | background_color = Color( 0, 0, 0, 1 )
29 | background_energy = 1.0
30 | background_canvas_max_layer = 0
31 | ambient_light_color = Color( 0, 0, 0, 1 )
32 | ambient_light_energy = 1.0
33 | ambient_light_sky_contribution = 1.0
34 | fog_enabled = false
35 | fog_color = Color( 0.5, 0.6, 0.7, 1 )
36 | fog_sun_color = Color( 1, 0.9, 0.7, 1 )
37 | fog_sun_amount = 0.0
38 | fog_depth_enabled = true
39 | fog_depth_begin = 10.0
40 | fog_depth_curve = 1.0
41 | fog_transmit_enabled = false
42 | fog_transmit_curve = 1.0
43 | fog_height_enabled = false
44 | fog_height_min = 0.0
45 | fog_height_max = 100.0
46 | fog_height_curve = 1.0
47 | tonemap_mode = 0
48 | tonemap_exposure = 1.0
49 | tonemap_white = 1.0
50 | auto_exposure_enabled = false
51 | auto_exposure_scale = 0.4
52 | auto_exposure_min_luma = 0.05
53 | auto_exposure_max_luma = 8.0
54 | auto_exposure_speed = 0.5
55 | ss_reflections_enabled = false
56 | ss_reflections_max_steps = 64
57 | ss_reflections_fade_in = 0.15
58 | ss_reflections_fade_out = 2.0
59 | ss_reflections_depth_tolerance = 0.2
60 | ss_reflections_roughness = true
61 | ssao_enabled = false
62 | ssao_radius = 1.0
63 | ssao_intensity = 1.0
64 | ssao_radius2 = 0.0
65 | ssao_intensity2 = 1.0
66 | ssao_bias = 0.01
67 | ssao_light_affect = 0.0
68 | ssao_color = Color( 0, 0, 0, 1 )
69 | ssao_quality = 0
70 | ssao_blur = 3
71 | ssao_edge_sharpness = 4.0
72 | dof_blur_far_enabled = false
73 | dof_blur_far_distance = 10.0
74 | dof_blur_far_transition = 5.0
75 | dof_blur_far_amount = 0.1
76 | dof_blur_far_quality = 1
77 | dof_blur_near_enabled = false
78 | dof_blur_near_distance = 2.0
79 | dof_blur_near_transition = 1.0
80 | dof_blur_near_amount = 0.1
81 | dof_blur_near_quality = 1
82 | glow_enabled = false
83 | glow_levels/1 = false
84 | glow_levels/2 = false
85 | glow_levels/3 = true
86 | glow_levels/4 = false
87 | glow_levels/5 = true
88 | glow_levels/6 = false
89 | glow_levels/7 = false
90 | glow_intensity = 0.8
91 | glow_strength = 1.0
92 | glow_bloom = 0.0
93 | glow_blend_mode = 2
94 | glow_hdr_threshold = 1.0
95 | glow_hdr_scale = 2.0
96 | glow_bicubic_upscale = false
97 | adjustment_enabled = false
98 | adjustment_brightness = 1.0
99 | adjustment_contrast = 1.0
100 | adjustment_saturation = 1.0
101 |
102 |
--------------------------------------------------------------------------------
/Game/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leolimasa/godot-fsharp-boilerplate/0935a9185af6a162f7aeb9089ee00d9c9ab8293f/Game/icon.png
--------------------------------------------------------------------------------
/Game/icon.png.import:
--------------------------------------------------------------------------------
1 | [remap]
2 |
3 | importer="texture"
4 | type="StreamTexture"
5 | path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
6 |
7 | [deps]
8 |
9 | source_file="res://icon.png"
10 | source_md5="bce529128d4c6f2c656429244db7ce4e"
11 |
12 | dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
13 | dest_md5="4363fbc16b1ee0a53904fa4c09ce5421"
14 |
15 | [params]
16 |
17 | compress/mode=0
18 | compress/lossy_quality=0.7
19 | compress/hdr_mode=0
20 | compress/normal_map=0
21 | flags/repeat=0
22 | flags/filter=true
23 | flags/mipmaps=false
24 | flags/anisotropic=false
25 | flags/srgb=2
26 | process/fix_alpha_border=true
27 | process/premult_alpha=false
28 | process/HDR_as_SRGB=false
29 | stream=false
30 | size_limit=0
31 | detect_3d=true
32 | svg/scale=1.0
33 |
--------------------------------------------------------------------------------
/Game/project.godot:
--------------------------------------------------------------------------------
1 | ; Engine configuration file.
2 | ; It's best edited using the editor UI and not directly,
3 | ; since the parameters that go here are not all obvious.
4 | ;
5 | ; Format:
6 | ; [section] ; section goes between []
7 | ; param=value ; assign values to parameters
8 |
9 | config_version=3
10 |
11 | [application]
12 |
13 | config/name="Game"
14 | run/main_scene="res://MainScene.tscn"
15 | config/icon="res://icon.png"
16 |
17 | [input]
18 |
19 | key_left=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null)
20 | , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
21 | ]
22 | key_right=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null)
23 | , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
24 | ]
25 |
26 | [rendering]
27 |
28 | environment/default_environment="res://default_env.tres"
29 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # godot-fsharp-boilerplate
2 | Boilerplate for using F# to develop games using GODOT
3 |
--------------------------------------------------------------------------------