Revize c6ecc85a
Přidáno uživatelem Jakub Hejman před téměř 4 roky(ů)
deltarobot-vr/Assets/DeltaRobotVr/Client.cs | ||
---|---|---|
18 | 18 |
public static readonly Client Instance = new Client(); |
19 | 19 |
|
20 | 20 |
// default server |
21 |
private const string DefaultServer = "127.0.0.1";
|
|
21 |
private const string DefaultHost = "127.0.0.1";
|
|
22 | 22 |
private const int DefaultPort = 4242; |
23 | 23 |
|
24 | 24 |
// protocol constants |
... | ... | |
277 | 277 |
{ |
278 | 278 |
try |
279 | 279 |
{ |
280 |
using var client = new TcpClient(DefaultServer, DefaultPort); |
|
280 |
var host = ConfigurationProvider.Instance.Host; |
|
281 |
var port = ConfigurationProvider.Instance.Port; |
|
282 |
|
|
283 |
if (port < 0 || host.Length == 0) |
|
284 |
{ |
|
285 |
// Obviously invalid values |
|
286 |
host = DefaultHost; |
|
287 |
port = DefaultPort; |
|
288 |
} |
|
289 |
|
|
290 |
using var client = new TcpClient(host, port); |
|
281 | 291 |
using var stream = client.GetStream(); |
282 | 292 |
BinaryReader reader = new BinaryReader(stream); |
283 | 293 |
BinaryWriter writer = new BinaryWriter(stream); |
deltarobot-vr/Assets/DeltaRobotVr/Components/Actuator.cs | ||
---|---|---|
19 | 19 |
{ |
20 | 20 |
var actPosition = Client.Instance.ActuatorPosition; |
21 | 21 |
var newPosition = Single3Utils.ToVector3(actPosition.X, actPosition.Y, actPosition.Z); |
22 |
_transform.position = Vector3.Lerp(_transform.position, newPosition, LerpParam);
|
|
22 |
_transform.localPosition = Vector3.Lerp(_transform.localPosition, newPosition, LerpParam);
|
|
23 | 23 |
} |
24 | 24 |
} |
25 | 25 |
} |
deltarobot-vr/Assets/DeltaRobotVr/ConfigurationProvider.cs | ||
---|---|---|
1 |
using System.Xml.Serialization; |
|
2 |
using System; |
|
3 |
using System.IO; |
|
4 |
|
|
5 |
namespace DeltaRobotVr |
|
6 |
{ |
|
7 |
/// <summary> |
|
8 |
/// Singleton class responsible for providing configuration. |
|
9 |
/// </summary> |
|
10 |
[Serializable] |
|
11 |
public class ConfigurationProvider |
|
12 |
{ |
|
13 |
private static readonly string Default_Config_File = "config.xml"; |
|
14 |
public static readonly ConfigurationProvider Instance = new ConfigurationProvider(); |
|
15 |
|
|
16 |
public float VisualizationTranslateX = 0.0f; |
|
17 |
public float VisualizationTranslateY = 0.0f; |
|
18 |
public float VisualizationTranslateZ = 0.0f; |
|
19 |
|
|
20 |
public float VisualizationScaleX = 1.0f; |
|
21 |
public float VisualizationScaleY = 1.0f; |
|
22 |
public float VisualizationScaleZ = 1.0f; |
|
23 |
|
|
24 |
public int Port = 4242; |
|
25 |
|
|
26 |
public string Host = "127.0.0.1"; |
|
27 |
|
|
28 |
public string SceneName = "BasicRoomScene"; |
|
29 |
|
|
30 |
|
|
31 |
static ConfigurationProvider() |
|
32 |
{ |
|
33 |
Instance = loadConfiguration(Default_Config_File); |
|
34 |
} |
|
35 |
|
|
36 |
private ConfigurationProvider() |
|
37 |
{ |
|
38 |
} |
|
39 |
|
|
40 |
/// <summary> |
|
41 |
/// Load ConfigurationProvider instance from file. |
|
42 |
/// </summary> |
|
43 |
/// <param name="fileName">File to load configuration from</param> |
|
44 |
/// <returns></returns> |
|
45 |
private static ConfigurationProvider loadConfiguration(String fileName) |
|
46 |
{ |
|
47 |
XmlSerializer serializer = new XmlSerializer(typeof(ConfigurationProvider)); |
|
48 |
|
|
49 |
ConfigurationProvider cp; |
|
50 |
|
|
51 |
using (Stream reader = new FileStream(fileName, FileMode.Open)) |
|
52 |
{ |
|
53 |
cp = (ConfigurationProvider)serializer.Deserialize(reader); |
|
54 |
} |
|
55 |
|
|
56 |
return cp; |
|
57 |
} |
|
58 |
|
|
59 |
/// <summary> |
|
60 |
/// Save ConfigurationProvider instance to file. |
|
61 |
/// </summary> |
|
62 |
/// <param name="cp">ConfigurationProvider instance to save</param> |
|
63 |
/// <param name="fileName">File to save configuration to</param> |
|
64 |
private static void saveConfiguration(ConfigurationProvider cp, String fileName) |
|
65 |
{ |
|
66 |
XmlSerializer serializer = new XmlSerializer(typeof(ConfigurationProvider)); |
|
67 |
|
|
68 |
using (Stream writer = new FileStream(fileName, FileMode.Create)) |
|
69 |
{ |
|
70 |
serializer.Serialize(writer, cp); |
|
71 |
} |
|
72 |
} |
|
73 |
|
|
74 |
} |
|
75 |
} |
deltarobot-vr/Assets/DeltaRobotVr/ConfigurationProvider.cs.meta | ||
---|---|---|
1 |
fileFormatVersion: 2 |
|
2 |
guid: 99b81634dd1a93e4396ba2b51655392f |
|
3 |
MonoImporter: |
|
4 |
externalObjects: {} |
|
5 |
serializedVersion: 2 |
|
6 |
defaultReferences: [] |
|
7 |
executionOrder: 0 |
|
8 |
icon: {instanceID: 0} |
|
9 |
userData: |
|
10 |
assetBundleName: |
|
11 |
assetBundleVariant: |
deltarobot-vr/Assets/DeltaRobotVr/MainScript.cs | ||
---|---|---|
9 | 9 |
/// </summary> |
10 | 10 |
public class MainScript : MonoBehaviour |
11 | 11 |
{ |
12 |
private static readonly string DefaultScene = "BasicRoomScene"; |
|
12 | 13 |
private void Start() |
13 | 14 |
{ |
14 |
SceneManager.LoadScene("BasicRoomScene", LoadSceneMode.Additive); |
|
15 |
var sceneName = ConfigurationProvider.Instance.SceneName; |
|
16 |
SceneManager.LoadScene(sceneName, LoadSceneMode.Additive); |
|
15 | 17 |
Client.Instance.Start(); |
16 | 18 |
} |
17 | 19 |
|
deltarobot-vr/Assets/DeltaRobotVr/SetVisualizationTransform.cs | ||
---|---|---|
1 |
using System.Collections; |
|
2 |
using System.Collections.Generic; |
|
3 |
using UnityEngine; |
|
4 |
using DeltaRobotVr; |
|
5 |
|
|
6 |
/// <summary> |
|
7 |
/// Applies the transform from ConfigurationProvider.Instance |
|
8 |
/// to this GameObejct's transform. |
|
9 |
/// </summary> |
|
10 |
public class SetVisualizationTransform : MonoBehaviour |
|
11 |
{ |
|
12 |
void Start() |
|
13 |
{ |
|
14 |
var x = ConfigurationProvider.Instance.VisualizationTranslateX; |
|
15 |
var y = ConfigurationProvider.Instance.VisualizationTranslateY; |
|
16 |
var z = ConfigurationProvider.Instance.VisualizationTranslateZ; |
|
17 |
|
|
18 |
var sx = ConfigurationProvider.Instance.VisualizationScaleX; |
|
19 |
var sy = ConfigurationProvider.Instance.VisualizationScaleY; |
|
20 |
var sz = ConfigurationProvider.Instance.VisualizationScaleZ; |
|
21 |
|
|
22 |
transform.position = new Vector3(x, y, z); |
|
23 |
transform.localScale = new Vector3(sx, sy, sz); |
|
24 |
} |
|
25 |
} |
deltarobot-vr/Assets/DeltaRobotVr/SetVisualizationTransform.cs.meta | ||
---|---|---|
1 |
fileFormatVersion: 2 |
|
2 |
guid: 4102e3362fef6284db0f47a38afc06b3 |
|
3 |
MonoImporter: |
|
4 |
externalObjects: {} |
|
5 |
serializedVersion: 2 |
|
6 |
defaultReferences: [] |
|
7 |
executionOrder: 0 |
|
8 |
icon: {instanceID: 0} |
|
9 |
userData: |
|
10 |
assetBundleName: |
|
11 |
assetBundleVariant: |
deltarobot-vr/Assets/Scenes/MainScene.unity | ||
---|---|---|
38 | 38 |
m_ReflectionIntensity: 1 |
39 | 39 |
m_CustomReflection: {fileID: 0} |
40 | 40 |
m_Sun: {fileID: 705507994} |
41 |
m_IndirectSpecularColor: {r: 0.59937465, g: 0.5997504, b: 0.599488, a: 1}
|
|
41 |
m_IndirectSpecularColor: {r: 0.59937525, g: 0.5997512, b: 0.59948856, a: 1}
|
|
42 | 42 |
m_UseRadianceAmbientProbe: 0 |
43 | 43 |
--- !u!157 &3 |
44 | 44 |
LightmapSettings: |
... | ... | |
259 | 259 |
m_PrefabInstance: {fileID: 0} |
260 | 260 |
m_PrefabAsset: {fileID: 0} |
261 | 261 |
m_GameObject: {fileID: 67930113} |
262 |
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
262 |
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
263 | 263 |
m_LocalPosition: {x: 0, y: 0, z: -4.5} |
264 | 264 |
m_LocalScale: {x: 1, y: 1, z: 1} |
265 | 265 |
m_Children: [] |
266 |
m_Father: {fileID: 0}
|
|
267 |
m_RootOrder: 5
|
|
266 |
m_Father: {fileID: 696353308}
|
|
267 |
m_RootOrder: 1
|
|
268 | 268 |
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
269 | 269 |
--- !u!1 &86918157 |
270 | 270 |
GameObject: |
... | ... | |
703 | 703 |
m_Father: {fileID: 0} |
704 | 704 |
m_RootOrder: 3 |
705 | 705 |
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
706 |
--- !u!1 &696353306 |
|
707 |
GameObject: |
|
708 |
m_ObjectHideFlags: 0 |
|
709 |
m_CorrespondingSourceObject: {fileID: 0} |
|
710 |
m_PrefabInstance: {fileID: 0} |
|
711 |
m_PrefabAsset: {fileID: 0} |
|
712 |
serializedVersion: 6 |
|
713 |
m_Component: |
|
714 |
- component: {fileID: 696353308} |
|
715 |
- component: {fileID: 696353307} |
|
716 |
m_Layer: 0 |
|
717 |
m_Name: Visualization |
|
718 |
m_TagString: Untagged |
|
719 |
m_Icon: {fileID: 0} |
|
720 |
m_NavMeshLayer: 0 |
|
721 |
m_StaticEditorFlags: 0 |
|
722 |
m_IsActive: 1 |
|
723 |
--- !u!114 &696353307 |
|
724 |
MonoBehaviour: |
|
725 |
m_ObjectHideFlags: 0 |
|
726 |
m_CorrespondingSourceObject: {fileID: 0} |
|
727 |
m_PrefabInstance: {fileID: 0} |
|
728 |
m_PrefabAsset: {fileID: 0} |
|
729 |
m_GameObject: {fileID: 696353306} |
|
730 |
m_Enabled: 1 |
|
731 |
m_EditorHideFlags: 0 |
|
732 |
m_Script: {fileID: 11500000, guid: 4102e3362fef6284db0f47a38afc06b3, type: 3} |
|
733 |
m_Name: |
|
734 |
m_EditorClassIdentifier: |
|
735 |
--- !u!4 &696353308 |
|
736 |
Transform: |
|
737 |
m_ObjectHideFlags: 0 |
|
738 |
m_CorrespondingSourceObject: {fileID: 0} |
|
739 |
m_PrefabInstance: {fileID: 0} |
|
740 |
m_PrefabAsset: {fileID: 0} |
|
741 |
m_GameObject: {fileID: 696353306} |
|
742 |
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|
743 |
m_LocalPosition: {x: 0, y: 0, z: 0} |
|
744 |
m_LocalScale: {x: 1, y: 1, z: 1} |
|
745 |
m_Children: |
|
746 |
- {fileID: 2021860140} |
|
747 |
- {fileID: 67930116} |
|
748 |
m_Father: {fileID: 0} |
|
749 |
m_RootOrder: 6 |
|
750 |
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|
706 | 751 |
--- !u!1 &705507993 |
707 | 752 |
GameObject: |
708 | 753 |
m_ObjectHideFlags: 0 |
... | ... | |
981 | 1026 |
m_LocalScale: {x: 1, y: 1, z: 1} |
982 | 1027 |
m_Children: [] |
983 | 1028 |
m_Father: {fileID: 0} |
984 |
m_RootOrder: 6
|
|
1029 |
m_RootOrder: 4
|
|
985 | 1030 |
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
986 | 1031 |
--- !u!1 &1045848415 |
987 | 1032 |
GameObject: |
... | ... | |
1368 | 1413 |
m_Children: |
1369 | 1414 |
- {fileID: 1430580983} |
1370 | 1415 |
m_Father: {fileID: 0} |
1371 |
m_RootOrder: 7
|
|
1416 |
m_RootOrder: 5
|
|
1372 | 1417 |
m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0} |
1373 | 1418 |
m_AnchorMin: {x: 0, y: 0} |
1374 | 1419 |
m_AnchorMax: {x: 0, y: 0} |
... | ... | |
1575 | 1620 |
m_PrefabInstance: {fileID: 0} |
1576 | 1621 |
m_PrefabAsset: {fileID: 0} |
1577 | 1622 |
m_GameObject: {fileID: 2021860136} |
1578 |
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
1623 |
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
1579 | 1624 |
m_LocalPosition: {x: 0, y: 0, z: 0} |
1580 | 1625 |
m_LocalScale: {x: 1, y: 1, z: 1} |
1581 | 1626 |
m_Children: |
1582 | 1627 |
- {fileID: 1177787072} |
1583 | 1628 |
- {fileID: 1535691006} |
1584 | 1629 |
- {fileID: 86918158} |
1585 |
m_Father: {fileID: 0}
|
|
1586 |
m_RootOrder: 4
|
|
1630 |
m_Father: {fileID: 696353308}
|
|
1631 |
m_RootOrder: 0
|
|
1587 | 1632 |
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
1588 | 1633 |
--- !u!114 &2021860141 |
1589 | 1634 |
MonoBehaviour: |
deltarobot-vr/config.xml | ||
---|---|---|
1 |
<?xml version="1.0"?> |
|
2 |
<ConfigurationProvider xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
|
3 |
<VisualizationTranslateX>0</VisualizationTranslateX> |
|
4 |
<VisualizationTranslateY>0</VisualizationTranslateY> |
|
5 |
<VisualizationTranslateZ>0</VisualizationTranslateZ> |
|
6 |
<VisualizationScaleX>1</VisualizationScaleX> |
|
7 |
<VisualizationScaleY>1</VisualizationScaleY> |
|
8 |
<VisualizationScaleZ>1</VisualizationScaleZ> |
|
9 |
<Port>4242</Port> |
|
10 |
<Host>127.0.0.1</Host> |
|
11 |
<SceneName>BasicRoomScene</SceneName> |
|
12 |
</ConfigurationProvider> |
Také k dispozici: Unified diff
Re #9003 - Client configuration