public List <EscapeInput> GetAvailableInputList(EscapeScene scene) { List <EscapeInput> list = EscapeInputRepository.FindBySceneName(scene.Name); List <int> removeIds = new List <int>(); foreach (EscapeInput escapeInput in list) { List <string> conditionList = ConditionHelper.GetConditions(escapeInput.Conditions); if (conditionList == null) { continue; } foreach (string condition in conditionList) { if (!ConditionHelper.IsConditionValid(condition)) { removeIds.Add(escapeInput.Id); break; } } } foreach (int i in removeIds) { list.RemoveAll(x => x.Id == i); } return(list); }
public void ToEscape(string escapeSceneName) { currentEscapeScene = EscapeSceneRepository.FindByName(escapeSceneName); UpdateArrowButtons(currentEscapeScene); Sprite sprite = Resources.Load <Sprite>(currentEscapeScene.ImagePath); if (sprite == null) { Debug.LogWarning("EscapeScene Error: [" + currentEscapeScene.ImagePath + "] not found"); } sceneController.viewController.UpdateEscapeBackground(sprite); availableInputList = GetAvailableInputList(currentEscapeScene); }
public void UpdateArrowButtons(EscapeScene scene) { sceneController.viewController.ToggleEscapeButtonIsActive(EscapeButtonType.RIGHT, !string.IsNullOrEmpty(scene.Right)); sceneController.viewController.ToggleEscapeButtonIsActive(EscapeButtonType.LEFT, !string.IsNullOrEmpty(scene.Left)); sceneController.viewController.ToggleEscapeButtonIsActive(EscapeButtonType.DOWN, !string.IsNullOrEmpty(scene.Down)); }