public ActivityDifficulty Get(ActivityDifficulty lastDifficulty, P change) { var width = (int)lastDifficulty; var height = (int)change; return((ActivityDifficulty)_m[width, height]); }
public ActivityResult(Type activityType, ActivityDifficulty difficulty, ActivityResultKind result, float timeToCompleteInSeconds) { ActivityType = activityType; Difficulty = difficulty; Result = result; TimeToCompleteInSeconds = timeToCompleteInSeconds; }
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()); }
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()); }
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); } }
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); } }
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); } }
public Activity(ActivityDifficulty difficulty) { Difficulty = difficulty; }
public DrawLetterActivity(LetterGroup letterGroup, ActivityDifficulty difficulty) : base(difficulty) { _letters = letterGroup.Letters.Where(i => i.HasOutline).ToArray(); }
public RequestLettersActivity(LetterGroup letterGroup, ActivityDifficulty difficulty) : base(difficulty) { _prefabCollection = CreatePrefabsForActivity(difficulty, letterGroup); }
public GatherLettersActivity(LetterGroup letterGroup, ActivityDifficulty difficulty) : base(difficulty) { _letterGroup = letterGroup; _prefabCollection = CreatePrefabsForActivity(difficulty); }