public void EndMatch() { Broadcast("match_end", new NullMessage()); ManagerComponent.Get().StartCoroutine(Delete()); var gameServerHandler = GameServerHandler.Get(); gameServerHandler.SendMm("match_end", new MatchEndMessage(matchId)); }
public virtual void StartMatchMaking() { if (NetworkInfos.IsServer) { return; } Print("Starting matchmaking...."); _managerComponent = ManagerComponent.Get(); clientHandler = ClientHandler.Get(); clientHandler.Start(serverDatas, this, debug); StartCoroutine(clientHandler.client.GetDatas(clientHandler.OnReceiveData)); }
private void InitWorld(string name) { DefaultWorldInitialization.Initialize(name, false); world = World.DefaultGameObjectInjectionWorld; world.GetExistingSystem(typeof(RenderMeshSystemV2)).Enabled = false; // Let's instantiate the Map var themap = ManagerComponent.Get().maps.Find(m => m.name == map); EntityManager manager = world.EntityManager; GameObjectConversionSettings settings = GameObjectConversionSettings.FromWorld(world, blobAssetStore); Entity entity = GameObjectConversionUtility.ConvertGameObjectHierarchy(themap.mapObj, settings); Entity spawn = manager.Instantiate(entity); GetSpawnPoints(); }
private void OnReceiveMMDataTCP(string data) { GlobalMessage msg = JsonUtility.FromJson <GlobalMessage> (data); switch (msg.type) { case "create_match": { var m = new Match(_createGameMaster, msg.data); World.DefaultGameObjectInjectionWorld = _defaultWorld; matches.Add(m.matchId, m); SendMm("match_created", new MatchManagementMessage(m.matchId)); break; } case "delete_match": { var dmmsg = JsonUtility.FromJson <DeleteMatchMessage> (msg.data); var matchExist = matches.ContainsKey(dmmsg.matchId); if (matchExist) { var m = matches[dmmsg.matchId]; ManagerComponent.Get().StartCoroutine(m.Delete()); } SendMm("match_deleted", new MatchManagementMessage(dmmsg.matchId)); break; } case "remove_user": { var mmsg = JsonUtility.FromJson <RemoveUserFromMatchMessage> (msg.data); var matchExist = matches.ContainsKey(mmsg.matchId); if (matchExist) { var m = matches[mmsg.matchId]; var p = m.players.Find(pa => pa.key == mmsg.userKey); if (p != null) { clients.Remove(p.client.ep.ToString()); m.players.Remove(p); m.gameMaster.OnPlayerLeave(p); } } SendMm("user_removed", new UserRemovedMessage(mmsg.matchId, mmsg.userKey)); break; } } }
private EntityEntry SpawnFromGameObject(GameObject obj, Vector3 pos, Quaternion rot, Player player = null) { var manager = ManagerComponent.Get(); var index = manager.spawnableObjects.IndexOf(obj); if (index == -1) { return(null); } GameObjectConversionSettings settings = GameObjectConversionSettings.FromWorld(world, blobAssetStore); Entity e = GameObjectConversionUtility.ConvertGameObjectHierarchy(manager.spawnableObjects[index], settings); return(Spawn(e, player == null, index, pos, rot, player != null ? player.key : null)); }
// Use this for initialization IEnumerator Start() { _Ledger = TestParent.GetComponent <Ledger>(); _Manager = TestParent.GetComponent <ManagerComponent <T> >(); yield return(null); _Ledger.Clear(); _GroupLedger.Clear(); _Tests.Add(new PostTest <T>(this)); _Tests.Add(new BaseTest <T>(this)); _Tests.Add(new FailTest <T>(this)); _Tests.Add(new FailTest02 <T>(this)); _Tests.Add(new FileStreamTest <T>(this)); _Tests.Add(new MemoryStreamTest <T>(this)); _Tests.Add(new SerializationTest <T>(this)); _Tests.Add(new SortingTest <T>(this)); _Tests.Add(new ProgressTest <T>(this)); _Tests.Add(new StatusCodeTest <T>(this)); _Tests.Add(new LedgerTest01 <T>(this)); _Tests.Add(new LedgerTest02 <T>(this)); _Tests.Add(new GroupLedgerTest01 <T>(this)); _Tests.Add(new GroupLedgerTest02 <T>(this)); _Tests.Add(new GroupLedgerTest03 <T>(this)); _Tests.Add(new GroupLedgerTest04 <T>(this)); _Tests.Add(new AbortTest <T>(this)); _Tests.Add(new DestroyTest01 <T>(this)); _Tests.Add(new DestroyTest02 <T>(this)); int succeedCount = 0; int failCount = 0; for (int i = 0; i < _Tests.Count; i++) { _Tests[i].OnTestFail += () => failCount++; _Tests[i].OnTestSucceed += () => succeedCount++; yield return(_Tests[i].DoTest()); } Debug.Log(failCount + "/" + _Tests.Count + " Failures"); Debug.Log(succeedCount + "/" + _Tests.Count + " Successes"); }
public ServerGameMaster(Match match) { this.match = match; managerComponent = ManagerComponent.Get(); _mainThreadQueue = new Queue <MainThreadQueueElement> (); }
protected ClientGameMaster() { managerComponent = ManagerComponent.Get(); world = World.DefaultGameObjectInjectionWorld; }
public void StartCoroutine(IEnumerator enumerator) { ManagerComponent.Get().StartCoroutine(enumerator); }