Exemplo n.º 1
0
        private static void loadConstants(GameCommander commander)
        {
            JObject tok = commander.exec <JObject>("PropertiesInterface", "getData");
            //Debug.Print(tok["properties"]["const_trains"].ToString());
            JObject const_trains = tok["properties"]["const_trains"] as JObject;

            if (const_trains != null)
            {
                JEnumerable <JProperty> children = const_trains.Children <JProperty>();
                foreach (JProperty child in children)
                {
                    TrainStats.addStats(child);
                }
            }

            //Debug.Print(tok["properties"]["const_train_upgrades"].ToString());
            JObject const_train_upgrades = tok["properties"]["const_train_upgrades"] as JObject;

            if (const_train_upgrades != null)
            {
                JEnumerable <JProperty> children = const_train_upgrades.Children <JProperty>();
                foreach (JProperty child in children)
                {
                    TrainUpgrade.addUpgrade(child);
                }
            }

            seedForTowns_ = tok["client"]["seedForTowns"].ToObject <int>();
        }
Exemplo n.º 2
0
 public bool hasCouplingFor(int era)
 {
     if (era > 1)
     {
         TrainUpgrade tu = TrainUpgrade.getCouplingTech(era - 1);
         if (tu != null)
         {
             return(hasTechnology(tu.Id));
         }
     }
     return(false);
 }
Exemplo n.º 3
0
        internal static void addUpgrade(JProperty prop)
        {
            int     id  = int.Parse(prop.Name);
            JObject tok = prop.Value as JObject;

            if (tok != null)
            {
                TrainUpgrade tu = new TrainUpgrade(id, tok);
                upgrades_.Add(id, tu);
                if (tu.Type == UpgradeType.Hitch)
                {
                    couplingUpgrades_.Add(tu.Era, tu);
                }
            }
        }
Exemplo n.º 4
0
        public TrainStats ApplyUpgrades(HashSet <int> upgrades)
        {
            TrainStats stats = new TrainStats(this);

            foreach (int uid in upgrades)
            {
                TrainUpgrade up = TrainUpgrade.getUpgrade(uid);
                if (up != null)
                {
                    switch (up.Type)
                    {
                    case UpgradeType.Acceleration:
                    {
                        stats.acceleration_ += up.Effect;
                        break;
                    }

                    case UpgradeType.Power:
                    {
                        stats.maxWaggons_ += up.Effect;
                        break;
                    }

                    case UpgradeType.Speed:
                    {
                        stats.speed_ += up.Effect;
                        break;
                    }

                    case UpgradeType.Reliability:
                    {
                        stats.endurance_ += up.Effect;
                        break;
                    }
                    }
                }
            }
            return(stats);
        }