예제 #1
0
 public EconomicAttributes(Tangible Tangible, double LivingStandard)
 {
     _Supply          = 0;
     _Demand          = 0;
     _Coefficient     = Tangible.Coefficient;
     _Exponent        = Tangible.Exponent;
     _LivingStandard  = LivingStandard;
     _Decay           = Tangible.Decay;
     _IncomeReduction = 0;
 }
예제 #2
0
파일: Zone.cs 프로젝트: jascou/ROTNS
 public double SupplyPrice(Tangible Tangible, double Amount)
 {
     if (_Market.ContainsKey(Tangible))
     {
         return(_Market[Tangible].SupplyPrice(Amount, _Population));
     }
     else
     {
         return(Double.PositiveInfinity);
     }
 }
예제 #3
0
파일: Zone.cs 프로젝트: jascou/ROTNS
 private void AddTangibleIfNotExists(Tangible Tangible)
 {
     if (!_Market.ContainsKey(Tangible))
     {
         if (Tangible is Resource)
         {
             _Market.Add(Tangible, new DepositAttributes(Tangible.Coefficient, Tangible.Exponent, Tangible.Decay, 0, 0, _LivingStandard));
         }
         else
         {
             _Market.Add(Tangible, new EconomicAttributes(Tangible.Coefficient, Tangible.Exponent, Tangible.Decay, 0, 0, _LivingStandard));
         }
     }
 }
예제 #4
0
 public void AddTangible(string Name, Tangible Tangible)
 {
     _Tangibles.Add(Name.ToLower(), Tangible);
 }
예제 #5
0
파일: Zone.cs 프로젝트: jascou/ROTNS
 public double FlowFrom(Tangible Tangible)
 {
     return(this[Tangible].Price(_Population) * this[Tangible].Supply);
 }
예제 #6
0
파일: Zone.cs 프로젝트: jascou/ROTNS
 public double Price(Tangible Tangible)
 {
     return(this[Tangible].Price(_Population));
 }
예제 #7
0
파일: Zone.cs 프로젝트: jascou/ROTNS
 public EconomicAttributes this[Tangible Tangible] {
     get { AddTangibleIfNotExists(Tangible); return(_Market[Tangible]); }
 }
예제 #8
0
파일: Zone.cs 프로젝트: jascou/ROTNS
 public void ChangeIncomeReduction(Tangible Tangible, double Delta)
 {
     AddTangibleIfNotExists(Tangible);
     _Market[Tangible].IncomeReduction += Delta;
 }
예제 #9
0
파일: Zone.cs 프로젝트: jascou/ROTNS
 public void ChangeDemand(Tangible Tangible, double Delta)
 {
     AddTangibleIfNotExists(Tangible);
     _Market[Tangible].Demand += Delta;
 }
예제 #10
0
파일: Zone.cs 프로젝트: jascou/ROTNS
 public void ChangeSupply(Tangible Tangible, double Delta)
 {
     AddTangibleIfNotExists(Tangible);
     _Market[Tangible].Supply += Delta;
 }