Exemplo n.º 1
0
        public Collection <T> Select()
        {
            RouteFactory       routeFactory  = new RouteFactory();
            RouteTable <Route> instanceRoute = (RouteTable <Route>)routeFactory.GetRouteInstance();

            DriverFactory        driverFactory  = new DriverFactory();
            DriverTable <Driver> instanceDriver = (DriverTable <Driver>)driverFactory.GetDriverInstance();

            VehicleFactory         vehicleFactory  = new VehicleFactory();
            VehicleTable <Vehicle> instanceVehicle = (VehicleTable <Vehicle>)vehicleFactory.GetVehicleInstance();


            XDocument      xDoc       = XDocument.Load(Configuration.XMLFILEPATH);
            Collection <T> timetables = new Collection <T>();

            List <XElement> elements = xDoc.Descendants("Timetables").Descendants("Timetable").ToList();

            foreach (var element in elements)
            {
                Timetable timetable = new Timetable();
                timetable.id        = int.Parse(element.Attribute("id").Value);
                timetable.name      = element.Attribute("name").Value;
                timetable.departure = DateTime.Parse(element.Attribute("departure").Value);
                timetable.arrival   = DateTime.Parse(element.Attribute("arrival").Value);
                timetable.route     = instanceRoute.Select(int.Parse(element.Attribute("routeId").Value));
                timetable.driver    = instanceDriver.Select(int.Parse(element.Attribute("driverId").Value));
                timetable.vehicle   = instanceVehicle.Select(int.Parse(element.Attribute("vehicleId").Value));

                timetables.Add((T)timetable);
            }

            return(timetables);
        }
Exemplo n.º 2
0
        public static Vehicle CreateEntry(ulong CID, int carSort, int color = 0, int grade = 1)
        {
            using (var rc = Database.GetContext())
            {
                try
                {
                    VehicleTable.GetVehicleUpgrade(carSort, grade);
                }
                catch (Exception ex)
                {
                    Log.WriteError($"Failed to get vehicle {carSort} grade {grade} for Vehicle.CreateEntry: {ex.Message}");
                    return(null);
                }

                var lastVehicle = rc.Vehicles.Where(i => i.CID == (long)CID).OrderByDescending(i => i.CarID).FirstOrDefault();

                var newVehicle = new Models.Vehicle
                {
                    CID          = (long)CID,
                    CarID        = (lastVehicle?.CarID ?? 0) + 1,
                    CarType      = carSort,
                    Grade        = grade,
                    AuctionCount = 0,
                    Color        = color
                };

                rc.Vehicles.Add(newVehicle);
                rc.SaveChanges();

                return(new Vehicle(newVehicle.CarType, newVehicle));
            }
        }
Exemplo n.º 3
0
        public static void Initialize(Config config)
        {
            QuestTable.Load("res/QuestClient.json");
            ItemTable.Load("res/ItemClient.json", "res/UseItemClient.json");
            VehicleTable.Load("res/VehicleUpgrade.json", "res/VehicleList.json");
            AssistTable.Load("res/AssistClient.json");

            Log.WriteLine("Loaded resources.");
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            Database db = new Database();

            db.Connect();

            Vehicle u = new Vehicle();

            u.Id = 14;
            // u.Manufacturer = "Stadler";
            //u.Model = "Tango NF2 kopie";


            Console.WriteLine("Seznam vsech statu ve DB");
            foreach (Country c in CountryTable.Select())
            {
                Console.WriteLine(c.Id + " " + c.Name + " " + c.Continent);
            }
            Console.WriteLine("----");

            Console.WriteLine("Seznam vsech mest ve DB");
            foreach (City c in CityTable.Select())
            {
                Console.WriteLine(c.Id + " " + c.Name + " " + c.Region + " STAT: " + c.Country.Name);
            }
            Console.WriteLine("----");


            Console.WriteLine("Seznam vsech vozidel ve DB");
            foreach (Vehicle v in VehicleTable.Select())
            {
                Console.WriteLine(v.Id + "  Znacka:" + v.vehicleModel.Manufacturer + " Model:" + v.vehicleModel.Model + " Podtyp:" + v.Podtyp + " City:" + v.city.Name + " Depo:" + v.depot.Name);
            }

            Console.WriteLine("Seznam vsech company ve DB");
            foreach (Company c in CompanyTable.Select())
            {
                Console.WriteLine(c.Id + " Nazev:" + c.Name);
            }


            //VehicleTable.Insert(u, db);

            /*
             * int count1 = VehicleTable.Select(db).Count;
             * int dltCount = VehicleTable.Delete(7, db);
             * int count2 = VehicleTable.Select(db).Count;
             *
             * Console.WriteLine("#C: " + count1);
             * Console.WriteLine("#D: " + dltCount);
             * Console.WriteLine("#C: " + count2);
             */
            db.Close();
            Console.ReadKey();
        }
Exemplo n.º 5
0
        private Vehicle(int id, Models.Vehicle dbVehicle = null, int grade = 1)
        {
            int lookupId    = id;
            int lookupGrade = grade;

            if (dbVehicle != null)
            {
                AuctionCount = (uint)dbVehicle.AuctionCount;
                Color        = (uint)dbVehicle.Color;
                CarID        = dbVehicle.CarID;
                CarType      = (uint)dbVehicle.CarType;
                Grade        = (uint)dbVehicle.Grade;
                Mitron       = dbVehicle.Mitron;
                Kms          = dbVehicle.Kms;
                SlotType     = 0;

                lookupId    = dbVehicle.CarType;
                lookupGrade = dbVehicle.Grade;
            }

            VehicleUpgradeEntry = VehicleTable.GetVehicleUpgrade(lookupId, lookupGrade);
            VehicleListEntry    = VehicleTable.Vehicles[lookupId];
        }
Exemplo n.º 6
0
        public static BaseTable ReadXBin(BinaryReader reader, ulong hash)
        {
            BaseTable XBinData = null;

            switch (hash)
            {
            case 0x5E42EF29E8A3E1D3:     // StringTable
                XBinData = new StringTable();
                XBinData.ReadFromFile(reader);
                break;

            case 0xA869F8A3AC7656E1:           // M3
            case 0xA869F8A3ED0CDAFC:           // M1: DE
                XBinData = new VehicleTable(); // VehicleTable
                XBinData.ReadFromFile(reader);
                break;

            case 0x3759788EC437536C:     // CarGearboxTable
                XBinData = new CarGearBoxesTable();
                XBinData.ReadFromFile(reader);
                break;

            case 0xF5D56763013A2B0A:     // CarInteriorColorsTable
                XBinData = new CarInteriorColorsTable();
                XBinData.ReadFromFile(reader);
                break;

            case 0x44FA070D73C43CBD:     // CarTrafficTuningTable for M1:DE
            case 0x44FA070D55388F65:     // CarTrafficTuningTable for M3
                XBinData = new CarTrafficTuningTable();
                XBinData.ReadFromFile(reader);
                break;

            case 0x09B5140FA382AF8F:     // CarTuningModificatorsTable
                XBinData = new CarTuningModificatorsTable();
                XBinData.ReadFromFile(reader);
                break;

            case 0x2793BB7847F84081:     // GameMeshBindingTable
                XBinData = new GameMeshBindingTable();
                XBinData.ReadFromFile(reader);
                break;

            case 0x493DEA76C9A390F0:     // SlotTable
                XBinData = new SlotTable();
                XBinData.ReadFromFile(reader);
                break;

            case 0xB77D0A522C8E12A3:     // MissionsTable
                XBinData = new MissionsTable();
                XBinData.ReadFromFile(reader);
                break;

            case 0x3990790678078A1C:     // GenericSpeechSituations
                XBinData = new GenericSpeechSituationsTable();
                XBinData.ReadFromFile(reader);
                break;

            case 0xEF795C84CA85E193:     // CharacterCinematicsTable
                XBinData = new CharacterCinematicsTable();
                XBinData.ReadFromFile(reader);
                break;

            case 0x5D69A41C1FBD6565:     // TableContainer (Mafia I: DE)
            case 0x5D69A41CDC82936C:     // TableContainer (Mafia III)
                XBinData = new TableContainer();
                XBinData.ReadFromFile(reader);
                break;

            case 0x06F579D51CE129A5:     // GfxEnvContainer (Mafia III)
            case 0x06F579D595DA02AD:     // GfxEnvContainer (Mafia I: DE)
                XBinData = new GfxEnvContainer();
                XBinData.ReadFromFile(reader);
                break;

            case 0xAD5CF0F7FC3717F0:     // GameGuiContainer (Mafia I: DE)
            case 0xAD5CF0F764C39370:     // GameGuiContainer (Mafia III)
                XBinData = new GameGuiContainer();
                XBinData.ReadFromFile(reader);
                break;

            case 0x0E2FBBCF46754F66:     // CarTuningPackAvailabilityTable (Mafia I: DE and Mafia III)
                XBinData = new CarTuningPackAvailabilityTable();
                XBinData.ReadFromFile(reader);
                break;

            //case 0xDC327944DD83627E: // TODO: Fix for M1: DE. look for 0xA for PaintCombination array entries.
            //    XBinData = new PaintCombinationsTable(); // PaintCombinations
            //    XBinData.ReadFromFile(reader);
            //    break;
            default:
                throw new Exception("We lack the support for this type.");
                break;
            }

            Debug.Assert(XBinData != null, "XBinData is null, but we should have actually read this.");
            return(XBinData);
        }