Skip to content
This repository was archived by the owner on Jan 18, 2022. It is now read-only.

Commit dbf6c0d

Browse files
author
Jamie Brynes
authored
Add PositionFromGameObject authoring component (#1471)
1 parent 7678247 commit dbf6c0d

File tree

9 files changed

+87
-1
lines changed

9 files changed

+87
-1
lines changed

workers/unity/Assets/Tests/EditmodeTests/Correctness/SceneAuthoring.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using Improbable.Gdk.Core;
2+
using Improbable.Gdk.Core.SceneAuthoring.AuthoringComponents;
3+
using NUnit.Framework;
4+
using UnityEngine;
5+
6+
namespace Improbable.Gdk.EditmodeTests.SceneAuthoring
7+
{
8+
[TestFixture]
9+
public class PositionFromGameObjectTests
10+
{
11+
[Test]
12+
public void WriteTo_uses_the_GameObject_position()
13+
{
14+
var gameObject = new GameObject();
15+
gameObject.transform.position = new Vector3(100, 100, 100);
16+
var positionFromGameObject = gameObject.AddComponent<PositionFromGameObjectAuthoringComponent>();
17+
18+
var entityTemplate = new EntityTemplate();
19+
positionFromGameObject.WriteTo(entityTemplate);
20+
21+
Assert.IsTrue(entityTemplate.HasComponent<Position.Snapshot>());
22+
23+
var position = entityTemplate.GetComponent<Position.Snapshot>().Value;
24+
Assert.AreEqual(gameObject.transform.position, position.Coords.ToUnityVector());
25+
}
26+
}
27+
}

workers/unity/Assets/Tests/EditmodeTests/Correctness/SceneAuthoring/PositionFromGameObjectTests.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

workers/unity/Assets/Tests/EditmodeTests/Improbable.Gdk.EditmodeTests.asmdef

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "Improbable.Gdk.EditmodeTests",
33
"references": [
44
"Improbable.Gdk.Core",
5+
"Improbable.Gdk.Core.SceneAuthoring.AuthoringComponents",
56
"Improbable.Gdk.Debug",
67
"Improbable.Gdk.GameObjectCreation",
78
"Improbable.Gdk.Generated",
@@ -31,4 +32,4 @@
3132
],
3233
"versionDefines": [],
3334
"noEngineReferences": false
34-
}
35+
}

workers/unity/Packages/io.improbable.gdk.core/SceneAuthoring/AuthoringComponents.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"name": "Improbable.Gdk.Core.SceneAuthoring.AuthoringComponents",
3+
"references": [
4+
"Improbable.Gdk.Core",
5+
"Improbable.Gdk.Generated"
6+
],
7+
"includePlatforms": [],
8+
"excludePlatforms": [],
9+
"allowUnsafeCode": false,
10+
"overrideReferences": false,
11+
"precompiledReferences": [],
12+
"autoReferenced": true,
13+
"defineConstraints": [],
14+
"versionDefines": [],
15+
"noEngineReferences": false
16+
}

workers/unity/Packages/io.improbable.gdk.core/SceneAuthoring/AuthoringComponents/Improbable.Gdk.Core.SceneAuthoring.AuthoringComponents.asmdef.meta

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using UnityEngine;
2+
3+
namespace Improbable.Gdk.Core.SceneAuthoring.AuthoringComponents
4+
{
5+
[AddComponentMenu("SpatialOS/Authoring Components/Position From GameObject Authoring Component")]
6+
public class PositionFromGameObjectAuthoringComponent : MonoBehaviour, ISpatialOsAuthoringComponent
7+
{
8+
#pragma warning disable 649
9+
[SerializeField] private string writeAccess;
10+
#pragma warning restore 649
11+
12+
public void WriteTo(EntityTemplate template)
13+
{
14+
var coords = Coordinates.FromUnityVector(transform.position);
15+
template.AddComponent(new Position.Snapshot(coords), writeAccess);
16+
}
17+
}
18+
}

workers/unity/Packages/io.improbable.gdk.core/SceneAuthoring/AuthoringComponents/PositionFromGameObjectAuthoringComponent.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)