private void Update() { //if (GameStatus.Paused) return; if (CaravanServer != null && World != null) { try { if (!WaitingServerResponse && (lastPingDateTimeUtc.AddSeconds(1) < DateTime.UtcNow || CommandsToSend.Any())) { WaitingServerResponse = true; var request = new ProcessWorldRequestClientSideEntity { WorldGuid = World?.Guid, Player = Player, ClientCommands = CommandsToSend.ToArray() }; StartCoroutine(CaravanServer.ProcessWorld(request, ProcessServerResponse)); lastPingDateTimeUtc = DateTime.UtcNow; } ProcessMovePlayer(); } catch (Exception e) { CaravanServer = null; Debug.LogError($"Error while WorldController.Update(): {e}"); } } }
//private void UpdateVisibleCities() //{ // foreach (var city in Cities.Where(c => !c.Visible)) // if (Mathf.Abs(city.X - PlayerController.transform.position.x) < 1 + city.Size / 2 && Mathf.Abs(city.Y - PlayerController.transform.position.y) < 1 + city.Size / 2) // { // city.SetVisible(); // WriteLog($"You find city {city.Name}"); // } //} //private void InitializePlayer() //{ // Player = new Player(); // var firstCity = Cities[0]; // PlayerController = Instantiate(PlayerControllerBase, new Vector3(firstCity.X, firstCity.Y, 0), Quaternion.identity); // PlayerController.CityEntered = firstCity; // WriteSystemLog($"Created Player in {firstCity.Name} with X={firstCity.X} and Y={firstCity.Y}"); // PlayerController.InitializePlayer(); // //Player.Bramins = new List<Bramin> {new Bramin(), new Bramin(), new Bramin()}; //} public void WorldClick() { var moveTo = Camera.main.ScreenToWorldPoint(Input.mousePosition); CommandsToSend.Add(new MovePlayerClientCommandClientSideEntity { ToX = moveTo.x, ToY = moveTo.y }); }
private void SendCommand(Command command) { CommandsToSend.Add(command); }