Example #1
0
        public override UpdateData GetSetupData(SubscriberLevel subscriber)
        {
            var data = new UpdateData("City");

            data["id"]       = Id;
            data["name"]     = name;
            data["info"]     = info;
            data["type"]     = type;
            data["location"] = new Dictionary <String, double> {
                { "x", location.Latitude }, { "y", location.Longitude }
            };
            data["owner"]      = owner.Id;
            data["population"] = population;
            data["offers"]     = offers;

            if (subscriber == SubscriberLevel.Owner)
            {
                var buildingsData = new Dictionary <BuildingType, object>();
                foreach (var b in this.buildings)
                {
                    buildingsData[b.Key] = b.Value.GetSetupData(subscriber);
                }
                data["buildings"]             = buildingsData;
                data["items"]                 = items;
                data["populationSurplus"]     = populationSurplus;
                data["consumesPerPopulation"] = consumesPerPopulation;
                data["consumedSeconds"]       = (DateTime.Now - lastConsumed).TotalSeconds;
            }
            return(data);
        }
Example #2
0
 public override UpdateData GetSetupData(SubscriberLevel subscriber)
 {
     return(new UpdateData(this.type.ToString())
     {
         { "quant", quant },
         { "type", type }
     });
 }
Example #3
0
 protected void MakeUpdateDataIfNotExists(SubscriberLevel subscriberLevel)
 {
     if (updateData == null)
     {
         updateData = new Dictionary <SubscriberLevel, UpdateData>();
     }
     if (!updateData.ContainsKey(subscriberLevel))
     {
         updateData[subscriberLevel] = new UpdateData(EntityName());
     }
 }
Example #4
0
        public void SetUpdateDataDict <K, V>(SubscriberLevel subscriberLevel, string propertyName, K key, V value)
        {
            MakeUpdateDataIfNotExists(subscriberLevel);
            if (!updateData[subscriberLevel].ContainsKey(propertyName))
            {
                updateData[subscriberLevel][propertyName] = new Dictionary <K, V>();
            }
            var dict = (Dictionary <K, V>)updateData[subscriberLevel][propertyName];

            dict[key] = value;
        }
Example #5
0
 public override UpdateData GetSetupData(SubscriberLevel subscriber)
 {
     return(new UpdateData("event")
     {
         { "id", Id },
         { "type", "Fight" },
         { "executesInSec", (executionTime - DateTime.Now).TotalSeconds },
         { "fromCityID", fromCityID },
         { "targetCityID", targetCityID },
         { "unitIDs", unitIDs },
     });
 }
Example #6
0
        public override UpdateData GetSetupData(SubscriberLevel subscriber)
        {
            UpdateData UpdateData = new UpdateData("event");

            if (subscriber == SubscriberLevel.Owner)
            {
                UpdateData["type"]          = "BuildingUpgrade";
                UpdateData["cityID"]        = cityID;
                UpdateData["BuildingType"]  = BuildingType.ToString();
                UpdateData["executesInSec"] = (executionTime - DateTime.Now).TotalSeconds;
            }
            return(UpdateData);
        }
Example #7
0
        public override UpdateData GetSetupData(SubscriberLevel subscriber)
        {
            UpdateData UpdateData = new UpdateData("event");

            if (subscriber == SubscriberLevel.Owner)
            {
                UpdateData["type"]          = "UnitArrives";
                UpdateData["unitID"]        = unitID;
                UpdateData["fromCityID"]    = fromCityID;
                UpdateData["targetCityID"]  = targetCityID;
                UpdateData["executesInSec"] = (executionTime - DateTime.Now).TotalSeconds;
            }
            return(UpdateData);
        }
Example #8
0
 //Subscriber
 public void AddSubscription(Player player, SubscriberLevel level)
 {
     if (!subscribers.ContainsKey(level))
     {
         subscribers[level] = new HashSet <Player>();
     }
     if (!player.subscriptions.ContainsKey(level))
     {
         player.subscriptions[level] = new HashSet <Subscribable>();
     }
     subscribers[level].Add(player);
     player.subscriptions[level].Add(this);
     base.SetUpdateData(level, "id", this.Id);
     updateData[level] = GetSetupData(level);
 }
Example #9
0
        public override UpdateData GetSetupData(SubscriberLevel subscriber)
        {
            var data = new UpdateData(type.ToString())
            {
                { "type", type.ToString() },
                { "lvl", lvl },
                { "productionSeconds", (DateTime.Now - lastProduced).TotalSeconds }
            };


            if (Setting.educts.Count > 0)
            {
                data["orderedProductions"] = orderedProductions;
            }
            return(data);
        }
Example #10
0
        public override UpdateData GetSetupData(SubscriberLevel subscriber)
        {
            UpdateData data = new UpdateData("Player")
            {
                { "id", Id },
                { "name", name },
                { "online", online },
                { "contracts", contracts.Where(c => c.Value.until > DateTime.Now).ToDictionary(c => c.Key.Id, c => c.Value) },
            };

            if (subscriber == SubscriberLevel.Owner)
            {
                data["money"]             = money;
                data["messages"]          = (from m in messages.Values select m.GetSetupData(SubscriberLevel.Owner)).ToList();
                data["contractProposals"] = contractProposals.ToDictionary(c => c.Key.Id, c => c.Value);
            }
            return(data);
        }
Example #11
0
        public override UpdateData GetSetupData(SubscriberLevel subscriber)
        {
            var data = new UpdateData(EntityName());

            if (from != null)
            {
                data["from"] = from.Id;
            }
            data["id"]      = Id;
            data["message"] = message;
            data["read"]    = read;
            data["date"]    = date;
            if (this.data != null)
            {
                data["data"] = this.data;
            }
            return(data);
        }
Example #12
0
 abstract public UpdateData GetSetupData(SubscriberLevel subscriber);
Example #13
0
 new public void SetUpdateDataDict <K, V>(SubscriberLevel subscriberLevel, string propertyName, K key, V value)
 {
     base.SetUpdateDataDict(subscriberLevel, propertyName, key, value);
     base.SetUpdateData(subscriberLevel, "id", this.Id);
 }
Example #14
0
 public void SetUpdateData(SubscriberLevel subscriberLevel, string propertyName, object value)
 {
     MakeUpdateDataIfNotExists(subscriberLevel);
     updateData[subscriberLevel][propertyName] = value;
 }
Example #15
0
 public UpdateData GetUpdateData(SubscriberLevel s)
 {
     return(updateData[s]);
 }
Example #16
0
 public void RemoveSubscription(Player player, SubscriberLevel level)
 {
     subscribers[level].Remove(player);
     player.subscriptions[level].Remove(this);
 }
Example #17
0
 new public void SetUpdateData(SubscriberLevel subscriberLevel, string propertyName, object value)
 {
     base.SetUpdateData(subscriberLevel, propertyName, value);
     base.SetUpdateData(subscriberLevel, "id", this.Id);
 }