public VideoDisplayWindow(IMission mission, IDeployment deployment) { InitializeComponent(); Mission = mission; Deployment = deployment; Title = String.Format("Video - {0} > {1}", mission.Name, deployment.DateTime.ToString()); var app = Application.Current as App; if (app == null) { throw new Exception("Something has gone arye!"); } triggerStateChangedHandler = new TriggerStateChangedHandler(ControllerTriggerStateChanged); buttonStateChangedHandler = new ButtonStateChangedHandler(ControllerButtonStateChanged); deviceManager = (Application.Current as App).DeviceManager; if (deployment.Devices.Count > 0) { deviceManager.ActiveDevice = deployment.Devices[0]; deviceManager.ActiveDevice.MessageReceived += new DeviceMessageHandler(ActiveDeviceMessageReceived); } headsUpDisplay.YawOffset = Settings.Default.YawOffset; this.Dispatcher.BeginInvoke(DispatcherPriority.Render, new DispatcherOperationCallback(delegate { if (deployment.Devices.Count > 0) { IDevice device = deployment.Devices[0]; device.FrameReady += DeviceFrameReady; device.Open(); try { IDevice activeDevice = deviceManager.ActiveDevice; deviceManager.ActiveDevice.StartVideoCapture(1000); activeDevice.FinRange = Settings.Default.FinRange; activeDevice.TopFinOffset = Settings.Default.TopFinOffset; activeDevice.RightFinOffset = Settings.Default.RightFinOffset; activeDevice.BottomFinOffset = Settings.Default.BottomFinOffset; activeDevice.LeftFinOffset = Settings.Default.LeftFinOffset; activeDevice.CTD = true; } catch (Exception ex) { StringBuilder message = new StringBuilder(ex.ToString()); Exception inner = ex.InnerException; while (inner != null) { message.AppendLine(inner.ToString()); inner = inner.InnerException; } MessageBox.Show(message.ToString(), "Error Initializing Capture:" + ex.Message); this.Close(); } } return null; }), null); }
public DashboardWindow(IMission mission, IDeployment deployment) { InitializeComponent(); Mission = mission; Deployment = deployment; deviceManager = (Application.Current as App).DeviceManager; if (deployment.Devices.Count > 0) { deviceManager.ActiveDevice = deployment.Devices[0]; deviceManager.ActiveDevice.MessageReceived += ActiveDeviceMessageReceived; } controllerAxisChangedHandler = ControllerAxisChanged; controllerConnectionChangedHandler = ControllerConnectionChanged; bitmapFrameCapturedHandler = VideoDisplayWindowBitmapFrameCaptured; this.Title = String.Format("Dashboard - {0} > {1}", mission.Name, deployment.DateTime.ToString()); YawOffsetSlider.ValueChanged += YawOffsetSliderValueChanged; PitchOffsetSlider.ValueChanged += PitchOffsetSliderValueChanged; FinRangeSlider.ValueChanged += FinRangeSliderValueChanged; TopFinOffsetSlider.ValueChanged += TopFinOffsetSliderValueChanged; RightFinOffsetSlider.ValueChanged += RightFinOffsetSliderValueChanged; BottomFinOffsetSlider.ValueChanged += BottomFinOffsetSliderValueChanged; LeftFinOffsetSlider.ValueChanged += LeftFinOffsetSliderValueChanged; illuminationSlider.ValueChanged += IlluminationSliderValueChanged; focusSlider.ValueChanged += focusSliderValueChanged; buoyancySlider.ValueChanged += buoyancySliderValueChanged; }
public void CollectMission(IMission mission) { if (mission != null && !mission.Complete) { missions.Add(mission); } }
public Controller() //Judge gives 0/150 if you pass anything throughout the constructor... ffs... //IRepository<IAstronaut> astronauts //, IRepository<IPlanet> planets //, IMission mission { //this.astronauts = astronauts; //this.planets = planets; //this.mission = mission; this.planets = new PlanetRepository(); this.astronauts = new AstronautRepository(); this.mission = new Mission(); this.exploredPlanetsCount = 0; }
public void CompleteMission(IMission mission) { Experience += mission.EnduranceRequired; Endurance -= mission.EnduranceRequired; foreach (var x in Weapons.Values.Where(w => w != null).ToList()) { x.DecreaseWearLevel(mission.WearLevelDecrement); if (x.WearLevel <= 0) { Weapons[x.Name] = null; } } }
private bool ExecuteMission(IMission mission, List <ISoldier> missionTeam) { if (missionTeam.Sum(w => w.OverallSkill) >= mission.ScoreToComplete) { foreach (ISoldier soldier in missionTeam) { soldier.CompleteMission(mission); } this.SuccessMissionCounter++; return(true); } return(false); }
public void GiveInputToGameController(string input) { var data = input.Split(); if (data[0].Equals("Soldier")) { string type = string.Empty; string name = string.Empty; int age = 0; double experience = 0d; double endurance = 0d; if (data.Length == 3) { this.army.RegenerateTeam(data[2]); } else { type = data[1]; name = data[2]; age = int.Parse(data[3]); experience = double.Parse(data[4]); endurance = double.Parse(data[5]); ISoldier soldier = this.soldierFactory.CreateSoldier(type, name, age, experience, endurance); if (this.wareHouse.TryAddSoldier(soldier)) { this.army.AddSoldier(soldier); } else { throw new ArgumentException(string.Format(OutputMessages.SoldierCannotBeEquiped, type, name)); } } } else if (data[0].Equals("WareHouse")) { string name = data[1]; int number = int.Parse(data[2]); this.wareHouse.AddWeapon(name, number); } else if (data[0].Equals("Mission")) { IMission mission = this.missionFactory.CreateMission(data[1], double.Parse(data[2])); this.writer.AppendLine(this.missionController.PerformMission(mission).Trim()); } }
public void CompleteMission(IMission mission) { this.Experience += mission.EnduranceRequired; this.Endurance -= mission.EnduranceRequired; foreach (var weapon in this.Weapons.Values.Where(w => w != null).ToList()) { weapon.DecreaseWearLevel(mission.WearLevelDecrement); if (weapon.WearLevel <= 0) { this.Weapons[weapon.Name] = null; } } }
public Controller( AstronautRepository astronautRepository, PlanetRepository planetRepository, IAstronautFactory astronautFactory, IPlanetFactory planetFactory, IMission mission) { this.astronautRepository = astronautRepository; this.planetRepository = planetRepository; this.astronautFactory = astronautFactory; this.planetFactory = planetFactory; this.mission = mission; }
public void CompleteMission(IMission mission) { this.Experience += mission.EnduranceRequired; this.Endurance -= mission.EnduranceRequired; foreach (var weapon in Weapons.Values.Where(w => w != null).ToList()) //с ToList() правим нова колекция, за да не гърми(пълним колекция докато я обхождаме) { weapon.DecreaseWearLevel(mission.WearLevelDecrement); if (weapon.WearLevel <= 0) { this.Weapons[weapon.Name] = null; } } }
public void AddMission(IMission mission) { if (this.missions.Any(m => m.CodeName == mission.CodeName)) { int index = this.missions.FindIndex(m => m.CodeName == mission.CodeName); this.missions[index].CompleteMission(); } else { if (mission.State != null) { this.missions.Add(mission); } } }
public bool ReadyForMission(IMission mission) { if (this.Endurance < mission.EnduranceRequired) { return(false); } bool hasAllEquipment = this.Weapons.Values.Count(weapon => weapon == null) == 0; if (!hasAllEquipment) { return(false); } return(this.Weapons.Values.All(weapon => weapon.WearLevel > 0)); }
public static void DecreaseAmmunitionsWearLevel(IMission mission, Dictionary <string, List <IAmmunition> > wearHouse) { string weaponName = string.Empty; foreach (var weapon in wearHouse.Keys) { weaponName = weapon; foreach (var ammunition in wearHouse[weaponName]) { if (weaponName.Equals(ammunition.Name)) { ammunition.DecreaseWearLevel(ammunition.WearLevel); } } } }
public void CombatBattle(IMission imission) { if (null == this._spousesStats) { this._spousesStats = new List <SpousesHeroStatistic>(); } Mission mission = imission as Mission; if (null != mission && (mission.CombatType == Mission.MissionCombatType.Combat || mission.CombatType == Mission.MissionCombatType.ArenaCombat) ) { Mission.Current.AddMissionBehaviour(new SpousesStatsMissionLogic(GetSpouseStatsBusiness())); } }
public void GiveInputToGameController(string input) { string[] data = input.Split(); if (data[0].Equals("Soldier")) { if (data[1] == "Regenerate") { army.RegenerateTeam(data[2]); } else { string soldierType = data[1]; string name = data[2]; int age = int.Parse(data[3]); double experience = double.Parse(data[4]); double endurance = double.Parse(data[5]); ISoldier soldier = this.soldierFactory.CreateSoldier(soldierType, name, age, experience, endurance); if (this.wareHouse.TryEquipSoldier(soldier)) { this.army.AddSoldier(soldier); } else { throw new ArgumentException(string.Format(OutputMessages.SoldierNotAdded, soldier.GetType().Name, soldier.Name)); } } } else if (data[0].Equals("WareHouse")) { string name = data[1]; int count = int.Parse(data[2]); this.wareHouse.AddAmmunition(name, count); } else if (data[0].Equals("Mission")) { string missionType = data[1]; double neededPoints = double.Parse(data[2]); IMission mission = this.missionFactory.CreateMission(missionType, neededPoints); this.writer.AppendLine(this.missionController.PerformMission(mission).Trim()); } }
public HomeController(IEmployee employee , IDepartment department , IStringLocalizer <HomeController> localizer , IStringLocalizer <SharedResources> sharedLocalizer , IHttpContextAccessor httpContextAccessor , IEducation education , IMission mission ) { _employee = employee; _department = department; _localizer = localizer; _sharedLocalizer = sharedLocalizer; _httpContextAccessor = httpContextAccessor; _education = education; _mission = mission; }
private void AddMission(Commando commando, string[] missionArgs) { for (int i = 0; i < missionArgs.Length; i += 2) { try { string name = missionArgs[i]; string state = missionArgs[i + 1]; IMission mission = this.missionFactory.MakeMission(name, state); commando.AddMission(mission); } catch (InvalidStateException) { continue; } } }
public bool ReadyForMission(IMission mission) { if (this.Endurance < mission.EnduranceRequired) { return(false); } // Check whether all weapons are not null bool hasAllEquipment = this.Weapons.Values.All(weapon => weapon != null); if (!hasAllEquipment) { return(false); } // If all weapons' wear level is above zero, soldier is ready for mission return(this.Weapons.Values.All(weapon => weapon.WearLevel > 0)); }
private void StartMission(string missionKey) { if (CURRENT_MISSION != null || missionRunning) { throw new MissionAlreadyRunningException(); } else { TriggerServerEvent(Events.MISSION_RUNNING, Game.Player.ServerId, Game.Player.Handle, true); if (Game.PlayerPed != null) { MissionItem missionItem = MISSIONS.Where(i => i.NAME == missionKey).First(); CURRENT_MISSION = (IMission)Activator.CreateInstance(missionItem.MISSION); CURRENT_MISSION.Start(); } } }
public bool ReadyForMission(IMission mission) { if (this.Endurance < mission.EnduranceRequired) { return(false); } bool hasMissingEquipment = this.Weapons.Values.Any(weapon => weapon == null); if (hasMissingEquipment) { return(false); } bool allEquipmentIsFunctional = this.Weapons.Values.All(weapon => weapon.WearLevel > 0); return(allEquipmentIsFunctional); }
public void GiveInputToGameController(string input) { var data = input.Split(); if (data[0].Equals("Soldier")) { if (data[1] == "Regenerate") { army.RegenerateTeam(data[2]); } else { string soldierType = data[1]; string soldierName = data[2]; int age = int.Parse(data[3]); double experience = double.Parse(data[4]); double endurance = double.Parse(data[5]); ISoldier soldier = this.soldierFactory .CreateSoldier(soldierType, soldierName, age, experience, endurance); if (!this.wareHouse.TryEquipSoldier(soldier)) { string message = string.Format(OutputMessages.SoldierCannotBeEquiped, soldierType, soldierName); throw new ArgumentException(message); } army.AddSoldier(soldier); } } else if (data[0].Equals("WareHouse")) { string name = data[1]; int number = int.Parse(data[2]); this.wareHouse.AddAmmunition(name, number); } else if (data[0].Equals("Mission")) { string missionType = data[1]; double scoreToComplete = double.Parse(data[2]); IMission mission = this.missionFactory.CreateMission(missionType, scoreToComplete); writer.AppendLine(this.missionController.PerformMission(mission).Trim()); } }
public IMission CreateMission(string difficultyLevel, double neededPoints) { Type missionType = Assembly.GetExecutingAssembly() .GetTypes() .FirstOrDefault(t => t.Name == difficultyLevel && typeof(IMission).IsAssignableFrom(t)); if (missionType == null) { throw new ArgumentException( string.Format(OutputMessages.UnknownMissionDifficulty, difficultyLevel)); } IMission mission = (IMission)Activator.CreateInstance( missionType, new object[] { neededPoints }); return(mission); }
public bool ReadyForMission(IMission mission) { if (this.Endurance < mission.EnduranceRequired) { return(false); } if (this.Weapons.Any(w => w.Value == null || w.Value.WearLevel <= 0)) { return(false); } if (this.Weapons.Any(w => w.Value.WearLevel < 1)) { return(false); } return(true); }
public IMission CreateMission(string difficultyLevel, double neededPoints) { var clazz = Assembly.GetExecutingAssembly() .GetTypes() .FirstOrDefault(p => p.Name == difficultyLevel); if (clazz == null) { throw new ArgumentException("No such mission name exists"); } var ctor = clazz.GetConstructors()[0]; object[] parameters = new object[] { neededPoints }; IMission mission = (IMission)ctor.Invoke(parameters); return(mission); }
public string ExplorePlanet(string planetName) { var astronautsOnMission = astronautRepository.Models.Where(x => x.Oxygen > 60).ToList(); if (!astronautsOnMission.Any()) { throw new InvalidOperationException("You need at least one astronaut to explore the planet"); } IPlanet planet = planetRepository.FindByName(planetName); this.mission = new Mission(); this.mission.Explore(planet, astronautsOnMission); int deadAstronauts = astronautsOnMission.Count(x => !x.CanBreath); this.exploredPlanetsCount++; return($"Planet: {planetName} was explored! Exploration finished with {deadAstronauts} dead astronauts!"); }
private void MissionLoad() { _firstSelectedMissionNum = PlayerPrefs.GetInt(_firstMissionName); _secondSelectedMissionNum = PlayerPrefs.GetInt(_secondMissionName); _allMissionProgressbar.SetFromStart(GetMaxMissionCanBeCompleted()); _firstMission = GetNextUnlockMissionOrNull(ref _firstSelectedMissionNum, _firstMissions); _secondMission = GetNextUnlockMissionOrNull(ref _secondSelectedMissionNum, _secondMissions); MissionButtonsFromStart(); _rendererMissionOnce.SetNewMission(_firstMission, _firstMission.missionLevel); _rendererMissionWhole.SetNewMission(_secondMission, _secondMission.missionLevel); SetFirstMissionsRenderer(); SetSecondMissionsRenderer(); _allMissionProgressbar.FillProgressbasByMissionPass(GetAllCompletedMission()); }
public void InterpretCommand(string input) { string[] data = input.Split(); switch (data[0]) { case nameof(WareHouse): string ammunitionType = data[1]; int count = int.Parse(data[2]); this.wareHouse.AddAmmunitions(ammunitionType, count); break; case nameof(Soldier): switch (data[1]) { case RegenerateCommand: string soldierType = data[2]; this.army.RegenerateTeam(soldierType); break; default: this.AddSoldierToArmy(data.Skip(1).ToArray()); break; } break; case nameof(Mission): string difficultyLevel = data[1]; double scoreToComplete = double.Parse(data[2]); IMission mission = this.missionFactory .CreateMission(difficultyLevel, scoreToComplete); this.writer.WriteLine(this.missionController.PerformMission(mission).TrimEnd()); break; } }
//private readonly Logger _logger = Logger.L<MissionItem>(); /// <summary> 构造函数 </summary> /// <param name="mc"></param> public MissionItem(Mission mc) { _mc = mc; _autoEvent = new AutoResetEvent(false); var tp = Type.GetType(mc.Type); if (tp == null) { //_logger.W(string.Format("没有找到类型 {0} ", mc.Type)); return; } var obj = Activator.CreateInstance(tp); if (!(obj is IMission)) { //_logger.W(string.Format("类型 {0} 创建实例失败或没有实现 IMission 接口", mc.Type)); return; } _mission = (IMission) obj; _mission.Error += Mission_Error; var ths = new ThreadStart(Run); _th = new Thread(ths); }
public string PerformMission(IMission mission) { StringBuilder sb = new StringBuilder(); if (this.missionQueue.Count >= 3) { sb.AppendLine(string.Format(OutputMessages.MissionDeclined, this.missionQueue.Dequeue().Name)); this.FailedMissionCounter++; } this.missionQueue.Enqueue(mission); int currentMissionsCount = this.missionQueue.Count; for (int i = 0; i < currentMissionsCount; i++) { this.wareHouse.EquipArmy(this.army); IMission currentMission = this.missionQueue.Dequeue(); List <ISoldier> missionTeam = this.CollectMissionTeam(mission); bool successful = this.ExecuteMission(currentMission, missionTeam); if (successful) { sb.AppendLine(string.Format(OutputMessages.MissionSuccessful, currentMission.Name)); } else { this.missionQueue.Enqueue(currentMission); sb.AppendLine(string.Format(OutputMessages.MissionOnHold, currentMission.Name)); } } return(sb.ToString()); }
public void GiveInputToGameController(string input) { var data = input.Split(); if (data[0].Equals("Soldier")) { if (data[1] == "Regenerate") { this.army.RegenerateTeam(data[2]); } else { ISoldier soldier = soldierFactory.CreateSoldier( data[1], data[2], int.Parse(data[3]), double.Parse(data[4]), double.Parse(data[5])); if (wareHouse.TryEquipSoldier(soldier)) { this.army.AddSoldier(soldier); } else { throw new ArgumentException( string.Format(OutputMessages.NoWeaponForSoldier, data[1], data[2])); } } } else if (data[0].Equals("WareHouse")) { string name = data[1]; int number = int.Parse(data[2]); this.wareHouse.AddAmmo(name, number); } else if (data[0].Equals("Mission")) { IMission mission = this.missionFactory.CreateMission(data[1], double.Parse(data[2])); writer.AppendLine(this.missionController.PerformMission(mission).Trim()); } }
public IMission CreateMission(string difficultyLevel, double neededPoints) { Type missionType = Assembly.GetCallingAssembly() //Assembly.GetCallingAssembly() е необходимо АКО НЕ СА ИЗТРИТИ NAMESPACES .GetTypes().FirstOrDefault(t => t.Name == difficultyLevel); if (missionType == null) { throw new ArgumentException($"{difficultyLevel} is not a valid Mission type!"); } if (!typeof(IMission).IsAssignableFrom(missionType)) { throw new InvalidOperationException($"{difficultyLevel} does not inherit IMission!"); } // Type ammunitionType = Type.GetType(name); АКО СА ИЗТРИТИ NAMESPACES IMission mission = (IMission)Activator .CreateInstance(missionType, neededPoints); return(mission); }
public bool ReadyForMission(IMission mission) { if (this.Endurance < mission.EnduranceRequired) { return(false); } bool hasAllEquipment = this.Weapons.Values.All(w => w != null); if (!hasAllEquipment) { return(false); } bool hasAllWeaponsPositiveWearLevel = this.Weapons.Values.All(w => w.WearLevel > 0); if (!hasAllWeaponsPositiveWearLevel) { return(false); } return(true); }
public IMission CreateMission(string difficultyLevel, double neededPoints) { Assembly assembly = Assembly.GetExecutingAssembly(); Type missionType = assembly.GetTypes() .FirstOrDefault(t => t.Name.Equals(difficultyLevel)); if (missionType == null) { throw new ArgumentException($"Mission type {difficultyLevel} doesn't exists!"); } if (!typeof(IMission).IsAssignableFrom(missionType)) { throw new ArgumentException($"Mission type {difficultyLevel} is not valid!"); } object[] args = new object[] { neededPoints }; IMission mission = (IMission)Activator.CreateInstance(missionType, args); return(mission); }
public void DoAlgoritm(CheckEx checkEx) { if (checkEx.RGR) { _ex = new RGR(_graf); } if (checkEx.Laba4BFS) { _ex = new Laba4BFS(_mainDrawer, _graf); if (_mainDrawer.GetCheckedVetex() < 0) { return; } } if (checkEx.Laba4DFS) { _ex = new Laba4DFS(_mainDrawer, _graf); if (_mainDrawer.GetCheckedVetex() < 0) { return; } } if (checkEx.Laba5) { _ex = new Laba5(_mainDrawer, _graf); } if (checkEx.Laba6) { if (!_mainDrawer.FullListForDej()) { return; } _ex = new Laba6(_mainDrawer, _graf); } _ex.DoIt(); algoritmComplete?.Invoke(); }
public bool StartMission(IMission nextMission) { if (State != GameState.WaitingForMission) return false; if (!_missions.Remove(nextMission)) return false; CurrentMission = nextMission; State = GameState.SelectingMissionOperatives; Task<IEnumerable<IPlayer>> task = Leader.ChooseOperatives(CurrentMission); if (task!=null) { task.ContinueWith(completeTask => HandleOperativesChosen(completeTask.Result)); } return true; }
public override void Update() { base.Update(); tickCount++; if (Mission != null && Mission.Complete) { if (towedObject != null) { towedObject.Expired = true; } towedObject = null; Mission = parent.GetNextMission(); if (Mission == null) { this.Expired = true; return; } } IMissionTarget t = Mission.GetNextUncompletedTarget(); if (t == null || t.Target == null) { return; } IEntity currentTarget = Mission.GetNextUncompletedTarget().Target; double targetDistance = MatrixPoint.DistanceBetween(this.Centre, currentTarget.Centre); if (nearestObject != null && nearestObject.Distance < 30 && nearestObject.Distance < targetDistance && IsAhead(nearestObject)) { AvoidTarget(nearestObject); } else { SeekTarget(base.DetectProximity(currentTarget)); } if (nextMove != 0.0) { this.Move(nextMove); } if (nextRotate != 0.0) { this.Rotate(nextRotate); } nextMove = 0.0; nextRotate = 0.0; }