Ejemplo n.º 1
0
    /// <summary>
    /// When a map tile is rebuild, send it to all clients so each player has the same map as the host
    /// </summary>
    public void SendToNetwork()
    {
        var mesh = GetComponent <MeshFilter>().mesh;

        NetworkIdentity ide = GetComponent <NetworkIdentity>();

        UpdateHostMessage message = new UpdateHostMessage {
            list = mesh.vertices, identifier = gameObject.name, texture = ImageUrl
        };

        NetworkServer.SendToAll(CloudAnchorController.kMessageId, message);
    }
    //Use this to receive the message from the Server on the Client's side
    public void ReceiveMessage(NetworkMessage networkMessage)
    {
        //Read the message that comes in
        UpdateHostMessage hostMessage = networkMessage.ReadMessage <UpdateHostMessage>();

        ClientMapTile tile = GameObject.Find(hostMessage.identifier).GetComponent <ClientMapTile>();

        if (tile != null)
        {
            tile.NetworkUpdate(hostMessage.list);
            tile.SetTex(hostMessage.texture);
        }
        ((ClientMapBuilder)mapBuilder).AddTile(tile);
    }
Ejemplo n.º 3
0
        public ActionResult UpdateHostViaPost(UpdateHostMessage model)
        {
            var result = _updateService.UpdateHost(model.Host, model.IpAddress);

            switch (result)
            {
            case UpdateResult.DnsZoneNotFound:
            case UpdateResult.RecordSetNotFound:
                return(BadRequest("invalid host data"));

            case UpdateResult.Success:
                return(Ok());

            default:
                return(StatusCode(500, "internal error occured"));
            }
        }
Ejemplo n.º 4
0
 public ActionResult UpdateHostViaGet([FromQuery] UpdateHostMessage model)
 {
     return(UpdateHostViaPost(model));
 }