public Pet(int lifeDuration) { _lifeDuration = lifeDuration; _age = 0; _moodLevel = _satietyLevel = _healthLevel = _cleanessLevel = 100; _evolutionLevel = PetEvolutionLevel.Birth; }
private void SetEvolutionLevel(PetEvolutionLevel newLevel) { if (EvolutionLevel < newLevel) { _evolutionLevel = newLevel; EvolutionLevelChanged?.Invoke(this, new PetEvolutionLevelChangedEventArgs(newLevel)); } }
public static BitmapImage SelectImage(PetType petType, PetEvolutionLevel evolutionLevel) { int currentState = (int)evolutionLevel; if (petType == PetType.None) { throw new SelectImageException($"Invalid pet type. Pet type is {petType}"); } return(_images[petType][currentState]); }
public void ResetPetState() { var previousAge = Age; _age = 0; AgeChanged?.Invoke(this, new AgeChangedEventArgs(previousAge, Age)); Mood = Satiety = Health = CleanessRate = 100; _evolutionLevel = PetEvolutionLevel.Birth; EvolutionLevelChanged?.Invoke(this, new PetEvolutionLevelChangedEventArgs(_evolutionLevel)); }
public static PetEvolutionLevel Next(this PetEvolutionLevel currentLevel) { var valuesArray = Enum.GetValues(typeof(PetEvolutionLevel)) as PetEvolutionLevel[]; int intCurrent = (int)currentLevel; if (currentLevel < PetEvolutionLevel.Adult) { return(valuesArray[intCurrent + 1]); } return(currentLevel); }
public static float GetMaxAgeForEvolutionLevel(this PetEvolutionLevel currentLevel) { return(_converters.First(converter => converter.Level == currentLevel).EvolutionLevelMaxAge); }
public static int GetSecondForEvolutionLevel(this PetEvolutionLevel currentLevel) { return(_converters.First(converter => converter.Level == currentLevel).SecondInMinutes); }
public EvolutionTime(float maxAge, PetEvolutionLevel level, int realSecondInGameMinutes) { EvolutionLevelMaxAge = maxAge; Level = level; SecondInMinutes = realSecondInGameMinutes; }
public PetEvolutionLevelChangedEventArgs(PetEvolutionLevel level) { Current = level; }