Exemplo n.º 1
0
    void Start()
    {
        gameStatesManager = GameObject.Find("ScriptBucket").GetComponent <GameStatesManager>();
        gameStatesManager.MenuGameState.AddListener(OnMenu);
        gameStatesManager.StartingGameState.AddListener(OnStarting);
        gameStatesManager.PlayingGameState.AddListener(OnPlaying);
        gameStatesManager.PausedGameState.AddListener(OnPausing);
        gameStatesManager.EndingGameState.AddListener(OnEnding);
        SetState(gameStatesManager.gameState);

        listOfAvailableIds = new List <int> ();
        for (int id = 1, max = Mathf.Min(maxNumPlayers, 11); id <= max; id++)
        {
            listOfAvailableIds.Add(id);
        }
        gameWatcher               = GameObject.Find("ScriptBucket").GetComponent <GameWatcher>();
        listOfPlayers             = new List <Player> ();
        listOfAvailableContollers = new List <Controller>()
        {
            new Controller("C1"),               //Controller 1
            new Controller("C2"),               //Controller 2
            new Controller("C3"),               //Controller 3
            new Controller("C4"),               //Controller 4
            new Controller("C5"),               //Controller 5
            new Controller("C6"),               //Controller 6
            new Controller("C7"),               //Controller 7
            new Controller("C8"),               //Controller 8
            new Controller("C9"),               //Controller 9
            new Controller("C10"),              //Controller 10
            new Controller("C11")               //Controller 11
        };
        srm = GameObject.Find("ScriptBucket").GetComponent <SpriteManager>();
    }
Exemplo n.º 2
0
    // Use this for initialization
    void Start()
    {
        gameStatesManager = GameObject.Find("ScriptBucket").GetComponent <GameStatesManager>();
        gameStatesManager.MenuGameState.AddListener(OnMenu);
        gameStatesManager.StartingGameState.AddListener(OnStarting);
        gameStatesManager.PlayingGameState.AddListener(OnPlaying);
        gameStatesManager.PausedGameState.AddListener(OnPausing);
        gameStatesManager.PausedGameState.AddListener(OnEnding);
        SetState(gameStatesManager.gameState);

        topBox    = this.transform.Find("Hit boxes").gameObject.transform.Find("Top box").gameObject.GetComponent <Collider2D>();
        leftBox   = this.transform.Find("Hit boxes").gameObject.transform.Find("Left box").gameObject.GetComponent <Collider2D>();
        rightBox  = this.transform.Find("Hit boxes").gameObject.transform.Find("Right box").gameObject.GetComponent <Collider2D>();
        bottomBox = this.transform.Find("Hit boxes").gameObject.transform.Find("Bottom box").gameObject.GetComponent <Collider2D>();

        controller  = new Controller("C" + id);
        isJumping   = false;
        rigidBody2D = this.GetComponent <Rigidbody2D>();
        sm          = GameObject.Find("ScriptBucket").GetComponent <SoundManager>();
        srm         = GameObject.Find("ScriptBucket").GetComponent <SpriteManager>();

        gameWatcher = GameObject.Find("ScriptBucket").GetComponent <GameWatcher>();

        alive = true;

        jumpTimer = 0.0f;
    }
Exemplo n.º 3
0
    void Start()
    {
        // Настройка пула
        PoolManager.Parents.Add(PoolManager.Type.UI, UiPoolParent);

        GameStatesManager.EnableState(MainMenuState);
    }
Exemplo n.º 4
0
    // Use this for initialization
    void Start()
    {
        gameWatcher       = GameObject.Find(strScriptBucket).GetComponent <GameWatcher>();
        gameStatesManager = GameObject.Find(strScriptBucket).GetComponent <GameStatesManager>();
        gameStatesManager.MenuGameState.AddListener(OnMenu);
        gameStatesManager.StartingGameState.AddListener(OnStarting);
        gameStatesManager.PlayingGameState.AddListener(OnPlaying);
        gameStatesManager.PausedGameState.AddListener(OnPausing);
        gameStatesManager.EndingGameState.AddListener(OnEnding);
        SetState(gameStatesManager.gameState);

        sm                = GameObject.Find("ScriptBucket").GetComponent <SoundManager>();
        menuPanel         = this.gameObject.transform.Find(strMenuPanel).gameObject;
        joinPanel         = getMenuObject(strJoin);
        startPanel        = getMenuObject(strStart);
        choosePlayerPanel = getMenuObject(strChoosePlayer);
        dressupPanel      = getMenuObject(strDressup);
        countDownPanel    = getMenuObject(strCountDown);
        countDownText     = countDownPanel.transform.Find(strCountDownText).gameObject.GetComponent <Text>();
        gamePanel         = getMenuObject(strGame);
        endingPanel       = getMenuObject(strEnding);
        endingText        = endingPanel.transform.Find(strEndingText).gameObject.GetComponent <Text>();

        showMenuPanel(menuPanels.JOIN);
    }
Exemplo n.º 5
0
 public InGameMenuState(GameStatesManager stateManager, IKernel iocContainer, ISoundEngine soundEngine)
     : base(stateManager)
 {
     _ioc = iocContainer;
     AllowMouseCaptureChange = false;
     _soundEngine            = soundEngine;
 }
Exemplo n.º 6
0
 public StartUpState(GameStatesManager stateManager, IKernel iocContainer)
     : base(stateManager)
 {
     _iocContainer               = iocContainer;
     AllowMouseCaptureChange     = false;
     _slideShowFinished          = false;
     _systemComponentInitialized = false;
 }
Exemplo n.º 7
0
    static int Initialize(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 1);
        GameStatesManager obj = LuaScriptMgr.GetNetObject <GameStatesManager>(L, 1);

        obj.Initialize();
        return(0);
    }
Exemplo n.º 8
0
 private GameWindow()
 {
     InitializeComponent();
     SetStyle(ControlStyles.UserPaint, true);
     SetStyle(ControlStyles.AllPaintingInWmPaint, true);
     SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
     GameStatesManager = new GameStatesManager();
 }
Exemplo n.º 9
0
    void Start()
    {
        gameStatesManager = GameObject.Find("ScriptBucket").GetComponent <GameStatesManager>();
        gameStatesManager.MenuGameState.AddListener(OnMenu);
        gameStatesManager.StartingGameState.AddListener(OnStarting);
        gameStatesManager.PlayingGameState.AddListener(OnPlaying);
        gameStatesManager.PausedGameState.AddListener(OnPausing);
        gameStatesManager.EndingGameState.AddListener(OnEnding);
        SetState(gameStatesManager.gameState);

        punchSounds = loadPunchSounds();
    }
Exemplo n.º 10
0
 // Use this for initialization
 void Start()
 {
     listOfAlivePlayers = new List <GameObject>();
     listOfDeadPlayers  = new List <GameObject>();
     gameStatesManager  = GameObject.Find("ScriptBucket").GetComponent <GameStatesManager>();
     gameStatesManager.MenuGameState.AddListener(OnMenu);
     gameStatesManager.StartingGameState.AddListener(OnStarting);
     gameStatesManager.PlayingGameState.AddListener(OnPlaying);
     gameStatesManager.PausedGameState.AddListener(OnPausing);
     gameStatesManager.EndingGameState.AddListener(OnEnding);
     SetState(gameStatesManager.gameState);
 }
Exemplo n.º 11
0
    public override void OnStart(Action callback)
    {
        gameObject.SetActive(true);
        guiSound = new GuiSound();

        BackToMainMenuButton.onClick.AddListener(() =>
        {
            AudioManager.Instance.PlaySound(guiSound);
            GameStatesManager.EnableState(DI.Resolve <MainMenuState>());
        });

        callback?.Invoke();
    }
Exemplo n.º 12
0
        public GameManager()
        {
            xConsole.WriteLine("Loading game manager...");

            this.dim  = new DisplayManager(this);
            this.grm  = new GraphicsManager(this);
            this.gasm = new GameStatesManager(this);
            gom       = new GameObjectManager();

            PulseeGL.GLSetContext(this);

            return;
        }
Exemplo n.º 13
0
 void Awake()
 {
     //Makes this script a singleton
     if (Instance == null)
     {
         Instance = this;
     }
     else if (Instance != this)
     {
         Destroy(gameObject);
     }
     DontDestroyOnLoad(gameObject);
 }
Exemplo n.º 14
0
    static int get_SelectKingState(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);

        if (o == null)
        {
            LuaDLL.luaL_error(L, "unknown member name SelectKingState");
        }

        GameStatesManager obj = (GameStatesManager)o;

        LuaScriptMgr.PushObject(L, obj.SelectKingState);
        return(1);
    }
Exemplo n.º 15
0
    public override void OnStart(Action callback)
    {
        guiSound    = new GuiSound();
        playerShips = Resources.LoadAll <PlayerShip>("");
        if (selectedIndex == 0)
        {
            SelectedShip = playerShips[selectedIndex];
        }


        LeftButton.onClick.AddListener(() => {
            AudioManager.Instance.PlaySound(guiSound);
            if (selectedIndex == 0)
            {
                selectedIndex = playerShips.Length - 1;
            }
            else
            {
                selectedIndex--;
            }
            SelectedShip = playerShips[selectedIndex];
        });


        RightButton.onClick.AddListener(() => {
            AudioManager.Instance.PlaySound(guiSound);
            if (selectedIndex == playerShips.Length - 1)
            {
                selectedIndex = 0;
            }
            else
            {
                selectedIndex++;
            }
            SelectedShip = playerShips[selectedIndex];
        });


        StartButton.onClick.AddListener(() => {
            AudioManager.Instance.PlaySound(guiSound);
            DI.Resolve <LoadLevelState>().SetLevel(0);
            DI.Resolve <LoadLevelState>().SetPlayerShip(selectedShip);
            GameStatesManager.EnableState(DI.Resolve <LoadLevelState>());
        });


        gameObject.SetActive(true);
        callback?.Invoke();
    }
Exemplo n.º 16
0
	void Awake()
	{
		Instance = this;

		mainMenuState = new MainMenuState(this);
		levelSelectionState = new LevelSelectionState(this);
		levelGameState = new LevelGameState(this);
		levelLoseState = new LevelLoseState(this);
		levelWonState = new LevelWonState(this);
		levelExitState = new ExitGameState(this);

		if (!levelManager)
		{
			levelManager = LevelsManager.Instance;
		}
	}
Exemplo n.º 17
0
    static int Create(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 0)
        {
            GameStatesManager obj = new GameStatesManager();
            LuaScriptMgr.PushObject(L, obj);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: GameStatesManager.New");
        }

        return(0);
    }
Exemplo n.º 18
0
    // ------------------------------------------------------- 华丽的分割线 --------------------------------------------------

    /// <summary>
    /// 初始化函数
    /// </summary>
    public override void Initialize()
    {
        m_gameStatesManager = new GameStatesManager();
        m_gameStatesManager.Initialize();

        m_sceneCamera = GameObject.FindGameObjectWithTag("SceneCamera").GetComponent <Camera>();
        m_uiRoot      = GameObject.Find(m_uiRootName);
        m_sceneRoot   = GameObject.Find(m_sceneRootName);

        m_datamanager = new DataManager();

        InitPool();
        InitLuaManager();
        InitTimesList();
        InitCityPoints();

        LoadLuaFiles();
    }
Exemplo n.º 19
0
    void Awake()
    {
        //Makes this script a singleton

        if (Instance == null)
        {
            Instance = this;
        }
        else if (Instance != this)
        {
            Destroy(gameObject);
        }
        DontDestroyOnLoad(gameObject);

        //Sets the GameState at launch
        ChangeGameStateTo(gameStateAtLaunch);

        //Registers the events
        GameStateChanged = new UnityEvent();
    }
Exemplo n.º 20
0
        private void StartMainLoop()
        {
            GameRunning = true;

            var timer = new Stopwatch();

            timer.Start();

            var lastTime = (float)timer.Elapsed.TotalSeconds;

            while (GameRunning)
            {
                var gameTime    = (float)timer.Elapsed.TotalSeconds;
                var elapsedTime = gameTime - lastTime;
                lastTime = gameTime;
                Application.DoEvents();

                if (!Paused)
                {
                    if (!timer.IsRunning)
                    {
                        timer.Start();
                    }

                    if (GameStatesManager.CurrentGameState != null)
                    {
                        GameStatesManager.CurrentGameState.Update(elapsedTime);
                    }
                }
                else
                {
                    timer.Stop();
                }

                Refresh();
            }

            timer.Stop();
            GameStatesManager.FinalizeManager();
        }
Exemplo n.º 21
0
        public override void ProcessPacket(GameStateUpdate packet, NebulaConnection conn)
        {
            long rtt = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() - packet.SentTime;

            averageRTT  = (int)(averageRTT * 0.8 + rtt * 0.2);
            avaerageUPS = avaerageUPS * 0.8f + packet.UnitsPerSecond * 0.2f;
            Multiplayer.Session.World.UpdatePingIndicator($"Ping: {averageRTT}ms");

            // We offset the tick received to account for the time it took to receive the packet
            long tickOffsetSinceSent = (long)Math.Round(packet.UnitsPerSecond * rtt / 2 / 1000);
            long currentGameTick     = packet.GameTick + tickOffsetSinceSent;
            long diff = currentGameTick - GameMain.gameTick;

            // Discard abnormal packet (usually after host saving the file)
            if (rtt > 2 * averageRTT || avaerageUPS - packet.UnitsPerSecond > 15)
            {
                // Initial connetion
                if (GameMain.gameTick < 1200L)
                {
                    averageRTT        = (int)rtt;
                    GameMain.gameTick = currentGameTick;
                }
                Log.Debug($"GameStateUpdate unstable. RTT:{rtt}(avg{averageRTT}) UPS:{packet.UnitsPerSecond:F2}(avg{avaerageUPS:F2})");
                return;
            }

            if (!Config.Options.SyncUps)
            {
                // We allow for a small drift of 5 ticks since the tick offset using the ping is only an approximation
                if (GameMain.gameTick > 0 && Mathf.Abs(diff) > 5)
                {
                    Log.Info($"Game Tick got updated since it was desynced, was {GameMain.gameTick}, diff={diff}");
                    GameMain.gameTick = currentGameTick;
                }
                // Reset FixUPS when user turns off the option
                if (hasChanged)
                {
                    FPSController.SetFixUPS(0);
                    hasChanged = false;
                }
                return;
            }

            // Adjust client's UPS to match game tick with server, range 30~120 UPS
            float UPS      = diff / 1f + avaerageUPS;
            long  skipTick = 0;

            if (UPS > MaxUPS)
            {
                // Try to disturbute game tick difference into BUFFERING_TIME (seconds)
                if (diff / BUFFERING_TIME + avaerageUPS > MaxUPS)
                {
                    // The difference is too large, need to skip ticks to catch up
                    skipTick = (long)(UPS - MaxUPS);
                }
                UPS = MaxUPS;
            }
            else if (UPS < MinUPS)
            {
                if (diff + avaerageUPS - MinUPS < -BUFFERING_TICK)
                {
                    skipTick = (long)(UPS - MinUPS);
                }
                UPS = MinUPS;
            }
            if (skipTick != 0)
            {
                Log.Info($"Game Tick was desynced. skip={skipTick} diff={diff,2}, RTT={rtt}ms, UPS={packet.UnitsPerSecond:F2}");
                GameMain.gameTick += skipTick;
            }
            FPSController.SetFixUPS(UPS);
            hasChanged = true;
            // Tick difference in the next second. Expose for other mods
            GameStatesManager.NotifyTickDifference((diff / 1f + avaerageUPS) - UPS);
        }
Exemplo n.º 22
0
 public Axis(D3DEngine d3dEngine, CameraManager camManager, GameStatesManager gameStates)
 {
     _gameStates = gameStates;
     _d3dEngine  = d3dEngine;
     _camManager = camManager;
 }
Exemplo n.º 23
0
 public InGameCraftingState(GameStatesManager stateManager, IKernel iocContainer)
     : base(stateManager)
 {
     _iocContainer = iocContainer;
 }
Exemplo n.º 24
0
	public ExitGameState(GameStatesManager manager)
	{
		gameManager = manager;
	}
Exemplo n.º 25
0
	public LevelWonState(GameStatesManager manager)
	{
		gameManager = manager;
	}
Exemplo n.º 26
0
 public InGameInventoryState(GameStatesManager stateManager, IKernel iocContainer)
     : base(stateManager)
 {
     _iocContainer = iocContainer;
 }
 void Awake()
 {
     _instance = this;
 }
Exemplo n.º 28
0
 public override void Initialize()
 {
     m_gameStatesManager = new GameStatesManager();
     m_gameStatesManager.Initialize();
 }
Exemplo n.º 29
0
 public SystemComponentsState(GameStatesManager stateManager, IKernel iocContainer)
     : base(stateManager)
 {
     _iocContainer           = iocContainer;
     AllowMouseCaptureChange = false;
 }
	public LevelSelectionState(GameStatesManager manager)
	{
		gameManager = manager;
	}
Exemplo n.º 31
0
        public WorldChunks(D3DEngine d3dEngine,
                           CameraManager <ICameraFocused> camManager,
                           VisualWorldParameters visualWorldParameters,
                           WorldFocusManager worldFocusManager,
                           GameStatesManager gameStates,
                           IClock gameClock,
                           SingleArrayChunkContainer cubesHolder,
                           ILandscapeManager2D landscapeManager,
                           IChunkMeshManager chunkMeshManager,
                           IChunksWrapper chunkWrapper,
                           ILightingManager lightingManager,
                           IChunkStorageManager chunkstorage,
                           ServerComponent server,
                           IWeather weather,
                           [Named("SkyBuffer")] StaggingBackBuffer skyBackBuffer,
                           VoxelModelManager voxelModelManager,
                           IChunkEntityImpactManager chunkEntityImpactManager,
                           InputsManager inputsManager
                           )
        {
            _server                   = server;
            _chunkstorage             = chunkstorage;
            _d3dEngine                = d3dEngine;
            _worldFocusManager        = worldFocusManager;
            _gameStates               = gameStates;
            _camManager               = camManager;
            _gameClock                = gameClock;
            VisualWorldParameters     = visualWorldParameters;
            _cubesHolder              = cubesHolder;
            _chunkWrapper             = chunkWrapper;
            _landscapeManager         = landscapeManager;
            _chunkMeshManager         = chunkMeshManager;
            _lightingManager          = lightingManager;
            _weather                  = weather;
            _skyBackBuffer            = skyBackBuffer;
            _voxelModelManager        = voxelModelManager;
            _chunkEntityImpactManager = chunkEntityImpactManager;
            _inputsManager            = inputsManager;

            _skyBackBuffer.OnStaggingBackBufferChanged += _skyBackBuffer_OnStaggingBackBufferChanged;

            SliceViewChunks = 25;

            DrawStaticInstanced = true;

            if (visualWorldParameters.WorldParameters.Configuration is UtopiaWorldConfiguration)
            {
                _utopiaProcessorParam = ((UtopiaWorldConfiguration)visualWorldParameters.WorldParameters.Configuration).ProcessorParam;
            }

            //Self injecting inside components, to avoid circular dependency
            _chunkWrapper.WorldChunks     = this;
            lightingManager.WorldChunk    = this;
            _chunkMeshManager.WorldChunks = this;
            landscapeManager.WorldChunks  = this;

            DrawOrders.UpdateIndex(SOLID_DRAW, 100, "SOLID_DRAW");
            TRANSPARENT_DRAW = DrawOrders.AddIndex(1050, "TRANSPARENT_DRAW");
            ENTITIES_DRAW    = DrawOrders.AddIndex(101, "ENTITIES_DRAW");

            this.IsDefferedLoadContent = true;
        }
Exemplo n.º 32
0
	public MainMenuState(GameStatesManager manager)
	{
		gameManager = manager;
	}
Exemplo n.º 33
0
 private void Start()
 {
     _gameStatesManager = new GameStatesManager(this);
 }
Exemplo n.º 34
0
 public MainMenuState(GameStatesManager stateManager, IKernel iocContainer)
     : base(stateManager)
 {
     _ioc = iocContainer;
     AllowMouseCaptureChange = false;
 }
Exemplo n.º 35
0
    // Ожидание нажатия клавиши SPACE для входа в игру
    private IEnumerator StartGame()
    {
        yield return(new WaitUntil(() => Input.GetKeyDown(KeyCode.Space)));

        GameStatesManager.EnableState(DI.Resolve <GameplayState>());
    }