Beispiel #1
0
        public override async Task <ResponseData> MakeResponseData()
        {
            var          pathWithoutParams = context.AbsolutePath;
            ResponseData responseData      = new ResponseData();

            string filePath = pathWithoutParams.Remove(0, 1);

            if (string.IsNullOrEmpty(filePath))
            {
                filePath = "index.html";
            }

            FileReadResult fileReadResult = await _resourceFileStorage.ReadFileFromResource(filePath);

            if (!fileReadResult.IsError)
            {
                responseData.data = fileReadResult.data;
            }
            else
            {
                Debug.LogError($"Error load file - {filePath}");
                responseData.data = ResponseTools.ConvertStringToResponseData($"Error load file {filePath}");
            }

            return(responseData);
        }
Beispiel #2
0
        public override async Task <ResponseData> MakeResponseData()
        {
            var idString = context.HttpListenerContext.Request.QueryString.Get("id");

            if (string.IsNullOrEmpty(idString))
            {
                throw new Exception("Dont find tag \"id\" in query string");
            }

            var idInt = int.Parse(idString);

            byte[] finalArray = new byte[0];

            if (_sceneHierarchyData == null)
            {
                _sceneHierarchyData = HierarchyTools.GetHierarchyActiveScene();
            }

            if (_sceneHierarchyData.gameobjectsDictonary.TryGetValue(idInt, out GameObject go))
            {
                await TaskSwitcher.SwitchToMainThread();

                Vector3 position = go.transform.position;
                Vector3 rotation = go.transform.rotation.eulerAngles;
                Vector3 scale    = go.transform.localScale;


                GameObjectInfo objectInfo = new GameObjectInfo()
                {
                    activeSelf = go.activeSelf,
                    name       = go.name,
                    position   = position,
                    rotation   = rotation,
                    scale      = scale,
                };

                var json = JsonConvert.SerializeObject(objectInfo, Formatting.Indented, new JsonSerializerSettings()
                {
                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                });
                finalArray = ResponseTools.ConvertStringToResponseData(json);

                if (LogToConsoleConfig.IsLogToConsole)
                {
                    Debug.Log(json);
                }
            }
            else
            {
                throw new Exception("Dont find id object " + idInt);
            }

            return(new ResponseData()
            {
                data = finalArray,
            });
        }
Beispiel #3
0
        public override async Task <ResponseData> MakeResponseData()
        {
            if (_sceneHierarchyData == null)
            {
                _sceneHierarchyData = HierarchyTools.GetHierarchyActiveScene();
            }

            var json = JsonConvert.SerializeObject(_sceneHierarchyData, Formatting.Indented);

            return(new ResponseData()
            {
                data = ResponseTools.ConvertStringToResponseData(json)
            });
        }
Beispiel #4
0
        private async Task <ResponseData> OnResponseHandler(HttpServerContext context)
        {
            ResponseData responseData = null;

            try
            {
                responseData = await CreateResponse(context);
            }
            catch (Exception e)
            {
                responseData = new ResponseData
                {
                    data = ResponseTools.ConvertStringToResponseData(e.Message)
                };
                Debug.LogWarning(e.Message);
            }

            return(responseData);
        }