public void Load(WorldCoord coord, bool renderEntities) { terrain.Load(coord); if (renderEntities) { entities.Load(coord); } }
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); } }
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); }
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); }
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); }
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); } } }
public void Load(WorldCoord coord) { finder.Find(coord, RenderRoom); }