Exemple #1
0
 public ServerRoomFactory(RoomEventDispatcher dispatcher, ICoRoutineManager coRoutineManager, IUnityAssetManager assetMananger)
 {
     _dispatcher       = dispatcher;
     _coRouitneManager = coRoutineManager;
     _assetMananger    = assetMananger;
     _contexts         = new Contexts();
 }
Exemple #2
0
    public ContextsServerWrapper(Contexts contexts, IUnityAssetManager assetManager, ICoRoutineManager coRoutineManager)
    {
        var ruleId = RuleMap.GetRuleId(SingletonManager.Get <ServerFileSystemConfigManager>().BootConfig.Rule);

        this.contexts = contexts;
#if (!ENTITASDISABLEVISUALDEBUGGING && UNITYEDITOR)
        this.contexts.InitializeContexObservers();
#endif

        SingletonManager.Get <MyProfilerManager>().Contexts = contexts;
        IBin2DManager bin2DManager = CreateBin2DManager();
        IniCurrentTimeSession();

        var entityIdGenerator          = new EntityIdGenerator(EntityIdGenerator.GlobalBaseId);
        var equipmentEntityIdGenerator = new EntityIdGenerator(EntityIdGenerator.EquipmentBaseId);
        InitEntityFactorySession(entityIdGenerator, equipmentEntityIdGenerator);


        InitCommonSession(bin2DManager, entityIdGenerator, equipmentEntityIdGenerator, ruleId, assetManager,
                          coRoutineManager);

        InitServerSession(bin2DManager, ruleId);

        contexts.vehicle.SetSimulationTime(0);



        InitialWeaponSkill();
    }
Exemple #3
0
 public ServerMain(ICoRoutineManager coRoutineManager, IUnityAssetManager assetManager,
                   IRoomListener roomListener)
 {
     _coRoutineManager     = coRoutineManager;
     _assetManager         = assetManager;
     _roomListener         = roomListener;
     _baseConfigInitModule = new BaseConfigurationInitModule(_initState, _assetManager);
 }
Exemple #4
0
 public ClientContextInitilizer(IUserCmdGenerator userCmdGenerator,
                                ICoRoutineManager coRoutineManager,
                                IUnityAssetManager assetManager,
                                string loginToken)
 {
     _userCmdGenerator = userCmdGenerator;
     _coRoutineManager = coRoutineManager;
     _loginToken       = loginToken;
     _assetManager     = assetManager;
 }
Exemple #5
0
        public IEnumerator Init(ResourceConfig config, ICoRoutineManager coRoutineManager, bool isServer = false)
        {
            _logger.InfoFormat("UnityAssetManager init:IsServer:{0} ,Quality:{1}", isServer,
                               SettingManager.SettingManager.GetInstance().GetQualityBeforeInit());
            coRoutineManager.StartCoRoutine(InitUpdate());
            coRoutineManager.StartCoRoutine(Init(config,
                                                 !isServer && SettingManager.SettingManager.GetInstance().GetQualityBeforeInit() ==
                                                 SettingManager.QualityLevel.Low));

            yield return(new WaitUntil(() => _isInitialized));
        }
        public IEnumerator Init(ResourceConfig config, ICoRoutineManager coRoutineManager, bool isServer = false, string useMD5 = null)
        {
#if !UNITY_EDITOR
            var isLQ =
                SettingManager.SettingManager.GetInstance().GetQualityBeforeInit() == SettingManager.QualityLevel.Low;
#else
            var isLQ = false;
#endif
            _logger.InfoFormat("UnityAssetManager init:IsServer:{0} ,Quality:{1}", isServer,
                               SettingManager.SettingManager.GetInstance().GetQualityBeforeInit());
            coRoutineManager.StartCoRoutine(InitUpdate());
            coRoutineManager.StartCoRoutine(Init(config,
                                                 !isServer && isLQ, useMD5));

            yield return(new WaitUntil(() => _isInitialized));
        }
Exemple #7
0
        public ServerRoom(IRoomId roomId, Contexts contexts, IRoomEventDispatchter eventDispatcher,
                          ICoRoutineManager coRoutineManager, IUnityAssetManager assetManager, IPlayerTokenGenerator tokenGenerator)
        {
            //SingletonManager.Get<ServerFileSystemConfigManager>().Reload();
            _state = RoomState.Initialized;

            _tokenGenerator   = tokenGenerator;
            _coRoutineManager = coRoutineManager;

            var entityIdGenerator          = new EntityIdGenerator(EntityIdGenerator.GlobalBaseId);
            var equipmentEntityIdGenerator = new EntityIdGenerator(EntityIdGenerator.EquipmentBaseId);
            var ruleId = RuleMap.GetRuleId(SingletonManager.Get <ServerFileSystemConfigManager>().BootConfig.Rule);

            RoomId    = roomId;
            _contexts = contexts;
#if (!ENTITAS_DISABLE_VISUAL_DEBUGGING && UNITY_EDITOR)
            _contexts.InitializeContexObservers();
#endif
            SingletonManager.Get <MyProfilerManager>().Contexts = _contexts;
            _eventDispatcher = eventDispatcher;
            _bin2DManager    = CreateBin2DManager();
            IniCurrentTimeSession();


            InitEntityFactorySession(entityIdGenerator, equipmentEntityIdGenerator);
            _assetManager = assetManager;


            InitCommonSession(entityIdGenerator,
                              equipmentEntityIdGenerator, ruleId);

            InitServerSession(_bin2DManager, ruleId);


            _contexts.vehicle.SetSimulationTime(0);
            MessageDispatcher    = CreateNetworMessageHandlers();
            _snapshotFactory     = new SnapshotFactory(_contexts.session.commonSession.GameContexts);
            _sessionStateMachine = new ServerSessionStateMachine(_contexts, this);

            _damager = new SimplePlayerDamager(this);
            VehicleDamageUtility._damager = _damager;
            _sendSnapshotManager          = new SendSnapshotManager(_contexts);

            InitialWeaponSkill();
        }
Exemple #8
0
    private void InitCommonSession(IBin2DManager bin2DManager, EntityIdGenerator entityIdGenerator,
                                   EntityIdGenerator equipmentEntityIdGenerator, int ruleId,
                                   IUnityAssetManager assetManager, ICoRoutineManager coRoutineManager)
    {
        contexts.session.SetCommonSession();
        var commonSession = contexts.session.commonSession;

        commonSession.InitPosition = Vector3.zero;

        commonSession.AssetManager = assetManager;

        commonSession.CoRoutineManager = coRoutineManager;
        commonSession.GameContexts     =
            GameContextsUtility.GetReplicationGameContexts(contexts, bin2DManager);
        commonSession.EntityIdGenerator          = entityIdGenerator;
        commonSession.EquipmentEntityIdGenerator = equipmentEntityIdGenerator;
        commonSession.RoomInfo = new RoomInfo
        {
            MapId  = SingletonManager.Get <ServerFileSystemConfigManager>().BootConfig.MapId,
            ModeId = ruleId
        };

        MakeWeaponLogicManager();
    }