private void Construct(IGameStatusObserver gameStatusObserver, IGameMaster gameMaster) { GameStatusObserver = gameStatusObserver.CheckNull(); GameMaster = gameMaster.CheckNull(); GameMaster.OnCompleteGame += OnCompleteGameHandler; }
public override IMessage Process(IGameMaster gameMaster) { if (PlayerGuid == default(Guid)) { //Console.WriteLine("Unsigned request"); return(null); } var optionalSenderId = gameMaster.Authorize(PlayerGuid); if (!optionalSenderId.HasValue) { //Console.WriteLine("Unrecognized player"); return(null); } var senderId = optionalSenderId.Value; //Console.WriteLine($"Player {senderId} request to {WithPlayerId}"); if (!gameMaster.PlayerIdExists(WithPlayerId)) { return(new RejectKnowledgeExchangeMessage(senderId, WithPlayerId, null, true)); } gameMaster.EvaluateAction(GetActionInfo()); return(null); }
public string[] Process(IGameMaster gameMaster) { if (gameMaster.GameEndDate > ReceiveDate || gameMaster.GameStartDate > ReceiveDate || gameMaster.IsGameFinished) { return(null); } var messages = new string[] { gameMaster.HandlePlacePieceRequest(this)?.Serialize() }; gameMaster.LockObject(); try { if (gameMaster.IsGameFinished && gameMaster.State == GameMasterState.GameResolved) { var newGameMessages = gameMaster.RestartGame(); messages = messages.Union(newGameMessages).ToArray(); } } catch (Exception e) { } finally { gameMaster.UnlockOject(); } return(messages); }
public string[] Process(IGameMaster gameMaster) { if (gameMaster.GameEndDate > ReceiveDate || gameMaster.GameStartDate > ReceiveDate || gameMaster.IsGameFinished) { return(null); } return(gameMaster.HandleData(this)); }
public string[] Process(IGameMaster gameMaster) { if (gameMaster.GameEndDate > ReceiveDate || gameMaster.GameStartDate > ReceiveDate || gameMaster.IsGameFinished) { return(null); } return(new string[] { gameMaster.HandleAuthorizeKnowledgeExchange(this)?.Serialize() }); }
public string[] Process(IGameMaster gameMaster) { if (gameMaster.GameEndDate > ReceiveDate || gameMaster.GameStartDate > ReceiveDate || gameMaster.IsGameFinished) { return(null); } return(new string[] { gameMaster.HandleSuggestActionResponse(this)?.Serialize() }); }
public string[] Process(IGameMaster gameMaster) { if (gameMaster.GameEndDate > ReceiveDate || gameMaster.GameStartDate > ReceiveDate || gameMaster.IsGameFinished) { return(null); } return(new string[] { gameMaster.HandleDiscoverRequest(this)?.Serialize() }); }
public GameMasterController(IGameMaster gm) { var GM = gm as GameArea.GameMaster; logger = new Logger.Logger(GM); clientSocket = new TcpClient(); GameMaster = gm; messageManager = new MessageManager(this); }
public GamePresenter(IBoardView boardView, IGameMaster gameMaster, IBoardModel boardModel, IBoardViewModel boardViewModel) { BoardView = boardView.CheckNull(); GameMaster = gameMaster.CheckNull(); BoardModel = boardModel.CheckNull(); BoardViewModel = boardViewModel.CheckNull(); }
public AiRandomGameControl(IBoardModel boardModel, IFigureModel figureModel, IGameMaster gameMaster, IGameSwitcherTurn gameSwitcherTurn) { BoardModel = boardModel.CheckNull(); FigureModel = figureModel.CheckNull(); GameMaster = gameMaster.CheckNull(); GameSwitcherTurn = gameSwitcherTurn.CheckNull(); }
public CompanionManager(IGameMaster gameMaster, DialogueDriver dialogueDriver, HintDriver hintDriver, CompanionDisplay hud, Config config, IMonitor monitor) { this.GameMaster = gameMaster ?? throw new ArgumentNullException(nameof(gameMaster)); this.dialogueDriver = dialogueDriver ?? throw new ArgumentNullException(nameof(dialogueDriver)); this.hintDriver = hintDriver ?? throw new ArgumentNullException(nameof(hintDriver)); this.Hud = hud ?? throw new ArgumentNullException(nameof(hud)); this.monitor = monitor ?? throw new ArgumentNullException(nameof(monitor)); this.PossibleCompanions = new Dictionary <string, CompanionStateMachine>(); this.Config = config ?? throw new ArgumentNullException(nameof(config)); this.dialogueDriver.DialogueChanged += this.DialogueDriver_DialogueChanged; this.hintDriver.CheckHint += this.HintDriver_CheckHint; }
public Player(TeamColour team, PlayerRole role = PlayerRole.member, PlayerSettingsConfiguration settings = null, IPlayerController gameController = null, string _guid = "TEST_GUID", IGameMaster gm = null, ulong id = 0) { Settings = settings; gameMaster = gm; Team = team; GUID = _guid; Role = role; Location = new GameArea.GameObjects.Location(0, 0); Controller = gameController; State = AgentState.SearchingForGame; LastMoveTaken = MoveType.up; ID = id; MyPlayerKnowledgeExchangeQueue = new List <KnowledgeExchangeRequestAgent>(); OtherPlayerKnowledgeExchangeQueue = new List <KnowledgeExchangeRequestAgent>(); }
public virtual void Initialize() { GameTime = new GameTime(); GameBoard = new GameBoard(800, 800); ComponentService = new ComponentService(); AiStore = new ConcurrentMemoryStore<string, IArtificialIntelligence>(); MoveUnitService = new MoveUnitService(ComponentService,AiStore); Agent = new Agent(new EventValidationService(GameBoard, ComponentService), ComponentService, MoveUnitService, AiStore, GameTime); Agent.Register<ArtificialIntelligenceSpa>(); Agent.Register<ArtificialIntelligenceNku>(); Agent.Register<ArtificialIntelligenceNhu>(); Agent.Register<ArtificialIntelligenceJfi>(); GameMaster = new GameMaster(Agent, GameBoard); }
public void LoadQuests(IGameMaster master) { foreach (var questRaw in this.GetQuestsSource()) { var definition = questRaw.Value.Split('/'); CustomQuest quest; if (definition[0] == "Recruitment") { quest = new RecruitmentQuest(master, this.contentLoader) { CustomTypeId = RecruitmentQuest.TYPE_ID, }; } else { quest = new CustomQuest(); } quest.Name = $"adventure{questRaw.Key}"; this.SetQuestDetails(quest, definition); this.questApi.RegisterQuest(quest); } }
public void SetUp() { var boardModel = Substitute.For <IBoardModel>(); GameModel = Substitute.For <IGameModel>(); var figureModel = Substitute.For <IFigureModel>(); var figurePostTurnLogicManager = Substitute.For <IFigurePostTurnLogicManager>(); var gameMoveTurnManager = Substitute.For <IGameMoveTurnManager>(); var figureController = new FigureController(figureModel); GameMaster = new GameMaster(figureController, boardModel, GameModel, figurePostTurnLogicManager, gameMoveTurnManager); _figure = new FigureEntity(Substitute.For <IFigureDef>(), GameTeam.White); _cell = new BoardCell(BoardCellCol.ColA, BoardCellRow.Row1, 0, 0) { Figure = _figure }; _moveToCell = new BoardCell(BoardCellCol.ColA, BoardCellRow.Row2, 0, 0) { Status = BoardCellStatus.AvailableForMove }; }
public override IMessage Process(IGameMaster gameMaster) { throw new ApplicationFatalException("Failed to register game"); }
public string[] Process(IGameMaster gameMaster) { gameMaster.State = GameMasterState.GameOver; return(new string[] { }); }
static GameMaster() { RankServer.Instance.UpdateManager.InitStaticImpl(typeof(GameMaster), typeof(GameMasterDefaultImpl), o => { mImpl = (IGameMaster)o; }); }
public override IMessage Process(IGameMaster gameMaster) { gameMaster.HandlePlayerDisconnection(PlayerId); return(null); }
public string[] Process(IGameMaster gameMaster) { gameMaster.HandlePlayerDisconnectedRequest(this); return(new string[] { }); }
private void Construct(IGameMaster gameMaster, IGameMoveTurnManager gameMoveTurnManager) { GameMaster = gameMaster.CheckNull(); GameMoveTurnManager = gameMoveTurnManager.CheckNull(); }
public string[] Process(IGameMaster gameMaster) { return(gameMaster.HandleJoinGameRequest(this)); }
public abstract IMessage Process(IGameMaster gameMaster);
public string[] Process(IGameMaster gameMaster) { gameMaster.HandlerErrorMessage(this); return(new string[] { }); }
public RecruitmentQuest(IGameMaster gameMaster, IContentLoader contentLoader) : base() { this.GameMaster = gameMaster; this.ContentLoader = contentLoader; }
public IPlayer InitializeGameForPlayer(IPlayer player, IGameMaster gameMaster) { //places adv var place1 = gameMaster.CreateChallenge(player); place1.Title = Adventures.IntroduceYourselfChallengeTitle + Environment.NewLine + Adventures.IntroduceYourselfChallengeDescription; place1.Order = 0; var place2 = gameMaster.CreateChallenge(player); place2.Title = Adventures.LunchChallengeTitle + Environment.NewLine + Adventures.LunchChallengeDescription; place2.Order = 1; var place3 = gameMaster.CreateChallenge(player); place3.Title = Adventures.SelfieChallangeTitle + Environment.NewLine + Adventures.SelfieChallangeDescription; place3.Order = 2; var placesChallenges = new List <IChallenge>() { place1, place2, place3 }; var placesAdventure = gameMaster.CreateAdventure(player, placesChallenges); placesAdventure.Title = Adventures.PlacesAdventureTitle; placesAdventure.FinishedText = Adventures.PlacesAdventureFinished; placesAdventure.FinishedImageUrl = Images.PlacesBadge; placesAdventure.Order = 0; //food adv var foodCh1 = gameMaster.CreateChallenge(player); foodCh1.Title = Adventures.CoffieWithChallengeTitle + Environment.NewLine + Adventures.CoffieWithChallengeDescription; foodCh1.Order = 0; var foodCh2 = gameMaster.CreateChallenge(player); foodCh2.Title = Adventures.ShopChallengeTitle + Environment.NewLine + Adventures.ShopChallengeDescription; foodCh2.Order = 1; var foodCh3 = gameMaster.CreateChallenge(player); foodCh3.Title = Adventures.BeerChallengeTitle + Environment.NewLine + Adventures.BeerChallengeDescription; foodCh3.Order = 2; var adv1l = new List <IChallenge>() { foodCh1, foodCh2, foodCh3 }; var foodAdventure = gameMaster.CreateAdventure(player, adv1l); foodAdventure.Title = Adventures.FoodAdventureTitle; foodAdventure.FinishedText = Adventures.FoodAdventureFinished; foodAdventure.FinishedImageUrl = Images.FoodBadge; foodAdventure.Order = 1; //people adv var people1 = gameMaster.CreateChallenge(player); people1.Title = Adventures.IntroduceYourselfChallengeTitle + Environment.NewLine + Adventures.IntroduceYourselfChallengeDescription; people1.Order = 0; var people2 = gameMaster.CreateChallenge(player); people2.Title = Adventures.LunchChallengeTitle + Environment.NewLine + Adventures.LunchChallengeDescription; people2.Order = 1; var people3 = gameMaster.CreateChallenge(player); people3.Title = Adventures.SelfieChallangeTitle + Environment.NewLine + Adventures.SelfieChallangeDescription; people3.Order = 2; var peopleChallenges = new List <IChallenge>() { people1, people2, people3 }; var peopleAdventure = gameMaster.CreateAdventure(player, peopleChallenges); peopleAdventure.Title = Adventures.PeopleAdventureTitle; peopleAdventure.FinishedText = Adventures.PeopleAdventureFinished; peopleAdventure.FinishedImageUrl = Images.PeopleBadge; peopleAdventure.Order = 2; player.GamesHistory = new List <IAdventure>() { peopleAdventure, placesAdventure, foodAdventure }; ((Player)player).GameMaster = (GameMaster)gameMaster; return(player); }
public override IMessage Process(IGameMaster gameMaster) { gameMaster.SetGameId(GameId); return(null); }
public override IMessage Process(IGameMaster gameMaster) { var result = gameMaster.EvaluateAction(GetActionInfo()); return(DataMessage.FromBoardDataOverridingTimestamps(result.data, result.isGameFinished)); }
public string[] Process(IGameMaster gameMaster) { gameMaster.HandleConfirmGameRegistration(this); return(new string[] { }); }
public override IMessage Process(IGameMaster gameMaster) { throw new NotImplementedException(); }
public string[] Process(IGameMaster gameMaster) { throw new NotImplementedException(); }