Beispiel #1
0
 public Pet(int lifeDuration)
 {
     _lifeDuration   = lifeDuration;
     _age            = 0;
     _moodLevel      = _satietyLevel = _healthLevel = _cleanessLevel = 100;
     _evolutionLevel = PetEvolutionLevel.Birth;
 }
Beispiel #2
0
 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]);
        }
Beispiel #4
0
        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;
 }