public uint Unknown1 { get; set; } //00 00 2D 7F some client tick public override void Execute(Level level) { ClientAvatar ca = level.GetPlayerAvatar(); BuildingData bd = (BuildingData)ObjectManager.DataTables.GetDataById(BuildingId); Building b = new Building(bd, level); if (ca.HasEnoughResources(bd.GetBuildResource(0), bd.GetBuildCost(0))) { if (bd.IsWorkerBuilding() || level.HasFreeWorkers()) { //Ajouter un check sur le réservoir d'élixir noir ResourceData rd = bd.GetBuildResource(0); ca.CommodityCountChangeHelper(0, rd, -bd.GetBuildCost(0)); b.StartConstructing(X, Y); level.GameObjectManager.AddGameObject(b); } } }
public void Load(JObject jsonObject) { JArray jsonBuildings = (JArray)jsonObject["buildings"]; foreach(JObject jsonBuilding in jsonBuildings) { BuildingData bd = (BuildingData)ObjectManager.DataTables.GetDataById(jsonBuilding["data"].ToObject<int>()); Building b = new Building(bd, m_vLevel); AddGameObject(b); b.Load(jsonBuilding); } JArray jsonTraps = (JArray)jsonObject["traps"]; foreach (JObject jsonTrap in jsonTraps) { TrapData td = (TrapData)ObjectManager.DataTables.GetDataById(jsonTrap["data"].ToObject<int>()); Trap t = new Trap(td, m_vLevel); AddGameObject(t); t.Load(jsonTrap); } JArray jsonDecos = (JArray)jsonObject["decos"]; foreach (JObject jsonDeco in jsonDecos) { DecoData dd = (DecoData)ObjectManager.DataTables.GetDataById(jsonDeco["data"].ToObject<int>()); Deco d = new Deco(dd, m_vLevel); AddGameObject(d); d.Load(jsonDeco); } }