Example #1
0
        public GameManager() : base("GameManager")
        {
            SetupState   setupState = new SetupState(this);
            MenuState    menuState  = new MenuState(this);
            SinglePlayer singleMode = new SinglePlayer(this);
            PauseState   pauseState = new PauseState(this);
            LoseState    loseState  = new LoseState(this);
            WinState     winState   = new WinState(this);
            MultiPlayer  multiMode  = new MultiPlayer(this);
            LobbySetup   lobby      = new LobbySetup(this);

            //Link State
            setupState.MenuState = menuState;

            menuState.SinglePlayerMode = singleMode;
            menuState.Lobby            = lobby;

            singleMode.NextWin   = winState;
            singleMode.NextLose  = loseState;
            singleMode.NextPause = pauseState;

            lobby.Menu      = menuState;
            lobby.MultiMode = multiMode;

            multiMode.NextLose  = loseState;
            multiMode.NextPause = pauseState;
            multiMode.NextWin   = winState;

            loseState.Retry = menuState;

            setupState.OnStateEnter();
            currentState = setupState;

            AddComponent(new FSMUpdater(currentState));
        }
Example #2
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            this.monitorBuffer    = new float[2048];
            this.monitor          = new WaveformMonitor(Color.FromArgb(139, 229, 139), this.monitorBox.Size);
            this.monitorBox.Image = this.monitor.Bitmap;

            this.volumeMonitor          = new VolumeMonitor(Color.FromArgb(139, 229, 139), this.volumeMonitorBox.Size);
            this.volumeMonitorBox.Image = this.volumeMonitor.Bitmap;

            this.SwitchConnection();

            Func <float[], int, int, int> process = (buffer, offset, count) =>
            {
                int k = connector.Master.Read(buffer, offset, count);

                if (this.monitorBuffer.Length != buffer.Length)
                {
                    this.monitorBuffer = new float[buffer.Length];
                }

                buffer.CopyTo(this.monitorBuffer, 0);

                return(k);
            };
            var setting = new PlayerSettings()
            {
                BufferSize = 1024, BufferCount = 32, BitPerSample = 16, SamplingFrequency = frequencty
            };

            this.player = new SinglePlayer(process, setting);

            this.playing = true;
            this.Stop();
        }
    // Use this for initialization
    IEnumerator Start () {

        GameObject.Find("OverHeadCamera").GetComponent<OverHeadCameraController>().target = this.transform;

        if (GameObject.Find("Message") != null)
            messageText = GameObject.Find("Message").GetComponent<Text>();

        messageText.text = "3";
        yield return new WaitForSeconds(1);
        messageText.text = "2";
        yield return new WaitForSeconds(1);
        messageText.text = "1";
        yield return new WaitForSeconds(1);
        messageText.text = "GO!";
        GetComponent<CarController>().canMove = true;

        NotificationCenter.DefaultCenter().AddObserver(this, "OnCarEnter");
        NotificationCenter.DefaultCenter().AddObserver(this, "OnCarScore");

        if (GameObject.Find("ScoreText") != null)
            scoreText = GameObject.Find("ScoreText").GetComponent<Text>();
        if (GameObject.Find("TimerText") != null)
            timerText = GameObject.Find("TimerText").GetComponent<Text>();
        if (GameObject.Find("Message") != null)
            messageText = GameObject.Find("Message").GetComponent<Text>();

        singlePlayer = new SinglePlayer();
        singlePlayer.SetNotificationInterface(this);

        yield return new WaitForSeconds(1);
        messageText.text = "";
        StartCoroutine(Run());
    }
Example #4
0
    protected override void NormalEffect()
    {
        base.NormalEffect();
        SinglePlayer sp = target.GetComponent <SinglePlayer>();

        sp.controllable = false;
    }
Example #5
0
    protected override void ExpireEffect()
    {
        base.ExpireEffect();
        SinglePlayer sp = target.GetComponent <SinglePlayer>();

        sp.controllable = true;
    }
Example #6
0
        public RunState Run()
        {
            if (!GameManager.Instance.Init("OpenMB", gameOptions))
            {
                EngineLogManager.Instance.LogMessage("Failed to initialize the game engine!", LogType.Error);
                return(RunState.Error);
            }

            GC.Collect();

            ModChooser.create <ModChooser>("ModChooser");
            MainMenu.create <MainMenu>("MainMenu");
            Pause.create <Pause>("Pause");
            SinglePlayer.create <SinglePlayer>("SinglePlayer");
            Multiplayer.create <Multiplayer>("Multiplayer");
            Credit.create <Credit>("Credit");
            Loading.create <Loading>("Loading");

            var installedMod = ModManager.Instance.GetInstalledMods();

            if (!string.IsNullOrEmpty(mod) && installedMod.ContainsKey(mod))
            {
                GameManager.Instance.loadingData = new LoadingData(LoadingType.LOADING_MOD, "Loading Mod...Please wait", mod, "MainMenu");
                AppStateManager.Instance.start(AppStateManager.Instance.findByName("Loading"));
            }
            else
            {
                AppStateManager.Instance.start(AppStateManager.Instance.findByName("ModChooser"));
            }

            EngineLogManager.Instance.Dispose();

            return(state);
        }
        private void singlePlayer_Click(object sender, RoutedEventArgs e)
        {
            SinglePlayer sp = new SinglePlayer();

            sp.Show();
            this.Close();
        }
Example #8
0
 void RegisterEntities()
 {
     // Find enemies and players in the scene
     enemies.Clear();
     players.Clear();
     controlledPlayer = null;
     foreach (GameObject en in GameObject.FindGameObjectsWithTag(Constants.BM.EnemyTag))
     {
         enemies.Add(en.GetComponent <Enemy>());
     }
     foreach (GameObject pl in GameObject.FindGameObjectsWithTag(Constants.BM.PlayerTag))
     {
         SinglePlayer sp = pl.GetComponent <SinglePlayer>();
         if (sp.controller.controllable)
         {
             controlledPlayer = sp;
         }
         players.Add(sp);
     }
     if (DebugSwitch.UIManager)
     {
         Debug.Log("UIM register enemy " + enemies.Count, this.gameObject);
     }
     if (DebugSwitch.UIManager)
     {
         Debug.Log("UIM register players " + players.Count, this.gameObject);
     }
 }
Example #9
0
File: Program.cs Project: nanase/ux
        static void Main(string[] args)
        {
            const int frequencty = 44100;

            MidiConnector connector;

            if (args.Any(s => !s.StartsWith("-")))
            {
                connector = new SmfConnector(frequencty);
                ((SmfConnector)connector).Load(args.First(s => !s.StartsWith("-")));
            }
            else
            {
                connector = new MidiInConnector(frequencty, 0);
            }

            foreach (var preset in args.Where(a => a.StartsWith("-p:")).Select(a => a.Substring(3)))
            {
                Console.Write("Preset: " + preset);
                connector.AddPreset(preset);
                Console.WriteLine(" ... [OK]");
            }

            Console.WriteLine("[q] Quit, [r] Reload Presets");

            Func <float[], int, int, int> process = (buffer, offset, count) => connector.Master.Read(buffer, offset, count);

            var setting = new PlayerSettings()
            {
                BufferSize = 512, BufferCount = 64, BitPerSample = 16, SamplingFrequency = frequencty
            };

            using (var l = new SinglePlayer(process, setting))
            {
                Console.WriteLine("Playing!");
                l.Play();
                connector.Play();

                var end = false;

                do
                {
                    switch (Console.ReadKey(true).Key)
                    {
                    case ConsoleKey.Q:
                        end = true;
                        break;

                    case ConsoleKey.R:
                        connector.ReloadPreset();
                        break;

                    default:
                        break;
                    }
                } while (!end);
            }

            connector.Stop();
        }
Example #10
0
 protected bool MovePlayerToDestination(SinglePlayer player, Vector3 destination)
 {
     if (player.dead)
     {
         Debug.Log($"Scenario MovePlayerToDestination: {player.name} dead, cannot move it.");
         return(true); // arrived at heaven
     }
     return(players[4].controller.MoveToPoint(destination));
 }
Example #11
0
    public void OnTimer()
    {
        // Arrange
        SinglePlayer singePlayer = new SinglePlayer();

        // Act
        string result = singePlayer.OnTimer(10f);

        // Assert
        Assert.AreEqual("00:10", result);
    }
    public void OnTimer()
    {
        // Arrange
        SinglePlayer singePlayer = new SinglePlayer();

        // Act
        string result = singePlayer.OnTimer(10f);

        // Assert
        Assert.AreEqual("00:10", result);
    }
    public void ScoreIncrease()
    {
        // Arrange
        SinglePlayer singePlayer = new SinglePlayer();
        singePlayer.Score = 10;
        singePlayer.PointValue = 10;

        // Act
        singePlayer.ScoreIncrease();

        // Assert
        Assert.AreEqual(singePlayer.Score, 20);
    }
Example #14
0
    private void Awake()
    {
        singleplayer = singleplayerTransform.GetComponent <SinglePlayer>();
        RedUnit      = singleplayer.atkChar.GetComponent <Transform>(); //pivot is not always the red, use atkChar for the red character
        //Aim at Red Unit
        TargetRed();

        anim  = GetComponent <Animator>();
        Death = false;

        currentHealth            = maxHealth;
        bossHealthBar.fillAmount = currentHealth / maxHealth;
    }
Example #15
0
        public void HaveFun(Game room, StringBuilder sb, string preferredMap, bool isSingle, int singleCharId)
        {
            int roomId = room.Id;

            //Create dice
            DiceDto dice = new DiceDto();

            //Add Characters to the room
            var game       = context.Games.FirstOrDefault(g => g.Id == room.Id);
            var characters = new List <Character>();

            foreach (var gc in game.Characters)
            {
                var character = gc.Character;
                characters.Add(character);
            }


            if (preferredMap == "demomap")
            {
                var map         = new DemoMap("map1");
                var playableMap = map.GenerateMap();
                SetOnStart(room, playableMap, roomId);// set all chars on start
                if (!isSingle)
                {
                    ProceedGame(game, sb, playableMap, characters, dice, roomId);
                }
                else
                {
                    var gaChar       = context.GameCharacters.FirstOrDefault(gc => gc.CharacterId == singleCharId && gc.GameId == roomId);
                    var singlePlayer = new SinglePlayer(context, reader, writer, numberGenerator);
                    singlePlayer.StartSinglePlayer(dice, gaChar, playableMap, characters, sb, roomId, game);
                }
            }
            else if (preferredMap == "firstmap")
            {
                var firstMap          = new FirstMapFrontEnd();
                var generatedFirstMap = firstMap.GenerateFirstMap();
                SetOnStart(room, generatedFirstMap, roomId);// set all chars on start
                if (!isSingle)
                {
                    ProceedGame(game, sb, generatedFirstMap, characters, dice, roomId);
                }
                else
                {
                    var gaChar       = context.GameCharacters.FirstOrDefault(gc => gc.CharacterId == singleCharId && gc.GameId == roomId);
                    var singlePlayer = new SinglePlayer(context, reader, writer, numberGenerator);
                    singlePlayer.StartSinglePlayer(dice, gaChar, generatedFirstMap, characters, sb, roomId, game);
                }
            }
        }
Example #16
0
    public void ScoreIncrease()
    {
        // Arrange
        SinglePlayer singePlayer = new SinglePlayer();

        singePlayer.Score      = 10;
        singePlayer.PointValue = 10;

        // Act
        singePlayer.ScoreIncrease();

        // Assert
        Assert.AreEqual(singePlayer.Score, 20);
    }
Example #17
0
    SinglePlayer FindPlayerByStratPos(int i)
    {
        SinglePlayer player = null;

        foreach (SinglePlayer pl in players)
        {
            if ((int)pl.stratPosition == i)
            {
                player = pl;
                break;
            }
        }
        return(player);
    }
Example #18
0
        /// <summary>
        /// Handles the Clicked event of the SinglePlayerBtn control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
        private void SinglePlayerBtn_Clicked(object sender, RoutedEventArgs e)
        {
            var location = this.PointToScreen(new Point(0, 0));
            // create a singleplayer model and give it the server
            ISinglePlayerModel model = new SinglePlayerModel(server);
            // set up and launch the single player window
            SinglePlayer singlePlayer = new SinglePlayer(model, this);

            singlePlayer.Left = location.X;
            singlePlayer.Top  = location.Y;

            this.player.Pause();
            singlePlayer.Show();
            this.Hide();
        }
    public void ScoreIncreaseNewLevel()
    {
        // Arrange
        SinglePlayer singePlayer = new SinglePlayer();
        var notificationCenter = GetNotificationMock();
        singePlayer.SetNotificationInterface(notificationCenter);
        singePlayer.Score = 190;
        singePlayer.PointValue = 10;
        singePlayer.NewLevelThreshold = 200;

        // Act
        singePlayer.ScoreIncrease();

        // Assert
        notificationCenter.Received(1).PostNotification("IncreaseLevel");
    }
Example #20
0
    public Player CheckRoundResult()
    {
        SinglePlayer winer = null;
        bool         isWin = !_player.GetIsRoundFailed();

        if (isWin)
        {
            StartCoroutine(ShowResultRoundText("Excellent", isWin));
            winer = _player;
        }
        else
        {
            StartCoroutine(ShowResultRoundText("Mistake", isWin));
        }
        return(winer);
    }
Example #21
0
    public void InitPartylist(int numPlayers = 8)
    {
        // partylistItems[i] is according to the order in default
        // change the position of the item, not the assignment
        int controlled_player = (int)controlledPlayer.stratPosition;

        if (DebugSwitch.UIManager)
        {
            Debug.Log($"UIM InitPartylist: Finding {Constants.UI.PartyListItemPrefix + controlled_player}...");
        }
        // Position
        int pos = 0;

        for (int i = 0; i < numPlayers; i++)
        {
            if (i < controlled_player)
            {
                pos = i + 1;
            }
            else if (i == controlled_player)
            {
                pos = 0;
            }
            else
            {
                pos = i;
            }

            float offset = Constants.UI.PartyListYStart - pos * Constants.UI.PartyListYInterval;
            if (DebugSwitch.UIManager)
            {
                Debug.Log($"UIM InitPartylist: player {i}, should be at pos {pos}, offset {offset}");
            }
            RectTransform t = partyListGO.transform.Find(Constants.UI.PartyListItemPrefix + i).GetComponent <RectTransform>();
            // Set position on Canvas
            t.anchoredPosition = new Vector2(t.anchoredPosition.x, offset);
            // set name
            TextMeshProUGUI text = t.Find("member name").GetComponent <TextMeshProUGUI>();
            text.text = ((SinglePlayer.StratPosition)i).ToString();
            // other info
            GameObject    partylistitem = t.gameObject;
            SinglePlayer  pl            = FindPlayerByStratPos(i); // can be null
            PartyListItem item          = new PartyListItem(partylistitem, pl);
            item.Update(false);
            partylistItems.Add(item);
        }
    }
Example #22
0
    public void ScoreIncreaseNewLevel()
    {
        // Arrange
        SinglePlayer singePlayer        = new SinglePlayer();
        var          notificationCenter = GetNotificationMock();

        singePlayer.SetNotificationInterface(notificationCenter);
        singePlayer.Score             = 190;
        singePlayer.PointValue        = 10;
        singePlayer.NewLevelThreshold = 200;

        // Act
        singePlayer.ScoreIncrease();

        // Assert
        notificationCenter.Received(1).PostNotification("IncreaseLevel");
    }
 void Start()
 {
     gameMode = GameObject.FindObjectOfType <GameMode> ();
     scoreDisplayPlayerTwo = GameObject.Find("Score Panel Player Two").GetComponent <ScoreDisplay> ();
     isTwoPlayerGame       = gameMode.isTwoPlayerGame;
     if (isTwoPlayerGame)
     {
         Instantiate(playerTwoPrefab);
         multiPlayer = GameObject.FindObjectOfType <MultiPlayer> ();
     }
     else
     {
         Instantiate(playerOnePrefab);
         singlePlayer = GameObject.FindObjectOfType <SinglePlayer> ();
         Destroy(scoreDisplayPlayerTwo.gameObject);
     }
 }
Example #24
0
        public PartyListItem(GameObject self, SinglePlayer p)
        {
            player        = p;
            partyListItem = self;

            jobIcon = partyListItem.transform.Find("job icon").gameObject.GetComponent <Image>();
            if (player != null)
            {
                jobIcon.sprite = Constants.GameSystem.GetSpriteByStratPos(player.stratPosition);
            }

            hpGauge    = partyListItem.transform.Find("hp gauge").gameObject;
            hpFiller   = hpGauge.transform.Find("filler").gameObject.GetComponent <RectTransform>();
            hpValue    = hpGauge.transform.Find("value").gameObject.GetComponent <TextMeshProUGUI>();
            hpShield   = hpGauge.transform.Find("shield").gameObject;
            statuslist = partyListItem.transform.Find("status").gameObject;
        }
Example #25
0
    // Use this for initialization
    IEnumerator Start()
    {
        GameObject.Find("OverHeadCamera").GetComponent <OverHeadCameraController>().target = this.transform;

        if (GameObject.Find("Message") != null)
        {
            messageText = GameObject.Find("Message").GetComponent <Text>();
        }

        messageText.text = "3";
        yield return(new WaitForSeconds(1));

        messageText.text = "2";
        yield return(new WaitForSeconds(1));

        messageText.text = "1";
        yield return(new WaitForSeconds(1));

        messageText.text = "GO!";
        GetComponent <CarController>().canMove = true;

        NotificationCenter.DefaultCenter().AddObserver(this, "OnCarEnter");
        NotificationCenter.DefaultCenter().AddObserver(this, "OnCarScore");

        if (GameObject.Find("ScoreText") != null)
        {
            scoreText = GameObject.Find("ScoreText").GetComponent <Text>();
        }
        if (GameObject.Find("TimerText") != null)
        {
            timerText = GameObject.Find("TimerText").GetComponent <Text>();
        }
        if (GameObject.Find("Message") != null)
        {
            messageText = GameObject.Find("Message").GetComponent <Text>();
        }

        singlePlayer = new SinglePlayer();
        singlePlayer.SetNotificationInterface(this);

        yield return(new WaitForSeconds(1));

        messageText.text = "";
        StartCoroutine(Run());
    }
Example #26
0
        public TargetInfoClass(GameObject targetInfoGO, SinglePlayer controlledPlayer)
        {
            this.controlledPlayer = controlledPlayer;

            this.targetInfoGO = targetInfoGO;

            GameObject hpFrame = targetInfoGO.transform.Find("hp frame").gameObject;

            hpMask    = hpFrame.transform.Find("hp mask").gameObject;
            bossName  = hpFrame.transform.Find("boss name").GetComponent <TextMeshProUGUI>();
            hpPercent = hpFrame.transform.Find("hp percent").GetComponent <TextMeshProUGUI>();

            statusListGO = targetInfoGO.transform.Find("boss status list").gameObject;

            castFrame = targetInfoGO.transform.Find("cast frame").gameObject;
            castMask  = castFrame.transform.Find("cast mask").gameObject;
            moveName  = castFrame.transform.Find("move name").GetComponent <TextMeshProUGUI>();
            Update();
        }
Example #27
0
    public Player CheckRoundResult()
    {
        SinglePlayer winer = null;
        bool         isWin = !_player.GetIsRoundFailed();

        if (isWin)
        {
            _player.ScoreAdd(_timeBar.GetMultiplierTypeDependingOnTheReaction(), _scoreNumber);
            StartCoroutine(ShowResultRoundText("Excellent", isWin));
            winer = _player;
        }
        else
        {
            StartCoroutine(ShowResultRoundText("Mistake", isWin));
            _player.ScoreAdd(Multiplier.MultiplierType.Wrong);
            OnRoundLoseEvent?.Invoke();
        }
        return(winer);
    }
Example #28
0
        //What if we did a static constructor that got us all the nessesary delegates?

        public static SinglePlayer CreateGame(
            SinglePlayer.AdjustButtonStatus adjustButtonStatus,
            SinglePlayer.UpdateImageSource updateImageSource)
        {
            SinglePlayer output;

            if (Setting == Modes.SP)
            {
                output = new SinglePlayer(adjustButtonStatus, updateImageSource);
            }
            else if (Setting == Modes.MP)
            {
                output = new MultiPlayer(adjustButtonStatus, updateImageSource);
            }
            else
            {
                output = new AiPlayer(adjustButtonStatus, updateImageSource);
            }
            return(output);
        }
        public void BuildsSinglePlayer()
        {
            List<IPlayer> collection = new List<IPlayer>();

            var p1 = Substitute.For<INonNpc>();
            p1.Slot.Returns(1);
            collection.Add(p1);

            var p2 = Substitute.For<INonNpc>();
            p2.Slot.Returns(2);
            collection.Add(p2);

            var ai = Substitute.For<IAi>();
            ai.Slot.Returns(2);
            collection.Add(ai);

            var singlePlayer = new SinglePlayer(collection);

            Assert.AreEqual(true,singlePlayer.Players.ElementAt(0) is INonNpc);
            Assert.AreEqual(true, singlePlayer.Players.ElementAt(1) is IAi);
            Assert.AreEqual(2, singlePlayer.Players.Count());
        }
Example #30
0
    public virtual void GenerateEntities()
    {
        Debug.Log("Scenario GenerateEntities Start");
        Camera battleCam = GameObject.Find("battle main camera").GetComponent <Camera>();
        // Init Controlled Player
        GameObject playerPrefab = Resources.Load <GameObject>(Constants.Battle.PlayerPrefabPath);

        for (int i = 0; i < Constants.Battle.NumPlayers; i++)
        {
            GameObject pObj = Instantiate(playerPrefab, new Vector3(3, 1, -4), Quaternion.identity);
            // Debug.Log($"Scenario GenerateEntities: Generate Player {i} in Scene {pObj.scene.name}.");
            pObj.GetComponent <ControllerSystem>().mainCam = battleCam;
            SinglePlayer p = pObj.transform.Find("Player 0").GetComponent <SinglePlayer>();
            p.stratPosition   = (SinglePlayer.StratPosition)i;
            p.gameObject.name = Constants.Battle.PlayerGOPrefix + p.stratPosition.ToString();
            pObj.name         = $"{Constants.Battle.PlayerGOPrefix} parent {p.stratPosition.ToString()}";
            // make the canvas face the camera
            p.moveInfoCanvas.worldCamera = battleCam;
            // Set Position text
            Transform       stratPosTextGO = p.moveInfoCanvas.transform.Find("strat pos text");
            TextMeshProUGUI text           = stratPosTextGO.GetComponent <TextMeshProUGUI>();
            text.text  = p.stratPosition.ToString();
            text.color = Constants.Battle.GetPosColor(p.stratPosition);
            SceneManager.MoveGameObjectToScene(pObj, SceneManager.GetSceneByName("Battle"));
            if (p.stratPosition == gameManager.playerPos)
            {
                p.controllable   = true;
                controlledPlayer = p;
            }
            else
            {
                p.controllable = false;
            }
            players.Add(p);
        }
    }
Example #31
0
 private void Awake()
 {
     _SP = this;
 }
        public void ThrowWithOnePlayerSinglePlayer()
        {
            List<IPlayer> collection = new List<IPlayer>();

            var p1 = Substitute.For<INonNpc>();
            p1.Slot.Returns(1);
            collection.Add(p1);
            Assert.Throws(typeof(InvalidOperationException), () => {
                var singlePlayer = new SinglePlayer(collection);
            });
        }