void Awake()
    {
        if (Instance != null)
        {
            Debug.LogError("GameRoomManager is Singleton! Cannot be created again!");
        }
        Instance = this;

        //读取数据
        // 为了测试战场内的功能,我需要单独运行Room场景,直接进入房间服务器,这时候CsvDataManger还没有被初始化,所以需要单独被初始化
        // 但是因为这个初始化只能是异步的(从StreamingAssets目录里读取文件,只能使用WWW异步读取),
        // 所以这里做出分支,如果ClientManager.Instance不存在,就说是是独立运行的分支.

        if (ClientManager.Instance != null)
        { // CsvDataManager这个实例在游戏一开始已经被ClientManager初始化过
            CsvDataManager = ClientManager.Instance.CsvDataManager;
            CommandManager.LoadCommands();
            roomData = ClientManager.Instance.EnterRoom;
            _address = roomData.Address;
            _port    = roomData.Port;
        }
        else
        { // CsvDataManager尚未被初始化过
            CsvDataManager = gameObject.AddComponent <CsvDataManager>();
            StartCoroutine(DownloadDataFiles());
        }
    }
Example #2
0
    // Start is called before the first frame update
    void Start()
    {
        if (this.gameObject == null)
        {
            return;
        }
        gameRoomManager = GameObject.Find("GameRoomManager").GetComponent <GameRoomManager>();
        //gooleSheetManager = GameObject.Find("GoogleSheetManager").GetComponent<GooleSheetManager>();
        gamePenal[0].SetActive(true);
        gamePenal[1].SetActive(false);
        gamePenal[2].SetActive(false);
        if (Charactor[0] != null)
        {
            Charactor[0].SetActive(true);
            Charactor[1].SetActive(false);
        }
        else
        {
            return;
        }



        //gamePenal[3].SetActive(false);
    }
 public void Process()          //todo refactoring
 {
     try {
         Stream = _client.GetStream();
         while (true)
         {
             var message = Stream.GetMessageBytes();
             if (message.Length == 0)
             {
                 break;
             }
             message.GetRequestInfo(out var data, out var itemId, out var roomId, out var queryType);
             Console.WriteLine($"{itemId} {queryType} {data.Length}");
             if (queryType == QueryType.GetAll)
             {
                 if (GameRoomManager.GetIfExistsRoom(roomId))
                 {
                     foreach (var roomData in GameRoomManager.GetData(roomId))
                     {
                         _server.Send(this, roomData);
                     }
                 }
                 continue;
             }
             GameRoomManager.Save(roomId, itemId, data, queryType);
             _server.BroadcastMessage(data, Id);
         }
     } catch (Exception ex) {
         Console.WriteLine(ex.Message);
     } finally {
         _server.RemoveConnection(Id);
         Close();
     }
 }
    static void Main(string[] args)
    {
        List <IAbs> managers = new List <IAbs>();
        var         pm       = new PlayerManager(new Player()
        {
            ID = 1001
        });
        var gm = new GameRoomManager(new GameRoom()
        {
            ID = 2050
        });

        managers.Add(pm);
        managers.Add(gm);
        IItem part = managers[0].GetItem("0000");
    }
Example #5
0
        protected override void Setup()
        {
            /* Add the log path to the properties so can use them in log4net.config. */
            GlobalContext.Properties["Photon:ApplicationLogPath"] = Path.Combine(ApplicationPath, "log");

            /* Configure log4net to use the log4net.config file. */
            var configFilePath = Path.Combine(BinaryPath, "log4net.config");
            var configFile     = new FileInfo(configFilePath);

            if (configFile.Exists)
            {
                XmlConfigurator.ConfigureAndWatch(configFile);
            }

            _games = new GameRoomManager();
            Log.Info("Started GameServer...");
        }
Example #6
0
        public NetworkPlayer GeneratePlayerFromClientID(int clientID, int roomID, GameClientManager gameClientManager, GameRoomManager gameRoomManager)
        {
            var teamID = gameRoomManager.GetTeamFromClientIDAndRoomID(roomID, clientID);

            return(new NetworkPlayer(gameClientManager.GetGameClientFromClientID(clientID).ID, gameClientManager.GetGameClientFromClientID(clientID).Name, teamID));
        }
Example #7
0
 public DummyGameService(IMapper mapper,
                         GameRoomManager gameRoomManager)
 {
     _mapper          = mapper;
     _gameRoomManager = gameRoomManager;
 }
 public GameRoomService(IServerNetWork network)
     : base(network)
 {
     roomManager = GameRoomManager.GetInstance();
 }
 public GameSampleGameService(IMapper mapper,
                              GameRoomManager gameRoomManager)
 {
     _mapper          = mapper;
     _gameRoomManager = gameRoomManager;
 }
Example #10
0
 public SangongGameService(IMapper mapper,
                           GameRoomManager gameRoomManager)
 {
     _mapper          = mapper;
     _gameRoomManager = gameRoomManager;
 }
Example #11
0
 private void Awake()
 {
     instance = this;
 }