fix some references
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
parent
9176c395f4
commit
03afbe4442
|
@ -4,7 +4,7 @@ title: "Bonk"
|
||||||
|
|
||||||
# Bonk
|
# Bonk
|
||||||
|
|
||||||
[Bonk](https://github.com/MoonsideGames/MoonTools.Core.Bonk) is a fast and modular collision detection system for MonoGame that is part of the MoonTools suite.
|
[Bonk](https://gitea.moonside.games/MoonsideGames/MoonTools.Bonk) is a fast and modular collision detection system for MonoGame that is part of the MoonTools suite.
|
||||||
|
|
||||||
Bonk **is** designed to help you figure out if two shapes are overlapping and by how much.
|
Bonk **is** designed to help you figure out if two shapes are overlapping and by how much.
|
||||||
|
|
||||||
|
@ -12,6 +12,6 @@ Bonk **is not** a physics simulator and it will not help you execute collision r
|
||||||
|
|
||||||
Bonk is designed for performance and memory efficiency. Defining shapes and performing collision tests require no heap allocations and thus put no pressure on the garbage collector. If you reuse spatial hashes, Bonk will never cause garbage collection.
|
Bonk is designed for performance and memory efficiency. Defining shapes and performing collision tests require no heap allocations and thus put no pressure on the garbage collector. If you reuse spatial hashes, Bonk will never cause garbage collection.
|
||||||
|
|
||||||
Bonk is available as a [NuGet package](https://www.nuget.org/packages/MoonTools.Core.Bonk/) and can also be included in your project [from source](https://github.com/MoonsideGames/MoonTools.Core.Bonk).
|
Bonk is available as a [NuGet package](https://www.nuget.org/packages/MoonTools.Bonk/) and can also be included in your project [from source](https://gitea.moonside.games/MoonsideGames/MoonTools.Bonk).
|
||||||
|
|
||||||
Bonk is licensed under the [LGPL-3](https://www.gnu.org/licenses/lgpl-3.0.en.html) license. In summary: feel free to include it in your closed-source game and modify it internally at will, but if you make changes that you intend to redistribute, you **must** freely publish your changes.
|
Bonk is licensed under the [LGPL-3](https://www.gnu.org/licenses/lgpl-3.0.en.html) license. In summary: feel free to include it in your closed-source game and modify it internally at will, but if you make changes that you intend to redistribute, you **must** freely publish your changes.
|
||||||
|
|
|
@ -33,7 +33,7 @@ Given an ID, a shape, and corresponding transform, inserts into the spatial hash
|
||||||
```cs
|
```cs
|
||||||
var hash = new SpatialHash<int>(16);
|
var hash = new SpatialHash<int>(16);
|
||||||
|
|
||||||
var circle = new MoonTools.Core.Bonk.Circle(8);
|
var circle = new MoonTools.Bonk.Circle(8);
|
||||||
var circleTransform = new Transform2D(new Vector2(16, 16));
|
var circleTransform = new Transform2D(new Vector2(16, 16));
|
||||||
|
|
||||||
var rect = new Rectangle(-2, -2, 2, 2);
|
var rect = new Rectangle(-2, -2, 2, 2);
|
||||||
|
@ -54,7 +54,7 @@ Given an ID, a shape, and corresponding transform, retrieves a set of potential
|
||||||
```cs
|
```cs
|
||||||
var hash = new SpatialHash<int>(16);
|
var hash = new SpatialHash<int>(16);
|
||||||
|
|
||||||
var circle = new MoonTools.Core.Bonk.Circle(8);
|
var circle = new MoonTools.Bonk.Circle(8);
|
||||||
var circleTransform = new Transform2D(new Vector2(16, 16));
|
var circleTransform = new Transform2D(new Vector2(16, 16));
|
||||||
|
|
||||||
var rect = new Rectangle(-2, -2, 2, 2);
|
var rect = new Rectangle(-2, -2, 2, 2);
|
||||||
|
|
|
@ -21,7 +21,7 @@ To insert an object into the hash, use the **Insert** method and give an ID, an
|
||||||
```cs
|
```cs
|
||||||
var hash = new SpatialHash<int>(16);
|
var hash = new SpatialHash<int>(16);
|
||||||
|
|
||||||
var circle = new MoonTools.Core.Bonk.Circle(8);
|
var circle = new MoonTools.Bonk.Circle(8);
|
||||||
var circleTransform = new Transform2D(new Vector2(16, 16));
|
var circleTransform = new Transform2D(new Vector2(16, 16));
|
||||||
|
|
||||||
var rect = new Rectangle(-2, -2, 2, 2);
|
var rect = new Rectangle(-2, -2, 2, 2);
|
||||||
|
|
|
@ -8,19 +8,19 @@ The simplest way of using Bonk is by including it in your C# project as a NuGet
|
||||||
To include the latest version of Bonk in your project using the .NET CLI, use the following command:
|
To include the latest version of Bonk in your project using the .NET CLI, use the following command:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
dotnet add package MoonTools.Core.Bonk
|
dotnet add package MoonTools.Bonk
|
||||||
```
|
```
|
||||||
|
|
||||||
If you are using the NuGet Package Manager, you may do:
|
If you are using the NuGet Package Manager, you may do:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
PM> Install-Package MoonTools.Core.Bonk
|
PM> Install-Package MoonTools.Bonk
|
||||||
```
|
```
|
||||||
|
|
||||||
Once you have done this, you may access Bonk functionality by including
|
Once you have done this, you may access Bonk functionality by including
|
||||||
|
|
||||||
```cs
|
```cs
|
||||||
using MoonTools.Core.Bonk;
|
using MoonTools.Bonk;
|
||||||
```
|
```
|
||||||
|
|
||||||
in any C# file.
|
in any C# file.
|
||||||
|
|
|
@ -4,11 +4,10 @@ date: 2019-09-14T23:08:31-07:00
|
||||||
weight: 5
|
weight: 5
|
||||||
---
|
---
|
||||||
|
|
||||||
Bonk uses the *Transform2D* struct which is taken from the MoonTools.Core.Structs package. By extension it also uses the *Position2D* struct taken from the same package.
|
Bonk uses the *Transform2D* struct which is taken from the MoonTools.Structs package. By extension it also uses the *Position2D* struct taken from the same package.
|
||||||
|
|
||||||
A *Transform2D* is basically a way to store information about an object's location, rotation, and scale in 2-dimensional space. Transforms use matrix math to perform all of these operations at once, making them very fast.
|
A *Transform2D* is basically a way to store information about an object's location, rotation, and scale in 2-dimensional space. Transforms use matrix math to perform all of these operations at once, making them very fast.
|
||||||
|
|
||||||
For memory performance purposes, shapes are implemented as structs, meaning they are value types. This means that it is much easier to deal with collision using a transform applied to a shape, rather than containing a transform within the shape.
|
For memory performance purposes, shapes are implemented as structs, meaning they are value types. This means that it is much easier to deal with collision using a transform applied to a shape, rather than containing a transform within the shape.
|
||||||
|
|
||||||
It is also often the case that you will have a shape attached to a game object that is offset from the object by a certain amount. A *Transform2D* can represent this information as well, since *Tranform2Ds* can be composed together. As you can see, a *Transform2D* provides a generic structure for dealing with many scenarios involving 2D space.
|
It is also often the case that you will have a shape attached to a game object that is offset from the object by a certain amount. A *Transform2D* can represent this information as well, since *Tranform2Ds* can be composed together. As you can see, a *Transform2D* provides a generic structure for dealing with many scenarios involving 2D space.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue