Esempio n. 1
0
 public void Load(WorldCoord coord, bool renderEntities)
 {
     terrain.Load(coord);
     if (renderEntities)
     {
         entities.Load(coord);
     }
 }
Esempio n. 2
0
        private void ChooseRoom(string roomName)
        {
            var coord = WorldCoord.Get(roomInput.text, shardInput.text);

            if (coord == null)
            {
                Debug.Log("invalid room");
                return;
            }
            if (OnChooseRoom != null)
            {
                OnChooseRoom.Invoke(coord);
            }
        }
Esempio n. 3
0
        public void Load(WorldCoord coord)
        {
            this.coord = coord;

            if (api.Address.hostName.ToLowerInvariant() == "screeps.com")
            {
                path = string.Format("room:{0}/{1}", coord.shardName, coord.roomName);
            }
            else
            {
                path = string.Format("room:{0}", coord.roomName);
            }

            api.Socket.Subscribe(path, OnRoomData);
        }
Esempio n. 4
0
        public void Find(WorldCoord coord, Action <string> callback)
        {
            if (terrain.ContainsKey(coord.key))
            {
                callback(terrain[coord.key]);
                return;
            }

            Action <JSONObject> serverCallback = obj => {
                var terrainData = obj["terrain"].list[0]["terrain"].str;
                this.terrain[coord.key] = terrainData;
                callback(terrainData);
            };

            api.Http.GetRoom(coord.roomName, coord.shardName, serverCallback);
        }
Esempio n. 5
0
        private void ViewRoom(WorldCoord coord, bool loadEntities)
        {
            if (visibleRooms.ContainsKey(coord.key))
            {
                return;
            }

            var view = Instantiate(roomPrototype.gameObject).GetComponent <RoomView>();

            view.gameObject.SetActive(true);
            view.transform.SetParent(transform);
            view.gameObject.name         = coord.key;
            visibleRooms[coord.key]      = view;
            view.transform.localPosition = coord.vector;
            view.Load(coord, loadEntities);
        }
Esempio n. 6
0
 private void OnChoose(WorldCoord coord)
 {
     ViewRoom(coord, true);
     TransportPlayer(coord.vector);
     for (var xDelta = -viewDistance; xDelta <= viewDistance; xDelta++)
     {
         for (var yDelta = -viewDistance; yDelta <= viewDistance; yDelta++)
         {
             if (xDelta == 0 && yDelta == 0)
             {
                 continue;
             }
             var relativeCoord = coord.Relative(xDelta, yDelta);
             ViewRoom(relativeCoord, false);
         }
     }
 }
Esempio n. 7
0
 public void Load(WorldCoord coord)
 {
     finder.Find(coord, RenderRoom);
 }