//------------------------------ //向房主请求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(); } } } }
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()); }