Projekt

Obecné

Profil

« Předchozí | Další » 

Revize c6ecc85a

Přidáno uživatelem Jakub Hejman před téměř 4 roky(ů)

Re #9003 - Client configuration

Zobrazit rozdíly:

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