/// <summary> /// Adds survival alert, what to do when this alert is triggered and trigger for this ocasion /// </summary> /// <param name="survivalAlert">trigger for survival decision</param> /// <param name="decision">decision for handeling survival</param> /// <param name="trigger">percentage of max parameter for health, oxygen and fuel issues | distance for detecting enemy</param> public void AddSurvivalAlert(MyBotSurvivalAlertsEnum survivalAlert, MyBotDecisionLogicsEnum decision, int trigger) { var survivalHandler = new MySurvivalDecision { SurvivalDecision = decision, SurvivalTrigger = trigger }; m_survivalKit.Add(survivalAlert, survivalHandler); }
/// <summary> /// Cycle all survival alerts by their priority and sets survival decision /// </summary> private void CheckSurvivalKit() { SurvivalDecision = MyBotDecisionLogicsEnum.None; foreach (var item in m_survivalKit) { if (CheckSurvivalAlert(item.Key, item.Value)) { SurvivalDecision = item.Value.SurvivalDecision; return; } } }