示例#1
0
    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);
    }
示例#2
0
    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);
    }
示例#3
0
 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));
 }