Пример #1
0
        public ActivityDifficulty Get(ActivityDifficulty lastDifficulty, P change)
        {
            var width  = (int)lastDifficulty;
            var height = (int)change;

            return((ActivityDifficulty)_m[width, height]);
        }
Пример #2
0
 public ActivityResult(Type activityType, ActivityDifficulty difficulty, ActivityResultKind result, float timeToCompleteInSeconds)
 {
     ActivityType            = activityType;
     Difficulty              = difficulty;
     Result                  = result;
     TimeToCompleteInSeconds = timeToCompleteInSeconds;
 }
Пример #3
0
        static IList <PrefabReference> CreatePrefabsForActivity(ActivityDifficulty difficulty, LetterGroup letterGroup)
        {
            var letterCount      = GetLetterCount(difficulty);
            var fakeElementCount = GetFakeElementsCount(difficulty);

            Debug.LogFormat("Spawning {0} letters and {1} fake elements", letterCount, fakeElementCount);
            var availableLetters = letterGroup.Letters.Where(i => i.LetterScript.CanBeRequested).ToArray();
            var letters          = PickRandomElementsFromPrefabGroup(availableLetters, letterCount).ToList();

            var fakeElements = PickRandomElementsFromPrefabGroup(letterGroup.OtherAvailableElements, fakeElementCount);

            return(letters.Concat(fakeElements).ToList());
        }
Пример #4
0
    IList <PrefabReference> CreatePrefabsForActivity(ActivityDifficulty difficulty)
    {
        var letterCount      = GetLetterCount(difficulty);
        var fakeElementCount = GetFakeElementsCount(difficulty);

        _remainingRealLetters = letterCount;

        Debug.LogFormat("Spawning {0} letters and {1} fake elements", letterCount, fakeElementCount);
        var letters      = PickRandomElementsFromPrefabGroup(_letterGroup.Letters, letterCount);
        var fakeElements = PickRandomElementsFromPrefabGroup(_letterGroup.OtherAvailableElements, fakeElementCount);

        return(letters.Concat(fakeElements).ToArray());
    }
Пример #5
0
        static int GetFakeElementsCount(ActivityDifficulty difficulty)
        {
            switch (difficulty)
            {
            case ActivityDifficulty.Easy:
                return(Random.Range(2, 4));

            case ActivityDifficulty.Normal:
                return(Random.Range(3, 5));

            case ActivityDifficulty.Hard:
                return(Random.Range(4, 6));

            default:
                throw new ArgumentException("Unknown difficulty: " + difficulty);
            }
        }
Пример #6
0
        static int GetLetterCount(ActivityDifficulty difficulty)
        {
            switch (difficulty)
            {
            case ActivityDifficulty.Easy:
                return(Random.Range(2, 4));

            case ActivityDifficulty.Normal:
                return(Random.Range(5, 7));

            case ActivityDifficulty.Hard:
                return(Random.Range(8, 10));

            default:
                throw new ArgumentException("Unknown difficulty: " + difficulty);
            }
        }
Пример #7
0
    Activity Instantiate(Type type, LetterGroup letterGroup, ActivityDifficulty difficulty)
    {
        Debug.Log("Creating new Activity " + type.Name + " with difficulty " + difficulty);

        if (type == typeof(GatherLettersActivity))
        {
            return(new GatherLettersActivity(letterGroup, difficulty));
        }
        if (type == typeof(RequestLettersActivity))
        {
            return(new RequestLettersActivity(letterGroup, difficulty));
        }
        if (type == typeof(DrawLetterActivity))
        {
            return(new DrawLetterActivity(letterGroup, difficulty));
        }

        throw new NotSupportedException("Not supported activity type: " + type.Name);
    }
        void SetDifficulty(ActivityDifficulty difficulty)
        {
            switch (difficulty)
            {
            case ActivityDifficulty.Easy:
                _sensitivity = 60;
                _maxAttempts = 5;
                break;

            case ActivityDifficulty.Normal:
                _sensitivity = 45;
                _maxAttempts = 3;
                break;

            case ActivityDifficulty.Hard:
                _sensitivity = 45;
                _maxAttempts = 2;
                break;

            default:
                throw new ArgumentException("Unknown difficulty: " + difficulty);
            }
        }
Пример #9
0
 public Activity(ActivityDifficulty difficulty)
 {
     Difficulty = difficulty;
 }
 public DrawLetterActivity(LetterGroup letterGroup, ActivityDifficulty difficulty) : base(difficulty)
 {
     _letters = letterGroup.Letters.Where(i => i.HasOutline).ToArray();
 }
Пример #11
0
 public RequestLettersActivity(LetterGroup letterGroup, ActivityDifficulty difficulty) : base(difficulty)
 {
     _prefabCollection = CreatePrefabsForActivity(difficulty, letterGroup);
 }
Пример #12
0
 public GatherLettersActivity(LetterGroup letterGroup, ActivityDifficulty difficulty) : base(difficulty)
 {
     _letterGroup      = letterGroup;
     _prefabCollection = CreatePrefabsForActivity(difficulty);
 }