Пример #1
0
    public void setupFBGame(ulong tableId, uint mapID)
    {
        LogicEvent.add("onChangeCampState", this, "onChangeCampState");

        frameSync = new FrameSync();
        frameSync.addLogicUpdator(this);
        frameSync.frameSyncEventHandler = this;

        this.tableId = tableId;

        fbWorld            = new FBWorld(this);
        fbWorld.randomSeed = 100;

        var worldConfig = new FBWorld.Configuration();
        var btConfig    = new FBWorld.BTConfiguration(worldConfig.worldSize);

        fbWorld.setup(worldConfig, btConfig);
        matchTimer = Fix64.Zero;
        ////创建球
        createBall();

        fbWorld.onGoal += goal;

        onFBGameCreated();
    }
Пример #2
0
    private void Awake()
    {
        Ins                     = this;
        Log                     = new Log();
        ActiveState             = new List <PersistState>();
        GameOverlay             = new GameOverlayDialogState();
        FightState              = new FightState();
        ReplayState             = new ReplayState();
        NickNameDialogState     = new NickNameDialogState();
        BattleStatusDialogState = new BattleStatusDialogState();
        PlayerDialogState       = new PlayerDialogState();
        ChatDialogState         = new ChatDialogState();
        PsdEditDialogState      = new PsdEditDialogState();
        RoomChatDialogState     = new RoomChatDialogState();
        LoadingEx               = new LoadingEXDialogState();
        ItemInfoDialogState     = new ItemInfoDialogState();
        GunShootDialogStatus    = new GunShootDialogStatus();
        //面板管理器.
        DialogStateManager = new MainDialogStateManager();
        //顺序排队弹出框.
        PopupStateManager = new MainPopupStateManager();
        //各类游戏数据.
        GameStateMgr    = new GameStateMgr();
        UpdateHelper    = new UpdateHelper();
        AppInfo         = new AppInfo();
        CombatData      = new CombatData();
        GameNotice      = new GameNotice();
        MeteorManager   = new MeteorManager();
        ScriptMng       = new ScriptMng();
        SFXLoader       = new SFXLoader();
        ActionInterrupt = new ActionInterrupt();

        BuffMng         = new BuffMng();
        EventBus        = new EventBus();
        NetWorkBattle   = new NetWorkBattle();
        SceneMng        = new SceneMng();
        FrameSync       = new FrameSync();
        MeteorBehaviour = new MeteorBehaviour();
        DropMng         = new DropMng();
        //原版相关资源的加载器.
        MenuResLoader    = new MenuResLoader();
        SkcLoader        = new SkcLoader();
        BncLoader        = new BncLoader();
        FMCLoader        = new FMCLoader();
        GMBLoader        = new GMBLoader();
        GMCLoader        = new GMCLoader();
        DesLoader        = new DesLoader();
        FMCPoseLoader    = new FMCPoseLoader();
        DataMgr          = new DataMgr();
        SfxMeshGenerator = new SfxMeshGenerator();
        RoomMng          = new RoomMng();
        SoundManager     = new SoundManager();
        ResMng           = new ResMng();
        DlcMng           = new DlcMng();

        DontDestroyOnLoad(gameObject);
        Log.WriteError(string.Format("GameStart AppVersion:{0}", Main.Ins.AppInfo.AppVersion()));
    }
Пример #3
0
 FrameSyncUpdateSimulator createFrameSyncUpdateSimulator(FrameSync frameSync)
 {
     if (_frameSyncUpdateSimulator == null)
     {
         _frameSyncUpdateSimulator = new FrameSyncUpdateSimulator();
     }
     _frameSyncUpdateSimulator.init(frameSync);
     return(_frameSyncUpdateSimulator);
 }
Пример #4
0
    SinglePlayerUpdateSimulator createFrameSyncUpdateSimulator(FrameSync frameSync)
    {
        if (_frameSyncUpdateSimulator != null)
        {
            _frameSyncUpdateSimulator = new SinglePlayerUpdateSimulator();
        }
        _frameSyncUpdateSimulator.init(frameSync);

        return(_frameSyncUpdateSimulator);
    }
Пример #5
0
        public override void OnEntering(ScreenTransitionEvent e)
        {
            base.OnEntering(e);

            previousFrameSyncMode = config.Get <FrameSync>(FrameworkSetting.FrameSync);
            previousActiveHz      = host.UpdateThread.ActiveHz;
            config.SetValue(FrameworkSetting.FrameSync, FrameSync.Unlimited);
            host.UpdateThread.ActiveHz         = target_host_update_frames;
            host.AllowBenchmarkUnlimitedFrames = true;

            musicController.Stop();
        }
Пример #6
0
        protected override void LoadComplete()
        {
            base.LoadComplete();

            // Force windowed mode and vsync and store original values
            // We're pretending to be osu!lazer after all.
            fps                = configManager.GetBindable <FrameSync>(FrameworkSetting.FrameSync);
            windowMode         = configManager.GetBindable <WindowMode>(FrameworkSetting.WindowMode);
            originalWindowMode = windowMode.Value;
            originalFps        = fps.Value;
            windowMode.Value   = WindowMode.Windowed;
            fps.Value          = FrameSync.VSync;
        }
Пример #7
0
        protected override void LoadComplete()
        {
            base.LoadComplete();

            Add(new OnScreenDisplay());

            frameSyncMode = config.GetBindable <FrameSync>(FrameworkSetting.FrameSync);

            FrameSync initial = frameSyncMode.Value;

            AddRepeatStep(@"Change frame limiter", setNextMode, 3);

            AddStep(@"Restore frame limiter", () => frameSyncMode.Value = initial);
        }
Пример #8
0
 public void init(FrameSync sync)
 {
     frameUpdator          = new FrameSyncUpdater(sync);
     serverCurrentFrameNum = sync.currentLogicFrameNum;
 }
Пример #9
0
 public FrameSyncUpdater(FrameSync sync)
 {
     frameSync = sync;
     _type     = this.GetType();
 }