private void SendMoveRequest() { var ev = new MoveRequestEvent() { Path = _path, PartyIndex = _party.PartyIndex }; ev.Sender = _player; _game.NetworkEvents.RunCallbacks(ev); }
public void SendMoveRequest(Party p, Tile t, MovementIntent intent) { var path = t.Chunk.Map.FindPath(p.Tile, t).Select(pa => new Position(pa.X, pa.Y)).ToList(); var ev = new MoveRequestEvent() { Path = path, PartyIndex = p.PartyIndex, Intent = intent }; ev.Sender = this; t.Chunk.Map.World.Game.NetworkEvents.RunCallbacks(ev); }
public void RequestMovement(MoveRequestEvent ev) { var party = ev.Sender.Parties[ev.PartyIndex]; Log.Debug($"{ev.Sender} requesting party {ev.PartyIndex} to move {ev.Path.Count} tiles"); if (!party.CanMove()) { ev.Sender.Send(new MessagePopupEvent(PopupType.BAD_INPUT)); return; } var course = StartCourse(party, ev.Path, ev.Intent); if (course == null) { ev.Sender.Send(new MessagePopupEvent(PopupType.BAD_INPUT)); } }
// Update is called once per frame void Update() { position = transform.position; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast (ray, out hit)) { Cell hitO = hit.collider.gameObject.GetComponent<Cell>(); if (hitO != null && !hitO.isHilighted()) { hitO.hilight(); if (lastTouched != null) { lastTouched.hilight(); } lastTouched = hitO; } } if (Input.GetMouseButtonDown(0)) { //Camera des = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<Camera>(); //des.ortho //Camera.main.orthographic = true; if (Physics.Raycast(ray, out hit)) { //hit.collider.gameObject //Debug.Log ("ses: " + hit.collider.gameObject.name); Cell hitObject = hit.collider.gameObject.GetComponent<Cell>(); if (hitObject == null) return; if (!hitObject.IsEmpty()) return; Vector3 targetPos = hitObject.GetCoordinates(); //hit.transform.SendMessage("Selected"); if (V3Equal(position, targetPos)) { return; } //if(target.x > target = targetPos; //transform.rigidbody.velocity = new Vector3(-direction.x, 0, -direction.z); //player.GetComponent<PlayerMove>().MoveTo(transform.position); MoveRequestEvent request = new MoveRequestEvent(); //request.to = new Vector2JSON(target.x, target.z); request.to = new Vector2JSON { x = target.x, y = target.z }; WriteQueue.Write(request); //var test = WriteQueue.Read(); //Debug.Log("test " + test); /* var incomingData = ReadQueue.Read(); if (incomingData != null) { Debug.Log(incomingData); JSONEvent readEvent = JsonConvert.DeserializeObject<JSONEvent>(incomingData); Debug.Log(readEvent); } */ //moveTo(new Vector2(target.x, target.z)); //for testing } } }