Esempio n. 1
0
        private static void OnEnter(MsgBase msgBase)
        {
            MsgEnter        msgEnter  = (MsgEnter)msgBase;
            List <MsgEnter> players   = msgEnter.players;
            GameSence       gameSence = ContainerBuilder.Resolve <GameSence>();


            //如果是第一次加入 开始游戏并获取列表
            //如果是别人加入,则新增一个player

            /*  if (gameSence.isStrat)
             * {
             *    Player player = new Player(100, msgEnter.x, msgEnter.y, Convert.ToChar(msgEnter.style));
             *    player.Id = msgEnter.playId;
             *    gameSence.AddSprite(player);
             * }
             * else
             * {
             *    foreach (MsgEnter enter in players)
             *    {
             *        if (enter.playId != msgEnter.playId)
             *        {
             *            Player player = new Player(100, enter.x, enter.y, Convert.ToChar(enter.style));
             *            player.Id = enter.playId;
             *            gameSence.AddSprite(player);
             *        }
             *    }
             *    gameSence.isStrat = true;
             *    gameSence.Handle();
             * }*/
        }
Esempio n. 2
0
        public void Execute()
        {
            GameSence gameSence = ContainerBuilder.Resolve <GameSence>();

            while (sprites.Count > 0)
            {
                Sprite sprite = sprites.Dequeue();
                gameSence.RemoveSprite(sprite);
            }
        }
Esempio n. 3
0
        private static void OnLeave(MsgBase msgBase)
        {
            MsgLeave  msgLeave  = (MsgLeave)msgBase;
            GameSence gameSence = ContainerBuilder.Resolve <GameSence>();
            Sprite    spr       = gameSence.sprites.Where(sprite => sprite.Id == msgLeave.playId).FirstOrDefault();

            if (spr != null)
            {
                SpriteDestorySystem spriteDestorySystem = SpriteDestorySystem.GetSpriteDestorySystem();
                spriteDestorySystem.sprites.Enqueue(spr);
            }
        }
Esempio n. 4
0
        private static void OnAttack(MsgBase msgBase)
        {
            MsgAttack     msgAttack = (MsgAttack)msgBase;
            GameSence     gameSence = ContainerBuilder.Resolve <GameSence>();
            List <Sprite> sprites   = gameSence.sprites;
            Sprite        sprite    = sprites.Where(spirte => spirte.Id == msgAttack.playId).FirstOrDefault();

            if (sprite != null)
            {
                Player player = sprite as Player;
                player.attach(gameSence);
            }
        }
Esempio n. 5
0
        private static void OnMove(MsgBase msgBase)
        {
            GameSence gameSence = ContainerBuilder.Resolve <GameSence>();
            MsgMove   msgMove   = (MsgMove)msgBase;

            System.Collections.Generic.List <Sprite> sprites = gameSence.sprites;
            foreach (var item in sprites)
            {
                if (item.Id == msgMove.spriteId)
                {
                    Debug.WriteLine("client move id : {0} , x :{1},y:{2}", msgMove.spriteId, msgMove.x, msgMove.y);
                    item.Position.X         = msgMove.x;
                    item.Position.Y         = msgMove.y;
                    item.Velocity.Veloctity = Enum.Parse <Veloctity>(msgMove.veloctity.ToString());
                }
            }
        }
Esempio n. 6
0
        private static void OnStartBattle(MsgBase msgBase)
        {
            MsgStartBattle msg = (MsgStartBattle)msgBase;

            if (msg.code == HttpStatusCode.OK)
            {
                GameSence gameSence = ContainerBuilder.Resolve <GameSence>();

                List <MsgStartBattle.StartPlay> startPlays = msg.startPlays;
                foreach (var item in startPlays)
                {
                    Player player = new Player(item.Id, 100, 50, item.X, item.Y, 'x', SwichColor(item.Index));
                    gameSence.AddSprite(player);
                }
                gameSence.Load();
                ScenceController.curScence = gameSence;
            }
        }
Esempio n. 7
0
 public CollisionSystem(GameSence scence)
 {
     this.scence = scence;
 }
Esempio n. 8
0
 public AutoAttachIntervalSystem(GameSence scence)
 {
     this.scence = scence;
 }
Esempio n. 9
0
 public KeywordSystem(Player player, GameSence sence)
 {
     this.player = player;
     this.sence  = sence;
 }
Esempio n. 10
0
 public ListenDieSystem(Player player, GameSence gameSence)
 {
     this.player    = player;
     this.gameSence = gameSence;
 }