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(); * }*/ }
public void Execute() { GameSence gameSence = ContainerBuilder.Resolve <GameSence>(); while (sprites.Count > 0) { Sprite sprite = sprites.Dequeue(); gameSence.RemoveSprite(sprite); } }
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); } }
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); } }
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()); } } }
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; } }
public CollisionSystem(GameSence scence) { this.scence = scence; }
public AutoAttachIntervalSystem(GameSence scence) { this.scence = scence; }
public KeywordSystem(Player player, GameSence sence) { this.player = player; this.sence = sence; }
public ListenDieSystem(Player player, GameSence gameSence) { this.player = player; this.gameSence = gameSence; }