Ejemplo n.º 1
0
 //------------------------------
 //向房主请求pick一张牌.. 如果同意才pick那张牌
 //-----------------------------
 public void RequestInitialPick(Transform brick)
 {
     print("RequestInitialPick masterID is " + _client.CurrentRoom.MasterClientId);
     print("And my ID is " + _myID);
     //如果我不是房主 向房主请求
     if (_client.CurrentRoom.MasterClientId != _myID)
     {
         int[] msg = { _myID, AllBricks.IndexOf(brick) };
         _client.OpRaiseEvent(MyEventCode.RequestInitialPick, msg
                              , true, RaiseEventOptions.Default);
     }
     //如果我是房主..就自己做判断,然后将结果Confirm给其他玩家
     else
     {
         //该棋子unOccupied confirm 给所有其他玩家
         if (UnOccupiedBricks.Contains(brick))
         {
             //可以移动这张牌 于是移动之
             AUserPickABrick(_myID, brick);
             //通知其他玩家
             int[] msg = { _myID, AllBricks.IndexOf(brick) };
             _client.OpRaiseEvent(MyEventCode.ConfirmInitialPick, msg
                                  , true, RaiseEventOptions.Default);
             //拿齐了四个
             if (Decks[_myDeckIndex].Count >= 4)
             {
                 //状态进入整理自己的牌
                 GameState.Instance.CurrentState = GameState.State.Adjust;
                 PostInitialPick();
             }
         }
     }
 }
Ejemplo n.º 2
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            AllBricks = await _context.Bricks
                        .ToListAsync();

            Brick = await _context.Bricks
                    .Include(c => c.BrickCategories)
                    .Include(p => p.Children)
                    .Include(d => d.Parents)
                    .FirstOrDefaultAsync(m => m.Id == id);


            if (Brick == null)
            {
                return(NotFound());
            }



            AllCategories = await _context.Categories.OrderBy(x => x.Name).ToListAsync();

            Categories = new SelectList(AllCategories, nameof(Category.Id), nameof(Category.Name));
            Children   = new SelectList(AllBricks.Where(x => !(x.Id == this.Brick.Id)), nameof(Brick.Id), nameof(Brick.Name));
            Parents    = new SelectList(AllBricks.Where(x => !(x.Id == this.Brick.Id)), nameof(Brick.Id), nameof(Brick.Name));



            CategorySelect = Brick.BrickCategories.Select(x => x.CategoryId).ToTwoArrays(out categorySelectionOrig);
            ChildrenSelect = Brick.Children.Select(x => x.ChildId).ToTwoArrays(out childrenSelectOrig);
            ParentsSelect  = Brick.Parents.Select(x => x.BrickId).ToTwoArrays(out parentsSelectOrig);

            TempData.Clear();

            TempData.Add(nameof(categorySelectionOrig), categorySelectionOrig);
            TempData.Add(nameof(childrenSelectOrig), childrenSelectOrig);
            TempData.Add(nameof(parentsSelectOrig), parentsSelectOrig);


            return(Page());
        }