コード例 #1
0
        public void TryWatchMe()
        {
            if (isWatthing)
            {
                return;
            }
            isWatthing = true;

            Task.Run(async() =>
            {
                AutomuteUsPlugin.Log(Game.TAG, $"Started watching player #{ClientPlayer.Client.Id}.");

                var lastColor = ClientPlayer.Character.PlayerInfo.ColorId;

                while (isWatthing && IsConnected)
                {
                    if (ClientPlayer.Character.PlayerInfo.ColorId != lastColor)
                    {
                        GamesManager.OnPlayerChanged(Game.gameCode, ClientPlayer.Character.PlayerInfo, PlayerAction.ChangedColor);

                        lastColor = ClientPlayer.Character.PlayerInfo.ColorId;
                    }

                    await Task.Delay(TimeSpan.FromMilliseconds(5000));
                }

                AutomuteUsPlugin.Log(Game.TAG, $"Stopped watching player #{ClientPlayer.Client.Id}.");
            });
        }
コード例 #2
0
 public void Init(GamesManager gamesManager)
 {
     this.gamesManager         = gamesManager;
     Events.OnKillEnemy       += OnKillEnemy;
     Events.OnProgressBarDone += OnProgressBarDone;
     Events.OnMouthOpen       += OnMouthOpen;
 }
コード例 #3
0
ファイル: Game.cs プロジェクト: xTCry/automuteus-plugin
        public void OnPlayerDestroyed(IPlayerDestroyedEvent e)
        {
            GamesManager.OnPlayerChanged(e.Game.Code, e.PlayerControl.PlayerInfo, PlayerAction.Left);
            _players.TryRemove(e.ClientPlayer.Client.Id, out _);

            CheckUpdate(e);
        }
コード例 #4
0
ファイル: Game.cs プロジェクト: xTCry/automuteus-plugin
        public void OnPlayerMurder(IPlayerMurderEvent e)
        {
            AutomuteUsPlugin.Log("PlayerMurder", $"Murder: ({e.PlayerControl.PlayerInfo.PlayerName}); Victim: ({e.Victim.PlayerInfo.PlayerName}); ");
            GamesManager.OnPlayerChanged(e.Game.Code, e.PlayerControl.PlayerInfo, PlayerAction.Died);

            CheckUpdate(e);
        }
コード例 #5
0
ファイル: Game.cs プロジェクト: xTCry/automuteus-plugin
        public void OnGameStarted(IGameStartedEvent e)
        {
            AutomuteUsPlugin.Log(TAG, "Game > started");
            GamesManager.OnGameStateChanged(e.Game.Code, GameState.TASKS);

            CheckUpdate(e);
        }
コード例 #6
0
        public void TestHandleGameTypes(string chosenGame, params Type[] messageTypes)
        {
            // TODO: check values in messages
            // TODO: check game state afterwards (need to expose static game state info)
            string          uid = "uid";
            GameTypeMessage gt  = new GameTypeMessage()
            {
                ChosenGame = chosenGame
            };

            if (messageTypes.Length > 0)
            {
                MessagePackets messages = GamesManager.Get().HandleGameTypes(uid, gt);

                Assert.IsTrue(Utils.VerifyMessagePackets(messages, messageTypes));

                foreach (MessagePacket m in messages.Messages)
                {
                    Assert.AreEqual(m.SendTo.Count(), 1);
                    Assert.AreEqual(m.SendTo.Single(), uid);
                }
            }
            else
            {
                Assert.ThrowsException <Exception>(() => GamesManager.Get().HandleGameTypes(uid, gt));
            }
        }
コード例 #7
0
    public void setPrefab(GameObject caller)
    {
        this.caller = caller;

        this.friends      = new List <string>();
        this.launchScript = GameObject.Find("SceneManager").GetComponent <GamesManager>() as GamesManager;
    }
コード例 #8
0
ファイル: Game.cs プロジェクト: xTCry/automuteus-plugin
        public void OnGameClose(IGameDestroyedEvent e)
        {
            AutomuteUsPlugin.Log(TAG, "Game > destroyed");

            BotConnected = false;
            GamesManager.OnGameStateChanged(e.Game.Code, GameState.MENU);
            AutomuteUsPlugin.gamesManager.RemoveGame(e);
        }
コード例 #9
0
ファイル: Game.cs プロジェクト: xTCry/automuteus-plugin
        public void OnGameEnded(IGameEndedEvent e)
        {
            GamesManager.OnGameStateChanged(e.Game.Code, GameState.LOBBY);
            GamesManager.OnJoinedLobby(e.Game.Code);

            needForceUpdate = true;
            CheckUpdate(e);
        }
コード例 #10
0
    public void OnlineMenu_StartOnlineGame(string opponent)
    {
        string nick = onlineNickname.text;

        PlayerNamesForGame.NicknameForOnlineGame = nick;
        PlayerNamesForGame.OpponentForOnlineGame = opponent;
        GamesManager.LoadOnlineGame();
    }
コード例 #11
0
ファイル: ARController.cs プロジェクト: KimHwanCheol/Core
 public void ClearStage()
 {
     // showClear = true;
     // showHUD = false;
     ClearUI.transform.GetChild(1).gameObject.GetComponent <Text>().text = GamesManager.GetInstance().stage.ToString();
     HUDUI.SetActive(false);
     ClearUI.SetActive(true);
     Invoke("ViewShop", 3f);
 }
コード例 #12
0
ファイル: PlayerManager.cs プロジェクト: KimHwanCheol/Core
 // Player의 HP 차감
 public void PlayerAttacked()
 {
     player.player_HP -= player.BulletPower;
     this.SetHPBar();
     if (player.player_HP <= 0)
     {
         GamesManager.GetInstance().GameOver();
     }
 }
コード例 #13
0
ファイル: EnemyArea.cs プロジェクト: KimHwanCheol/Core
    // 에너미가 죽었을 때 수신하는 함수.
    public void DeadEnemy()
    {
        this.AreaCount--;

        if (this.AreaCount <= 0)
        {
            GamesManager.GetInstance().ClearStage();
        }
    }
コード例 #14
0
    void Start()
    {
        this.mapScript = GameObject.Find("SceneManager").GetComponent <GamesManager>() as GamesManager;
        this.maps      = new List <Maps>();
        this.maps      = mapScript.GetCreatedMapsList();


        StartCoroutine(Test());
    }
コード例 #15
0
    private int CurrentDeckMenu_GetNextDeckId()
    {
        XDocument doc = XDocument.Load(GamesManager.GetApplicationPath() + "/Configuration/Configuration.xml");
        int       id  = int.Parse(doc.XPathSelectElement("root/DeckID").Value);           //nadi id

        doc.XPathSelectElement("root/DeckID").SetValue(id + 1);                           //povecaj ga za jedan

        doc.Save(GamesManager.GetApplicationPath() + "/Configuration/Configuration.xml"); //spremi novi id
        return(id);                                                                       //vrati id
    }
コード例 #16
0
        public void DoCz(HttpContext context)
        {
            string       GameId   = context.Request["GameId"].Trim();
            int          ServerId = int.Parse(context.Request["ServerId"].Trim());
            int          Type     = int.Parse(context.Request["Type"].Trim());
            float        Money    = float.Parse(context.Request["Money"].Trim());
            OrderManager om       = new OrderManager();
            GamesManager gm       = new GamesManager();
            string       PWD      = context.Request["PWD"].Trim();
            string       Bz       = context.Request["Bz"].Trim();
            string       UserList = context.Request["UserList"];

            string[] Result = UserList.Substring(0, UserList.LastIndexOf('|')).Split('|');
            if (mm.GetMasterByCz(GetUser(context).UserName, DESEncrypt.Md5(PWD, 32)) == null)
            {
                context.Response.Write("fali");
            }
            else
            {
                if (!string.IsNullOrEmpty(Bz))
                {
                    string ResHtml = "";
                    foreach (string UserName in Result)
                    {
                        Orders order = new Orders();
                        if (UserName != "undefined" && !string.IsNullOrEmpty(UserName.Trim()))
                        {
                            try
                            {
                                order       = om.GetOrder("J", GameId, ServerId, Type, 6, UserName, Money, GetUser(context).UserName);
                                order.State = 1;
                                order.Ip    = Bz;
                                if (om.AddOrder(order))
                                {
                                    ResHtml += "<span>您的订单<span style=\"color:Red\">" + order.OrderNo + "</span>已处理。<span style=\"color:Red\">" + gm.PayManager(order.OrderNo) + "</span></span><br/>";
                                }
                                else
                                {
                                    ResHtml += "<span>您的订单<span style=\"color:Red\">" + order.OrderNo + "</span>已处理。<span style=\"color:Red\">添加订单失败!</span></span><br/>";
                                }
                            }
                            catch (Exception e)
                            {
                                ResHtml += "<span>您的订单处理异常!<span style=\"color:Red\">" + e.Message + "</span><br/>";
                            }
                        }
                    }
                    context.Response.Write(ResHtml);
                }
                else
                {
                    context.Response.Write("BzIsNull");
                }
            }
        }
コード例 #17
0
ファイル: ARController.cs プロジェクト: KimHwanCheol/Core
 public void ResetGame()
 {
     GameOverUI.SetActive(false);
     HUDUI.SetActive(true);
     // showHUD = false;
     // showOver = false;
     // GameObject.Destroy(GameObject.Find("World"));
     PlayerManager.GetInstance().InitPlayerInformation();
     GamesManager.GetInstance().RestartStage();
     // this.MakeRespawn();
 }
コード例 #18
0
    //--- BOT MENU ---
    public void BotMenu_StartGameBtn()
    {
        string nickname = botNickname.text;

        if (!string.IsNullOrEmpty(nickname))
        {
            PlayerNamesForGame.NicknameForBotGame = nickname;
        }

        GamesManager.LoadBotGame();
    }
コード例 #19
0
        public GameUserInfo GetGameUserInfo()
        {
            GamesManager gm       = new GamesManager();
            int          GameId   = Convert.ToInt32(Request["GameId"]);
            int          UserId   = Convert.ToInt32(Request["UserId"]);
            int          ServerId = Convert.ToInt32(Request["ServerId"]);

            GameUserInfo gui = gm.GetGameUserInfo(GameId, UserId, ServerId);

            return(gui);
        }
コード例 #20
0
        public void OnGet()
        {
            var manager = GamesManager.GetGamesManager();

            NewGame = manager.GetGame(Request.Cookies["game-id"]);

            var playerId = Request.Cookies["player-id"];

            Int32.TryParse(playerId, out var id);
            IsCreator = id == NewGame.Owner.Id ? true : false;
        }
コード例 #21
0
    //Called as soon and the scene containing this is done building.
    void Start()
    {
        //Create the join arean popup and set deactive to have ready later
        joinArenaPrefab = Instantiate(popUp, new Vector3(540, 960, 0), Quaternion.identity, parent.transform);
        joinArenaPrefab.SendMessage("deactivateLiveArena");

        //Initialize the GamesMananger and the list to hold games
        this.gamesScript = GameObject.Find("SceneManager").GetComponent <GamesManager>() as GamesManager;
        this.games       = new List <Games>();

        //Call DB for active games.
        RequetActivGames();
    }
コード例 #22
0
ファイル: Game.cs プロジェクト: xTCry/automuteus-plugin
        public void OnPlayerSpawned(IPlayerSpawnedEvent e)
        {
            GamesManager.OnPlayerChanged(e.Game.Code, e.PlayerControl.PlayerInfo, PlayerAction.Joined);
            _players.TryAdd(e.ClientPlayer.Client.Id, new Player(e.ClientPlayer, this));

            if (BotConnected)
            {
                _ = ChatManager.SendServerMessage(e.PlayerControl, $"Hi, {e.PlayerControl.PlayerInfo.PlayerName}, " +
                                                  $"we're play by [add8e6ff]Discord [ffffffff]with [008080ff]AutometeUs!");
            }

            CheckUpdate(e);
        }
コード例 #23
0
    public virtual void Die()
    {
        GamesManager.AddToScore(Score);
        GamesManager.AddToKillStreak();

        int randomId = Random.Range(0, droppableItems.Count * 5);

        if (randomId < droppableItems.Count)
        {
            Instantiate(droppableItems[randomId], transform.position + new Vector3(0, 2, 0), Quaternion.identity);
        }
        Destroy(gameObject);
    }
コード例 #24
0
    private void CurrentDeckMenu_CreateDeckConfigDat()
    {
        XDocument doc = new XDocument(
            new XElement("root",
                         new XElement("DeckID", 0)
                         )
            );

        Directory.CreateDirectory(GamesManager.GetApplicationPath() + "/Configuration");
        string configPath = GamesManager.GetApplicationPath() + "/Configuration/Configuration.xml";

        File.WriteAllText(configPath, doc.ToString());
    }
コード例 #25
0
 private void InitClass(MainWindow window)
 {
     Debug.WriteLine("Initialize View Model ...");
     _view  = window;                                          // Save the window
     _timer = new GameTimer();                                 // Instantiate a new timer class
     _timer.GameTimerEvent += GameTimerEventHandler;           // Set the timer event handler
     _games = new GamesManager();                              // Instantiate a new game manager class
     _games.GamesManagerEvent += GamesManagerEventHandler;     // Set the event handler
     PuzzleComplete            = false;                        // Clear some flags
     GameInProgress            = false;
     StartButtonState          = StartButtonStateEnum.Disable; // Set the initial start button state to disabled
     EnableGameControls(false, false);                         // Disable the game controls and hide the grid
     _model = new GameModel(null);                             // Initialize the model with null
     LoadSettings();                                           // Load settings
 }
コード例 #26
0
ファイル: Game.cs プロジェクト: xTCry/automuteus-plugin
        public void CheckUpdate(IGameEvent e = null)
        {
            if (!needForceUpdate)
            {
                return;
            }
            needForceUpdate = false;

            SyncPlayers();

            foreach (var player in _players)
            {
                player.Value.TryWatchMe();
                GamesManager.OnPlayerChanged(e.Game.Code, player.Value.ClientPlayer.Character.PlayerInfo, PlayerAction.ForceUpdated);
            }
        }
コード例 #27
0
    void Start()
    {
        popUp = Instantiate(popupprefab, new Vector3(540, 960, 0), Quaternion.identity, parent.transform);
        popUp.SendMessage("deactivatePopUp");
        popUp.SendMessage("setPrefab", popUp);

        sessionPopUp = Instantiate(sessionNamePrefab, new Vector3(540, 960, 0), Quaternion.identity, parent.transform);
        sessionPopUp.SendMessage("deactivatePopUp");
        sessionPopUp.SendMessage("setPrefab", sessionPopUp);

        this.gamesScript = GameObject.Find("SceneManager").GetComponent <GamesManager>() as GamesManager;
        this.friends     = new List <Friends>();
        this.friends     = gamesScript.GetFriendsList();

        StartCoroutine(WaitToDisplay(1));
    }
コード例 #28
0
        static void Main(string[] args)
        {
            Console.WriteLine("启动程序");
            CheckConfigPath();
            ReadGameList();
            ReadPlayList();

            foreach (var item in playList)
            {
                Console.Write(string.Format("name:{0} ,time:{1} ,nextName:{2}\n", item.gameName, item.gameTime, item.nextGameName));
            }
            server = GameServer.Instance;
            mgr    = GamesManager.Instance;
            mgr.Init(playList);
            Console.ReadLine();
        }
コード例 #29
0
    public void PlayCard()
    {
        RectTransform myRectTransform = GetComponent <RectTransform>();

        if (CdField.childCount < 5)
        {
            transform.SetParent(CdField);
            TurnsManager.instance.EndPickPhase(myRectTransform);
            if (GamesManager.GetGameMode() == Enumerations.GameModes.Online && TurnsManager.instance.IsCurrentPlayerA())
            {
                string staticId      = myRectTransform.Find("CardStaticID").GetComponent <UnityEngine.UI.Text>().text;
                string serverMessage = "cardPlayed|" + staticId;
                ServerGameBehavior.SendMessage(serverMessage);
            }
        }
    }
コード例 #30
0
    //--- COOP MENU ---
    public void CoopMenu_StartGameBtn()
    {
        string nicknameA = coopNicknameA.text;
        string nicknameB = coopNicknameB.text;

        if (!string.IsNullOrEmpty(nicknameA))
        {
            PlayerNamesForGame.NicknameForCoopGameA = nicknameA;
        }
        if (!string.IsNullOrEmpty(nicknameB))
        {
            PlayerNamesForGame.NicknameForCoopGameB = nicknameB;
        }

        GamesManager.LoadCoopGame();
    }