Example #1
0
        private void LoadMap(RxMap map)
        {
            if (map == null)
            {
                return;
            }

            var caseX = Width / map.Data.Width;
            var caseY = Height / map.Data.Height;

            var caseOffsetX = caseX / 2;
            var caseOffsetY = caseX / 2;

            var mapOffsetX = -Width / 2;
            var mapOffsetY = -Height / 2;

            // Remove old cases
            if (_cases.Count > 0)
            {
                for (int i = _cases.Count - 1; i >= 0; i--)
                {
                    var child = _cases[i];
                    NetworkServer.Destroy(child);
                    _cases.RemoveAt(i);
                }
            }

            // Create new cases
            for (int i = 0; i < CurrentMap.Cases.Count; i++)
            {
                var currentCase = CurrentMap.Cases[i];
                var casePosX    = mapOffsetX + (currentCase.X * caseX) + caseOffsetX;
                var casePosY    = mapOffsetY + (currentCase.Y * caseY) + caseOffsetY;

                var prefab = GetCasePrefabByType(currentCase.Type);
                if (prefab == null)
                {
                    continue;
                }

                prefab.transform.localPosition = new Vector3(casePosX, 0, casePosY);
                prefab.transform.localScale    = new Vector3(caseX, (caseX + caseY) / 2, caseY);

                SpawnCorrector corrector = prefab.GetComponent <SpawnCorrector>();
                corrector.Scale = prefab.transform.localScale;

                _cases.Add(prefab);
                NetworkServer.Spawn(prefab);
            }
        }
Example #2
0
        public void GetMap()
        {
            var map = new Map
            {
                Width  = 5,
                Height = 5,
                Cases  = new List <Case>
                {
                    // 0
                    new Case
                    {
                        X = 0,
                        Y = 0
                    },
                    new Case
                    {
                        X = 1,
                        Y = 0
                    },
                    new Case
                    {
                        X = 2,
                        Y = 0
                    },
                    new Case
                    {
                        X = 3,
                        Y = 0
                    },
                    new Case
                    {
                        X = 4,
                        Y = 0
                    },
                    // 1
                    new Case
                    {
                        X = 0,
                        Y = 1
                    },
                    new Case
                    {
                        X = 1,
                        Y = 1
                    },
                    new Case
                    {
                        X = 2,
                        Y = 1
                    },
                    new Case
                    {
                        X = 3,
                        Y = 1
                    },
                    new Case
                    {
                        X = 4,
                        Y = 1
                    },
                    //2
                    new Case
                    {
                        X = 0,
                        Y = 2
                    },
                    new Case
                    {
                        X = 1,
                        Y = 2
                    },
                    new Case
                    {
                        X = 2,
                        Y = 2
                    },
                    new Case
                    {
                        X = 3,
                        Y = 2
                    },
                    new Case
                    {
                        X = 4,
                        Y = 2
                    },
                    // 3
                    new Case
                    {
                        X = 0,
                        Y = 3
                    },
                    new Case
                    {
                        X = 1,
                        Y = 3
                    },
                    new Case
                    {
                        X = 2,
                        Y = 3
                    },
                    new Case
                    {
                        X = 3,
                        Y = 3
                    },
                    new Case
                    {
                        X = 4,
                        Y = 3
                    },
                    // 4
                    new Case
                    {
                        X = 0,
                        Y = 4
                    },
                    new Case
                    {
                        X = 1,
                        Y = 4
                    },
                    new Case
                    {
                        X = 2,
                        Y = 4
                    },
                    new Case
                    {
                        X = 3,
                        Y = 4
                    },
                    new Case
                    {
                        X = 4,
                        Y = 4
                    },
                }
            };

            //var json = JsonConvert.SerializeObject(map);

            if (map != null)
            {
                CurrentMap = new RxMap(map);
            }
        }