public GameConductor(ChessGameState state) { _currentMovingTeam = state.CurrentMovingTeam; _isCheckMate = state.IsEnded; _smashed = state.LastGameMoveResult.AllSmashedFigures().ToList(); _moveManager = new MoveManager.MoveManager(state.LastGameMoveResult.GetBoard().GetCopy()); }
public Rover(Point point, Direction direction, string commands, IMoveManager moveManager) { Point = point; Direction = direction; MoveManager = moveManager; Commands = commands; }
public MoveAnalyzer(IMoveManager mm) { ResultSubject = new Subject <IMoveAnalyzerResult>(); MoveMgr = mm; MoveMgr.MoveStream.Subscribe(m => OnPriceBreak(m)); }
private void Awake() { _moveManager = GetComponent <IMoveManager>(); _gameBoard = GetComponent <GameBoard>(); _stats = GetComponent <IStatsView>(); _moveManager.OnTeamsRegisteredEvent += StartGame; _moveManager.OnReadyForNextMove += ReadyForNextMove; _moveManager.OnGameForfeit += OnGameForfeit; }
private GameManager(ICommandInterpreter commandInterpreter, ChessLogic logic, IMoveManager movementManager) { commandInterpreter.CommandReceived += CommandReceived; cmdInterpreter = commandInterpreter; chessLogic = logic; moveManager = movementManager; gameState = GameState.Ready; }
/// <summary> /// Serializes all controled movements without IFinishMovementReciever. /// </summary> /// <param name="rootElement">The parent element.</param> /// <param name="moveMgr">The MoveManager which has the movements.</param> private void SerializeAllMovements(XElement rootElement, IMoveManager moveMgr) { var element = new XElement("controledMovement"); rootElement.Add(element); foreach (var item in moveMgr.GetAllMovements()) { SerializeMovement(element, item); } }
public PositionManager(IMoveManager mm) { MoveMgr = mm; MoveAnalyzer = new MoveAnalyzer(mm); MoveMgr.BarStream.Subscribe(d => OnBarUpdate(d), err => OnBarError(err)); MoveAnalyzer.ResultStream.Subscribe(r => OnAnalyzerUpdate(r)); }
public IMoveAnalyzerResult Execute(IMoveManager moveMgr, IMove newMove) { IBarDatum barData = newMove.Start; List <ProspectiveIR> gamma = GammaAnalyzer.GetValues(false, barData); //gamma var irList = moveMgr.Highs .Where(b => b.High < barData.Low) .Select(h => h.High) .Distinct() .OrderBy(v => v) .ToList(); var irLowPoints = moveMgr.Lows .Where(b => b.Low < barData.Low) .Select(l => l.Low) .Distinct() .OrderBy(v => v) .ToList(); irList.AddRange(irLowPoints.Where(v => !irList.Contains(v)).ToList()); var tempList = new List <double>(); if (barData.Low > moveMgr.PreviousMove.Start.High) { List <double> APrevious = AFromBar(moveMgr.PreviousMove.Start); foreach (var a in APrevious) { var possibles = irList.Where(v => Math.Abs(a - v) < 5).ToList(); tempList.AddRange(possibles); } } else { tempList = irList; } List <ProspectiveIR> resultList = new List <ProspectiveIR>(); foreach (var g in gamma) { var possible = tempList.Where(t => Math.Abs(g.Price - t) < 5).ToList().Min(); resultList.Add(new ProspectiveIR(g.Degrees, possible)); } MoveAnalyzerResult result = new MoveAnalyzerResult(barData, resultList); return(result); }
/// <summary> /// Initializes the object and all control elements of the game. /// </summary> private GameObjectManager() { teamMgr = new TeamManager(); fightMgr = new FightManager(); objectCreator = new ObjectCreator(); moveMgr = new MoveManager(); groupMgr = new GroupManager(); propertyMgr = new PropertyManager(); hitTest = new HitTest(); solarSystemMgr = new SolarSystemManager(); gameSerializer = new GameSerializer(); }
/// <summary> /// Destroys the current game (mission) and sets a new empty control elements of the game. /// </summary> public void DestroyGame() { // Destroys targeted group (destroys pointers). groupMgr.UntargetGroup(); // Destroys all object in the game. foreach (var item in objectCreator.GetInicializedSolarSystems()) { item.Destroy(); } // Creates a new empty control elements of the game. teamMgr = new TeamManager(); fightMgr = new FightManager(); objectCreator = new ObjectCreator(); moveMgr = new MoveManager(); groupMgr = new GroupManager(); propertyMgr = new PropertyManager(); hitTest = new HitTest(); solarSystemMgr = new SolarSystemManager(); }
public GameConductor() { _moveManager = new MoveManager.MoveManager(); _currentMovingTeam = TeamColor.White; _smashed = new List <Figure>(); }
public IMoveAnalyzerResult Execute(IMoveManager moveMgr, IMove newMove) { // this is for a long break: // if start is below A, then group A that matches a previous IR // otherwise group A from previous start. Previous start will the the high of preceding downtrend // lets see what this looks like without that wrinkle // List<double> AFromStart = AFromBar(newMove.Start); IBarDatum barData = newMove.Start; List <ProspectiveIR> gamma = GammaAnalyzer.GetValues(true, barData); //gamma // now get union of Highs and lows from MoveMgr var irList = moveMgr.Highs .Where(b => b.High > barData.High) .Select(h => h.High) .Distinct() .OrderBy(v => v) .ToList(); var irLowPoints = moveMgr.Lows .Where(b => b.Low > barData.High) .Select(l => l.Low) .Distinct() .OrderBy(v => v) .ToList(); irList.AddRange(irLowPoints.Where(v => !irList.Contains(v)).ToList()); var tempList = new List <double>(); if (barData.High < moveMgr.PreviousMove.Start.Low) { List <double> APrevious = AFromBar(moveMgr.PreviousMove.Start); foreach (var a in APrevious) { var possibles = irList.Where(v => Math.Abs(a - v) < 5).ToList(); tempList.AddRange(possibles); } } else { tempList = irList; } List <ProspectiveIR> resultList = new List <ProspectiveIR>(); foreach (var g in gamma) { var possible = tempList.Where(t => Math.Abs(g.Price - t) < 5).ToList().Min(); resultList.Add(new ProspectiveIR(g.Degrees, possible)); } MoveAnalyzerResult result = new MoveAnalyzerResult(barData, resultList); return(result); }
public Rover(IMoveManager moveManager, Position position) { _moveManager = moveManager; _position = position; }