public override void Update() { _hand1?.Update(); _hand2?.Update(); switch (CurrentState) { case KanturuBattleOfMayaState.Maya1: case KanturuBattleOfMayaState.Maya2: case KanturuBattleOfMayaState.Maya3: case KanturuBattleOfMayaState.Notify1: case KanturuBattleOfMayaState.Start1: case KanturuBattleOfMayaState.Start2: case KanturuBattleOfMayaState.Start3: _manager.SendAll(new SKanturuMonsterUserCount { MonsterCount = (byte)(_manager.MonsterCount() - 1), UserCount = _manager.Count }); if (!_manager.CanRun()) { _manager.FailState = true; Trigger(KanturuBattleOfMayaState.End); } if ( (CurrentState == KanturuBattleOfMayaState.Start1 || CurrentState == KanturuBattleOfMayaState.Start2 || CurrentState == KanturuBattleOfMayaState.Start3) && _manager.MonsterCount() <= 1) { Trigger(CurrentState + 1); } break; } base.Update(); }
private void UpdateScore(int i, int j) { var list1 = Enumerate(new Ply(i, 0), Direction.Right).ToList(); list1.Insert(0, board[i, 0]); patternManager.Update(list1, LineType.Horizontal, i); var list2 = Enumerate(new Ply(0, j), Direction.Down).ToList(); list2.Insert(0, board[0, j]); patternManager.Update(list2, LineType.Vertical, j); if (i > j) { var list3 = Enumerate(new Ply(i - j, 0), Direction.DownRight).ToList(); list3.Insert(0, board[i - j, 0]); patternManager.Update(list3, LineType.Diagonal, Position.BoardSize - 1 + i - j); } else { var list4 = Enumerate(new Ply(0, j - i), Direction.DownRight).ToList(); list4.Insert(0, board[0, j - i]); patternManager.Update(list4, LineType.Diagonal, Position.BoardSize - 1 + i - j); } if (i + j < Position.BoardSize) { var list4 = Enumerate(new Ply(i + j, 0), Direction.UpRight).ToList(); list4.Insert(0, board[i + j, 0]); patternManager.Update(list4, LineType.AntiDiagonal, i + j); } else { var list5 = Enumerate(new Ply(Position.BoardSize - 1, i + j - (Position.BoardSize - 1)), Direction.UpRight).ToList(); list5.Insert(0, board[Position.BoardSize - 1, i + j - (Position.BoardSize - 1)]); patternManager.Update(list5, LineType.AntiDiagonal, i + j); } }