public VariableRequirement([NotNull] string name, double value, [NotNull] string location, StrGuid locationGuid,
                            VariableCondition variableCondition, [NotNull] CalcVariableRepository repository,
                            StrGuid variableGuid)
 {
     _repository       = repository;
     _variableGuid     = variableGuid;
     Name              = name;
     Value             = value;
     CalcLocationName  = location;
     LocationGuid      = locationGuid;
     VariableCondition = variableCondition;
 }
Пример #2
0
        //[CanBeNull] private VariableLogfile _variableLogfile;

        public CalcHousehold([NotNull] string pName, [NotNull] string locationname,
                             [NotNull] string temperatureprofileName, [NotNull] HouseholdKey householdkey,
                             StrGuid guid,
                             [NotNull] CalcVariableRepository calcVariableRepository,
                             [ItemNotNull][NotNull] List <CalcLocation> locations,
                             [ItemNotNull][NotNull] List <CalcPerson> persons,
                             [NotNull] string description, CalcRepo calcRepo) : base(pName, guid)
        {
            _locations   = locations;
            _persons     = persons;
            _description = description;
            _calcRepo    = calcRepo;
            //_cleanName = AutomationUtili.CleanFileName(pName);
            _name                   = pName;
            _locationname           = locationname;
            _temperatureprofileName = temperatureprofileName;
            _householdKey           = householdkey;
            _calcVariableRepository = calcVariableRepository;
        }
Пример #3
0
            public void Execute([NotNull] CalcVariableRepository repository)
            {
                switch (VariableAction)
                {
                case VariableAction.SetTo:
                    repository.SetValueByGuid(_variableGuid, Value);
                    break;

                case VariableAction.Add:
                    repository.AddToValueByGuid(_variableGuid, Value);
                    break;

                case VariableAction.Subtract:
                    repository.SubstractFromValueByGuid(_variableGuid, Value);
                    break;

                default:
                    throw new LPGException("Forgotten Variable Action!");
                }
            }
 public CalcSubAffordance([NotNull] string pName, [NotNull] CalcLocation loc, [NotNull][ItemNotNull] List <CalcDesire> satisfactionvalues,
                          int miniumAge, int maximumAge, int delaytimesteps, PermittedGender permittedGender, [NotNull] string pAffCategory,
                          bool isInterruptable, bool isInterrupting, [NotNull] CalcAffordance parentAffordance,
                          [NotNull][ItemNotNull] List <CalcAffordanceVariableOp> variableOps, int weight,
                          [NotNull] string sourceTrait,
                          StrGuid guid, [ItemNotNull][NotNull] BitArray isBusy,
                          [NotNull] CalcVariableRepository repository, BodilyActivityLevel bodilyActivityLevel, [NotNull] CalcRepo calcRepo)
     : base(
         pName, loc, satisfactionvalues, miniumAge, maximumAge, permittedGender, false, false, pAffCategory,
         isInterruptable, isInterrupting, ActionAfterInterruption.GoBackToOld, weight, false,
         CalcAffordanceType.Subaffordance, guid, isBusy, bodilyActivityLevel, calcRepo)
 {
     Delaytimesteps   = delaytimesteps;
     _variableOps     = variableOps;
     _repository      = repository;
     SubAffordances   = new List <CalcSubAffordance>();
     Energyprofiles   = new List <CalcAffordance.DeviceEnergyProfileTuple>();
     AffordanceColor  = LPGColors.Black;
     SourceTrait      = sourceTrait;
     TimeLimitName    = null;
     ParentAffordance = parentAffordance;
 }
Пример #5
0
        public CalcAffordance([NotNull] string pName,
                              [NotNull] CalcProfile personProfile,
                              [NotNull] CalcLocation loc,
                              bool randomEffect,
                              [NotNull][ItemNotNull] List <CalcDesire> satisfactionvalues,
                              int miniumAge,
                              int maximumAge,
                              PermittedGender permittedGender,
                              bool needsLight,
                              double timeStandardDeviation,
                              ColorRGB affordanceColor,
                              [NotNull] string pAffCategory,
                              bool isInterruptable,
                              bool isInterrupting,
                              [NotNull][ItemNotNull] List <CalcAffordanceVariableOp> variableOps,
                              [NotNull][ItemNotNull] List <VariableRequirement> variableRequirements,
                              ActionAfterInterruption actionAfterInterruption,
                              [NotNull] string timeLimitName,
                              int weight,
                              bool requireAllDesires,
                              [NotNull] string srcTrait,
                              StrGuid guid,
                              [NotNull] CalcVariableRepository variableRepository,
                              [NotNull][ItemNotNull] List <DeviceEnergyProfileTuple> energyprofiles,
                              [ItemNotNull][NotNull] BitArray isBusy, BodilyActivityLevel bodilyActivityLevel,
                              [NotNull] CalcRepo calcRepo) : base(pName,
                                                                  loc,
                                                                  satisfactionvalues,
                                                                  miniumAge,
                                                                  maximumAge,
                                                                  permittedGender,
                                                                  needsLight,
                                                                  randomEffect,
                                                                  pAffCategory,
                                                                  isInterruptable,
                                                                  isInterrupting,
                                                                  actionAfterInterruption,
                                                                  weight,
                                                                  requireAllDesires,
                                                                  CalcAffordanceType.Affordance,
                                                                  guid,
                                                                  isBusy, bodilyActivityLevel, calcRepo)
        {
            _variableOps          = variableOps;
            _variableRequirements = variableRequirements;
            _variableRepository   = variableRepository;
            Energyprofiles        = energyprofiles;
            SourceTrait           = srcTrait;
            if (personProfile == null)
            {
#pragma warning disable IDE0016 // Use 'throw' expression
                throw new DataIntegrityException("The affordance " + Name + " has no person profile!");
#pragma warning restore IDE0016 // Use 'throw' expression
            }

            _timeStandardDeviation = timeStandardDeviation;
            SubAffordances         = new List <CalcSubAffordance>();
            _personProfile         = personProfile;
            AffordanceColor        = affordanceColor;
            TimeLimitName          = timeLimitName;
        }
Пример #6
0
 public VariableOperator([NotNull] CalcVariableRepository repository)
 {
     Repository = repository;
 }