private void EvaluateResult(VuforiaObjectsController redController, VuforiaObjectsController blueController) { Type blueType = blueController.GetType(); Type redType = redController.GetType(); if (blueType == redType) { _currentResult = Result.Draw; } else { if (blueType == typeof(controladorSiquiero)) { _currentResult = redType == typeof(controladorYoshi) ? Result.BlueWin : Result.RedWin; } else if (blueType == typeof(controladorYoshi)) { _currentResult = redType == typeof(controladorDCA) ? Result.BlueWin : Result.RedWin; } else if (blueType == typeof(controladorDCA)) { _currentResult = redType == typeof(controladorSiquiero) ? Result.BlueWin : Result.RedWin; } } if (_currentResult == Result.BlueWin) { _blueScore++; } else if (_currentResult == Result.RedWin) { _redScore++; } UpdateScoreView(); }
private void EvaluateGame() { List <VuforiaObjectsController> controllerOnTracking = new List <VuforiaObjectsController>(); foreach (VuforiaObjectsController vuforiaObjectsController in VuforiaObjectsController.controllers) { if (vuforiaObjectsController.OnTracking) { controllerOnTracking.Add(vuforiaObjectsController); } } if (controllerOnTracking.Count != 2) { return; } VuforiaObjectsController redController = controllerOnTracking[0]; VuforiaObjectsController blueController = controllerOnTracking[1]; if (blueController.ScreenPosition.x < redController.ScreenPosition.x) { redController = controllerOnTracking[1]; blueController = controllerOnTracking[0]; } EvaluateResult(redController, blueController); }