using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; namespace Networking.Client { [CreateAssetMenu(menuName = "Major Project/Networking/ClientObject", order = 150)] public class ClientObject : ScriptableObject { #region Inspector Fields [Header("Connection Settings")] [SerializeField] [Tooltip("Server Address to Connect to")] private string ServerIP; [SerializeField] [Tooltip("Port to connect on")] private int Port; [Header("Player Settings")] [SerializeField] [Tooltip("Player Name")] private string DisplayName; [SerializeField] [Tooltip("Player Color")] private Color PlayerColor; #endregion Inspector Fields #region ReadOnly Variables public NetworkClient client { get; private set; } public bool isConnected { get { return client != null && client.isConnected; } } #endregion ReadOnly Variables public void Connect(string serverAddress,int port) { Debug.Log("Connecting to server: " + serverAddress + ", " + port); this.ServerIP = serverAddress; this.Port = port; client = new NetworkClient(); client.Configure(TransportConfigure.CreateConfigure(), 1); client.Connect(serverAddress, port); } public void Stop() { client.Disconnect(); } public void UpdatePlayerDetails(string DisplayName, Color PlayerColor) { this.DisplayName = DisplayName; this.PlayerColor = PlayerColor; } } }