// Use this for initialization
	protected void Start () {
		canDoAnything = true;
		actualMechanic = Mechanic.NORMAL;
		rig = this.GetComponent<Rigidbody2D>();
		canWalk = true;
		canMove = true;
		canScalling = true;
		thisCol = GetComponent<Collider2D> ();
	}
	//non projectile
	public HB_Instruction(A_Fighter owner, List<HB_KeyFrame> onOffTimes, string jointName, 
		float damage, float radius, Mechanic attackMechanic = null, ParticleSystem p = null)
	{
		this.owner = owner;
		this.onOffTimes = onOffTimes;
		this.jointName = jointName;
		this.damage = damage;
		this. radius = radius;
		this.attackMechanic = attackMechanic;
		this.particleSystem = particleSystem;
		this.projectileSpeed = 0.0f;
		this.projectileStartLocation = Vector3.zero;
		this.projectileDirection = Vector3.zero;
		
	}
        public string DeleteMechanic(int?Id)
        {
            Booking  booking;
            Mechanic entity = _dbContext.Mechanics.Find(Id);
            int      count  = _dbContext.Bookings.Where(a => a.MechanicId == entity.MechanicId).Count();

            if (count != 0)
            {
                for (int j = 0; j < count; j++)
                {
                    booking = _dbContext.Bookings.Where(a => a.MechanicId == entity.MechanicId).FirstOrDefault();
                    _dbContext.Bookings.Remove(booking);
                    _dbContext.SaveChanges();
                }
            }
            _dbContext.Mechanics.Remove(entity);
            _dbContext.SaveChanges();
            return("Deleted");
        }
Beispiel #4
0
        public async Task <IActionResult> Put(int id, Mechanic mechanic)
        {
            if (id != mechanic.Id)
            {
                return(BadRequest());
            }


            try
            {
                await _repository.Put(mechanic);
            }
            catch (DbUpdateConcurrencyException)
            {
                return(NotFound());
            }

            return(NoContent());
        }
        public static Mechanic GetMechanic()
        {
            var defaultValue = string.Empty;

            var mechanic = new Mechanic
            {
                Id                = CrossSettings.Current.GetValueOrDefault(Server.ID, 0),
                Title             = CrossSettings.Current.GetValueOrDefault(Server.TITLE, defaultValue),
                Name              = CrossSettings.Current.GetValueOrDefault(Server.NAME, defaultValue),
                ContactNo         = CrossSettings.Current.GetValueOrDefault(Server.CONTACTNO, defaultValue),
                Address           = CrossSettings.Current.GetValueOrDefault(Server.ADDRESS, defaultValue),
                Latitude          = CrossSettings.Current.GetValueOrDefault(Server.LAT, 0d),
                Longitude         = CrossSettings.Current.GetValueOrDefault(Server.LONG, 0d),
                CurrentConnection = CrossSettings.Current.GetValueOrDefault(Server.CONNECTIONID, defaultValue),
                ImageUrl          = CrossSettings.Current.GetValueOrDefault(Server.IMAGEURL, defaultValue)
            };

            return(mechanic);
        }
        public IHttpActionResult PutMechanic(int id, Mechanic mechanic)
        {
            var mechanicInDb = db.Mechanics.Find(id);

            if (mechanicInDb == null)
            {
                return(NotFound());
            }

            mechanicInDb.Name      = mechanic.Name;
            mechanicInDb.Title     = mechanic.Title;
            mechanicInDb.ContactNo = mechanic.ContactNo;
            mechanicInDb.Latitude  = mechanic.Latitude;
            mechanicInDb.Longitude = mechanic.Longitude;
            mechanicInDb.Address   = mechanic.Address;
            db.SaveChanges();

            return(Ok(mechanicInDb));
        }
Beispiel #7
0
 public string CreateBooking(BookingViewModel model)
 {
     if (model != null)
     {
         int noOfBooking = _dbContext.Bookings.Where(a => a.VehicleId == model.VehicleId).Where(a => a.ServiceId == model.ServiceId).Count();
         if (noOfBooking != 0)
         {
             return("Exist");
         }
         Vehicle  vech = _dbContext.Vehicles.Where(a => a.VehicleId == model.VehicleId).FirstOrDefault();
         Mechanic mech = _dbContext.Mechanics.Where(a => a.Brand == vech.Brand).FirstOrDefault();
         model.MechanicId = mech.MechanicId;
         model.Status     = 1;
         Booking entity = Mapper.Map <BookingViewModel, Booking>(model);
         _dbContext.Bookings.Add(entity);
         _dbContext.SaveChanges();
         return("Booking added");
     }
     return("Model is null");
 }
            private void Slice()
            {
                if (Deleted || !Alive)
                {
                    StopTimer();
                    return;
                }

                if (Aspect == null || Aspect.Deleted || !Aspect.Alive || !Aspect.InRange(this, Aspect.RangePerception * 2))
                {
                    Destroy();
                    return;
                }

                if (!Aspect.InCombat())
                {
                    return;
                }

                if (_Spawn == null)
                {
                    _Spawn = ListPool <ISpawnable> .AcquireObject();
                }

                if (_Spawn.Count < 3)
                {
                    var s = new Mechanic(Aspect);

                    _Spawn.Add(s);

                    s.Spawner = this;

                    Register(s);

                    var p = this.GetRandomPoint3D(1, 2, Map, true, true);

                    s.OnBeforeSpawn(p, Map);
                    s.MoveToWorld(p, Map);
                    s.OnAfterSpawn();
                }
            }
Beispiel #9
0
 public void signUpClicked()
 {
     if (signUpFirstName.text == "" | signUpLastName.text == "" | signUpEmail.text == "" | signUpPassword.text == "")
     {
         //input field message
         SSTools.ShowMessage("input field empty", SSTools.Position.bottom, SSTools.Time.twoSecond);
         return;
     }
     if (isMechanicSelected)
     {
         //checks if email already in use
         if (!dictionaryMechanic.ContainsKey(signUpEmail.text))
         {
             //creates mechanic account by adding mechanic object to dictionary
             Mechanic mechanica;
             mechanica = new Mechanic(signUpFirstName.text, signUpLastName.text, signUpEmail.text, signUpPassword.text);
             dictionaryMechanic.Add(signUpEmail.text, mechanica);
             SSTools.ShowMessage("new account created", SSTools.Position.bottom, SSTools.Time.twoSecond);
         }
         else
         {
             SSTools.ShowMessage("email account already in use", SSTools.Position.bottom, SSTools.Time.twoSecond);
         }
     }
     else
     {
         //checks if email already in use
         if (!dictionaryCustomer.ContainsKey(signUpEmail.text))
         {
             //creates customer account by adding customer object to dictionary
             Customer customera;
             customera = new Customer(signUpFirstName.text, signUpLastName.text, signUpEmail.text, signUpPassword.text);
             dictionaryCustomer.Add(signUpEmail.text, customera);
             SSTools.ShowMessage("new account created", SSTools.Position.bottom, SSTools.Time.twoSecond);
         }
         else
         {
             SSTools.ShowMessage("email account already in use", SSTools.Position.bottom, SSTools.Time.twoSecond);
         }
     }
 }
        public bool updateMechanicDetails(MechanicViewModel model)
        {
            try
            {
                Mechanic mechanic = _dbContext.Mechanics.Where(s => model.ExternalID.Equals(s.ExternalID)).FirstOrDefault();
                if (mechanic.Name != null)
                {
                    var config = new MapperConfiguration(cfg => cfg.CreateMap <MechanicViewModel, Mechanic>());
                    var mapper = new Mapper(config);
                    mapper.Map <MechanicViewModel, Mechanic>(model, mechanic);

                    _dbContext.SaveChanges();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                //return false;
            }
            return(false);
        }
Beispiel #11
0
        internal void PopulateEffectInfo()
        {
            combinedEffectMechanics = Mechanic.AsFlag();
            maxTargetingRadius      = 0.0f;

            foreach (SpellEffectInfo spellEffectInfo in spellEffectInfos)
            {
                if (spellEffectInfo is EffectApplyAura auraApplyEffect)
                {
                    for (int index = 0; index < auraApplyEffect.AuraInfo.AuraEffects.Count; index++)
                    {
                        combinedEffectMechanics |= auraApplyEffect.AuraInfo.AuraEffects[index].Mechanics.AsFlag();
                    }
                }

                if (spellEffectInfo.Targeting is SpellTargetingArea areaTargeting)
                {
                    maxTargetingRadius = Mathf.Max(areaTargeting.MaxRadius, maxTargetingRadius);
                }
            }
        }
Beispiel #12
0
        public string UpdateMechanic(Mechanic Mechanic)
        {
            var MechanicFromDb = _db.Mechanic.Where(c => c.Id == Mechanic.Id && c.IsActive == true).FirstOrDefault();

            if (MechanicFromDb != null)
            {
                MechanicFromDb.Email = Mechanic.Email;

                MechanicFromDb.ContactNo   = Mechanic.ContactNo;
                MechanicFromDb.CreatedBy   = Mechanic.CreatedBy;
                MechanicFromDb.Name        = Mechanic.Name;
                MechanicFromDb.DealerId    = Mechanic.DealerId;
                MechanicFromDb.UpdatedBy   = Mechanic.UpdatedBy;
                MechanicFromDb.UpdatedDate = DateTime.Now;

                _db.Entry(MechanicFromDb).State = EntityState.Modified;
                _db.SaveChanges();
                return("Success");
            }
            return("Error");
        }
Beispiel #13
0
    public override void Init(DungeonMechanic _spawner, Mechanic _incomingMech)
    {
        _canMove         = true;
        _myAgent         = gameObject.GetComponent <NavMeshAgent>();
        _myAgent.enabled = false;
        _mySpawner       = _spawner;
        _myMechanic      = _incomingMech;
        _menuRef         = Menuing.Instance;

        _myBody       = transform.GetChild(2).gameObject;
        _myRenderer   = _myBody.GetComponent <SkinnedMeshRenderer>();
        _mySpookiness = _myRenderer.materials[1];

        _spookColor              = _mySpookiness.color;
        _spookColor.a            = 0;
        _myRenderer.materials[1] = _mySpookiness;

        _myAnimations = GetComponent <Animator>();
        _myAnimations.Play("Moving", 0);
        _startTime = Time.time;
    }
        public ActionResult EditMechanic(int id, Mechanic mechanic)
        {
            SelectList qualification = new SelectList(employeesDAO.GetAllQualification());

            ViewBag.Qualification = qualification;
            try
            {
                if (mechanicDAO.EditMechanic(id, mechanic))
                {
                    return(RedirectToAction("IndexH"));
                }
                else
                {
                    return(View("EditMechanic"));
                }
            }
            catch
            {
                return(View("EditMechanic"));
            }
        }
        public void Test7_GetMechanicAndMechanic()
        {
            Mechanic testMechanic = new Mechanic("Russ");

            testMechanic.Save();

            Clients firstClients = new Clients("Joe", testMechanic.GetId());

            firstClients.Save();
            Clients secondClients = new Clients("Rouz", testMechanic.GetId());

            secondClients.Save();


            List <Clients> testClientsList = new List <Clients> {
                firstClients, secondClients
            };
            List <Clients> resultClientsList = testMechanic.GetClients();

            Assert.Equal(testClientsList, resultClientsList);
        }
Beispiel #16
0
    // Use this for initialization
    void Start()
    {
        animationscript = transform.GetComponent <animationScript>();
        activitymanager = transform.GetComponent <activityManager> ();


        //creating customers
        Customer customer1 = new Customer(1, "harry", "hazelton", "h", "p");
        Customer customer2 = new Customer(2, "Connor", "Jones", "c", "p");

        //adding customers to dictionary

        dictionaryCustomer.Add(customer1.getEmail(), customer1);
        dictionaryCustomer.Add(customer2.getEmail(), customer2);



        Mechanic mechanic1 = new Mechanic(3, "Steve", "Harvey", "s", "p");
        Mechanic mechanic2 = new Mechanic(4, "Aladin", "Harvey", "a", "p");

        //adding mechanics to dictionary
        dictionaryMechanic.Add(mechanic1.getEmail(), mechanic1);
        dictionaryMechanic.Add(mechanic2.getEmail(), mechanic2);

        //create service request
        customer2.car = new Car();
        customer2.car.setMake("toyota");
        customer2.car.setModel("aurion");
        print(customer1.car.getMake());
        activitymanager.addServiceRequest(new serviceRequestReciept("fuel", 29f));
        activitymanager.getServiceRequest(0).customerId = customer2.getID();
        activitymanager.getServiceRequest(0).car        = new Car();
        activitymanager.getServiceRequest(0).car.setMake("toyota");
        activitymanager.getServiceRequest(0).car.setModel("aurion");
        customer2.addServiceRequest(activitymanager.getServiceRequest(0));

        Data data = new Data();

        data.saveCustomer(customer2);
    }
Beispiel #17
0
 public static string GetMechanicName(Mechanic mechanic)
 {
     switch (mechanic)
     {
         case Mechanic.None:
             return "No Mechanics";
         case Mechanic.AdjacentBuff:
             return "Adjacent Buff";
         case Mechanic.AffectedBySpellPower:
             return "Affected By Spell Power";
         case Mechanic.DivineShield:
             return "Divine Shield";
         case Mechanic.HealTarget:
             return "Heal Target";
         case Mechanic.ImmuneToSpellpower:
             return "Immune To Spell Power";
         case Mechanic.OneTurnEffect:
             return "One Turn Effect";
         default:
             return mechanic.ToString();
     }
 }
Beispiel #18
0
        private User AddDefaultAdmin()
        {
            var mechanic = new Mechanic("Bosse", "Andersson", new DateTime(1967, 05, 23));

            mechanic.Skills.Add("Motor");

            mechanic.Skills.Add("Hjul");
            mechanic.Skills.Add("Bromsar");
            mechanic.Skills.Add("Vindrutor");
            mechanic.Skills.Add("Kaross");

            _mechanicdb.Save(mechanic);

            var user = new User();

            user.Username = "******";
            user.Password = "******";
            user.UserID   = mechanic.MechanicID;
            user.Admin    = true;

            return(user);
        }
        /// <summary>
        /// Admin och användare kan lägga till kompetenser.
        /// </summary>
        /// <param name="mechanic"></param>
        /// <param name="skill"></param>
        public void AddSkill(Mechanic mechanic, string skill)
        {
            _mechanics = _mechanicdb.Load();

            foreach (var item in _mechanics)
            {
                if (item.MechanicID == mechanic.MechanicID)
                {
                    foreach (var mechSkill in item.Skills)
                    {
                        if (item.Skills.Contains(skill))
                        {
                            return;
                        }
                    }
                    //Totalt 5 skills!
                    mechanic.Skills.Add(skill);
                    _mechanicdb.Save(mechanic);
                    return;
                }
            }
        }
Beispiel #20
0
        public Mechanic AddMechanic(Mechanic mechanic)
        {
            try
            {
                if (mechanic != null)
                {
                    if (mechanic.Id == 0)
                    {
                        _dbContext.mechanics.Add(mechanic);
                        _dbContext.SaveChanges();

                        var user = _dbContext.mechanics.Where(x => x.Email == mechanic.Email).FirstOrDefault();
                        user.MechanicNo = "M" + user.Id;
                        _dbContext.Entry(user).State = EntityState.Modified;

                        _dbContext.SaveChanges();
                        MyLogger.GetInstance().Info(mechanic.Name + " added successfully");
                        return(user);
                    }
                    else
                    {
                        _dbContext.Entry(mechanic).State = EntityState.Modified;

                        _dbContext.SaveChanges();
                        MyLogger.GetInstance().Info(mechanic.Name + " updated successfully");
                        return(mechanic);
                    }
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                MyLogger.GetInstance().Info(ex.Message);
                return(null);
            }
        }
        public ChangeMechanicPage(Mechanic mechanic, List <Mechanic> mechanics)
        {
            InitializeComponent();

            Mechanic = mechanic;

            Mechanics = mechanics;

            this.mechanicToChangeNamelabel.Content = mechanic.Name;

            foreach (Component qualification in mechanic.Qualifications)
            {
                if (qualification == Component.Bromsar)
                {
                    this.brakesCheckBox.IsChecked = true;
                }

                if (qualification == Component.Däck)
                {
                    this.tiresCheckBox.IsChecked = true;
                }

                if (qualification == Component.Kaross)
                {
                    this.carrieageBodyCheckBox.IsChecked = true;
                }

                if (qualification == Component.Motor)
                {
                    this.engineCheckBox.IsChecked = true;
                }

                if (qualification == Component.Vindrutor)
                {
                    this.windShieldCheckBox.IsChecked = true;
                }
            }
        }
Beispiel #22
0
        public async Task AddMechanic(List <Mechanic> mechanics, string name, DateTime birthday, DateTime employmentDate)
        {
            if (birthday > DateTime.Now || birthday < DateTime.Parse("1900-01-01"))
            {
                throw new DateOutOfReachException();
            }
            else if (employmentDate > DateTime.Now || employmentDate < DateTime.Parse("1900-01-01"))
            {
                throw new DateOutOfReachException();
            }

            Mechanic mechanic = new Mechanic();

            mechanic.Name           = name;
            mechanic.BirthDay       = birthday;
            mechanic.EmploymentDate = employmentDate;
            mechanic.Qualifications = qualifications;
            mechanic.IdNumber       = Guid.NewGuid();

            mechanics.Add(mechanic);

            await DataAccess.SaveData <Mechanic>(mechanics, FileName.Mechanic);
        }
Beispiel #23
0
    // Use this for initialization
    public virtual void Init(DungeonMechanic _spawner, Mechanic _incomingMech)
    {
        _myAgent    = GetComponent <NavMeshAgent>();
        _mySpawner  = _spawner;
        _myMechanic = _incomingMech;
        _target     = PlayerController.Instance;
        _menuRef    = Menuing.Instance;

        _myBody       = transform.GetChild(2).gameObject;
        _myRenderer   = _myBody.GetComponent <SkinnedMeshRenderer>();
        _mySpookiness = _myRenderer.materials[1];
        if (_myMechanic == Mechanic.COLOR)
        {
            _mySpookiness.color = _myColor;
        }
        _spookColor              = _mySpookiness.color;
        _spookColor.a            = 0;
        _mySpookiness.color      = _spookColor;
        _myRenderer.materials[1] = _mySpookiness;

        _myAnimations = GetComponent <Animator>();
        _myAnimations.Play("Movement", 0);
    }
Beispiel #24
0
    public Mechanic GetMechanicOfDriver(Driver inDriver)
    {
        if (inDriver.IsReserveDriver())
        {
            inDriver = this.contractManager.GetDriverSittingOut();
        }
        this.mMechanics.Clear();
        this.contractManager.GetAllMechanics(ref this.mMechanics);
        int count = this.mMechanics.Count;

        for (int index = 0; index < count; ++index)
        {
            Mechanic mMechanic = this.mMechanics[index];
            foreach (Driver driver in mMechanic.GetDrivers())
            {
                if (driver == inDriver)
                {
                    return(mMechanic);
                }
            }
        }
        return((Mechanic)null);
    }
        private async void RemoveMechanicButton_Click(object sender, RoutedEventArgs e)
        {
            if (mechanicList.SelectedItem == null)
            {
                MessageBox.Show("Ingen användare är vald!");
                return;
            }
            else
            {
                Mechanic choosenMechanic = Mechanics[mechanicList.SelectedIndex];

                ManageUsers manageUsers = new ManageUsers();

                List <User> users = manageUsers.AllUsers();

                int connectedToUser = users
                                      .FindIndex(user => user.MechanicId == choosenMechanic.IdNumber);

                if (connectedToUser > 0)
                {
                    var result = MessageBox.Show("Användaren som är kopplad till den här mekanikern kommer också att raderas. Vill du fortsätta?", "Varning!", MessageBoxButton.YesNo);

                    if (result == MessageBoxResult.Yes)
                    {
                        await manageUsers.DeleteUser(users[connectedToUser], users);

                        await ManageMechanics.DeleteMechanic(choosenMechanic, Mechanics);
                    }
                }
                else
                {
                    await ManageMechanics.DeleteMechanic(choosenMechanic, Mechanics);
                }
            }

            UpdateMechanicList();
        }
        Guid IMechanicService.RegisterMechanic(RegisterMechanicViewModel model)
        {
            _unitOfWork.BeginTransaction();

            var mechanic = new Mechanic(model.UserName, model.Password, model.Email, model.CompanyName, model.City, model.Country, model.PostalCode, model.Address);

            if (_mechanicRepository.emailTaken(mechanic))
            {
                _unitOfWork.Commit();
                throw new Exception(ExceptionMessages.MechanicException.EMAIL_TAKEN);
            }
            var isTaken = _mechanicRepository.userNameTaken(mechanic);

            if (isTaken)
            {
                _unitOfWork.Commit();
                throw new Exception(ExceptionMessages.MechanicException.USERNAME_TAKEN);
            }

            _mechanicRepository.Add(mechanic);
            _unitOfWork.Commit();

            return(mechanic.Id);
        }
Beispiel #27
0
        public bool AddMechanic(Mechanic mechanic, int id)
        {
            Connect();
            try
            {
                string sql = "INSERT INTO Mechanic" +
                             "(id, Qualification) VALUES (@id, @Qualification)";
                SqlCommand cmd_SQL = new SqlCommand(sql, Connection);
                cmd_SQL.Parameters.AddWithValue("@id", id);
                cmd_SQL.Parameters.AddWithValue("@Qualification", mechanic.Qualification);
                cmd_SQL.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                log.Error("ERROR: " + e.Message);
                return(false);
            }
            finally
            {
                Disconnect();
            }

            return(true);
        }
        public IHttpActionResult PostMechanic(Mechanic mechanic)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            var mechanicInDb = db.Mechanics.Where(m => m.ContactNo == mechanic.ContactNo).FirstOrDefault();

            if (mechanicInDb != null)
            {
                return(CreatedAtRoute("DefaultApi", new { id = mechanicInDb.Id }, mechanicInDb));
            }

            var initial = mechanic.Name[0].ToString().ToUpper();

            mechanic.ImageUrl = $"Images\\{initial}.jpg";

            db.Mechanics.Add(mechanic);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = mechanic.Id }, mechanic));
        }
Beispiel #29
0
        private void Delete_Click(object sender, RoutedEventArgs e)
        {
            Errands errandSelected = lv_Errand.SelectedItem as Errands;

            if (errandSelected != null)
            {
                string jsonFromFile;
                using (var reader = new StreamReader(mechpath))
                {
                    jsonFromFile = reader.ReadToEnd();
                }
                var readFromJson = JsonConvert.DeserializeObject <List <Mechanic> >(jsonFromFile);
                mechanics = readFromJson;

                Mechanic mechanic  = readFromJson.FirstOrDefault(x => x.ErrandIDArray[0] == errandSelected.ErrandID);
                Mechanic mechanic2 = readFromJson.FirstOrDefault(x => x.ErrandIDArray[1] == errandSelected.ErrandID);

                if (mechanic != null)
                {
                    mechanic.ErrandIDArray[0] = Guid.Empty;
                }
                if (mechanic2 != null)
                {
                    mechanic2.ErrandIDArray[1] = Guid.Empty;
                }

                if (errandSelected != null)
                {
                    errands.Remove(errandSelected);
                }
                DeleteTheErrand();
                Overrite <Mechanic>(mechpath, mechanics);
                ErrandViewer.Children.Clear();
                ErrandViewer.Children.Add(new UserControlNewErrand());
            }
        }
Beispiel #30
0
        private void UpdateAssembledCars(string[] selectedCars, Mechanic mechanicToUpdate)
        {
            if (selectedCars == null)
            {
                mechanicToUpdate.AssembledCars = new List <AssembledCar>();
                return;
            }
            var selectedCarsHS = new HashSet <string>(selectedCars);
            var assembledCars  = new HashSet <int>
                                     (mechanicToUpdate.AssembledCars.Select(c => c.Car.ID));

            foreach (var car in _context.Cars)
            {
                if (selectedCarsHS.Contains(car.ID.ToString()))
                {
                    if (!assembledCars.Contains(car.ID))
                    {
                        mechanicToUpdate.AssembledCars.Add(new AssembledCar
                        {
                            MechanicID =
                                mechanicToUpdate.ID,
                            CarID = car.ID
                        });
                    }
                }
                else
                {
                    if (assembledCars.Contains(car.ID))
                    {
                        AssembledCar carToRemove = mechanicToUpdate.AssembledCars.FirstOrDefault(i
                                                                                                 => i.CarID == car.ID);
                        _context.Remove(carToRemove);
                    }
                }
            }
        }
        public void UnparkCommand(Client player, int vehicleId)
        {
            VehicleModel vehicle = Vehicles.GetParkedVehicleById(vehicleId);

            if (vehicle == null)
            {
                // There's no vehicle with that identifier
                NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + Messages.ERR_VEHICLE_NOT_EXISTS);
            }
            else if (Vehicles.HasPlayerVehicleKeys(player, vehicle) == false)
            {
                NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + Messages.ERR_NOT_CAR_KEYS);
            }
            else
            {
                foreach (ParkingModel parking in parkingList)
                {
                    if (player.Position.DistanceTo(parking.position) < 2.5f)
                    {
                        // Check whether the vehicle is in this parking
                        if (parking.id == vehicle.parking)
                        {
                            int playerMoney = NAPI.Data.GetEntitySharedData(player, EntityData.PLAYER_MONEY);

                            switch (parking.type)
                            {
                            case Constants.PARKING_TYPE_PUBLIC:
                                break;

                            case Constants.PARKING_TYPE_SCRAPYARD:
                                break;

                            case Constants.PARKING_TYPE_DEPOSIT:
                                // Remove player's money
                                if (playerMoney >= Constants.PRICE_PARKING_DEPOSIT)
                                {
                                    NAPI.Data.SetEntitySharedData(player, EntityData.PLAYER_MONEY, playerMoney - Constants.PRICE_PARKING_DEPOSIT);

                                    String message = String.Format(Messages.INF_UNPARK_MONEY, Constants.PRICE_PARKING_DEPOSIT);
                                    NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_INFO + message);
                                }
                                else
                                {
                                    String message = String.Format(Messages.ERR_PARKING_NOT_MONEY, Constants.PRICE_PARKING_DEPOSIT);
                                    NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + message);
                                    return;
                                }
                                break;
                            }

                            // Get parked vehicle model
                            ParkedCarModel parkedCar = GetParkedVehicle(vehicleId);

                            // Recreate the vehicle
                            Vehicle newVehicle = NAPI.Vehicle.CreateVehicle(NAPI.Util.VehicleNameToModel(vehicle.model), parking.position, vehicle.rotation.Z, new Color(0, 0, 0), new Color(0, 0, 0));
                            NAPI.Vehicle.SetVehicleNumberPlate(newVehicle, vehicle.plate == String.Empty ? "LS " + (1000 + vehicle.id) : vehicle.plate);
                            NAPI.Vehicle.SetVehicleEngineStatus(newVehicle, false);
                            NAPI.Vehicle.SetVehicleLocked(newVehicle, false);

                            if (vehicle.colorType == Constants.VEHICLE_COLOR_TYPE_PREDEFINED)
                            {
                                NAPI.Vehicle.SetVehiclePrimaryColor(newVehicle, Int32.Parse(vehicle.firstColor));
                                NAPI.Vehicle.SetVehicleSecondaryColor(newVehicle, Int32.Parse(vehicle.secondColor));
                                NAPI.Vehicle.SetVehiclePearlescentColor(newVehicle, vehicle.pearlescent);
                            }
                            else
                            {
                                String[] firstColor  = vehicle.firstColor.Split(',');
                                String[] secondColor = vehicle.secondColor.Split(',');
                                NAPI.Vehicle.SetVehicleCustomPrimaryColor(newVehicle, Int32.Parse(firstColor[0]), Int32.Parse(firstColor[1]), Int32.Parse(firstColor[2]));
                                NAPI.Vehicle.SetVehicleCustomSecondaryColor(newVehicle, Int32.Parse(secondColor[0]), Int32.Parse(secondColor[1]), Int32.Parse(secondColor[2]));
                            }

                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_ID, vehicle.id);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_MODEL, vehicle.model);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_POSITION, parking.position);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_ROTATION, vehicle.rotation);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_COLOR_TYPE, vehicle.colorType);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_FIRST_COLOR, vehicle.firstColor);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_SECOND_COLOR, vehicle.secondColor);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_PEARLESCENT_COLOR, vehicle.pearlescent);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_FACTION, vehicle.faction);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_PLATE, vehicle.plate);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_OWNER, vehicle.owner);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_PRICE, vehicle.price);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_GAS, vehicle.gas);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_KMS, vehicle.kms);

                            // Update parking values
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_DIMENSION, 0);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_PARKING, 0);
                            NAPI.Data.SetEntityData(newVehicle, EntityData.VEHICLE_PARKED, 0);

                            // Add tunning
                            Mechanic.AddTunningToVehicle(newVehicle);

                            // Unlink from the parking
                            parkedCars.Remove(parkedCar);

                            return;
                        }

                        // The vehicle is not in this parking
                        NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + Messages.ERR_VEHICLE_NOT_THIS_PARKING);
                        return;
                    }
                }

                // Player's not in any parking
                NAPI.Chat.SendChatMessageToPlayer(player, Constants.COLOR_ERROR + Messages.ERR_NOT_PARKING_NEAR);
            }
        }
        public async void AddMechanicButton_Click(object sender, RoutedEventArgs e)
        {
            string   someString = tbDateOfBirth.Text;
            DateTime DateOfBirth;

            DateTime.Now.ToString("yyyy-MM-dd");

            try
            {
                DateOfBirth = DateTime.Parse(someString);
            }
            catch (FormatException)
            {
                throw new DateTimeException();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }



            if (!Regex.IsMatch(tbDateOfEmployment.Text, @"^\d{4}-((0\d)|(1[012]))-(([012]\d)|3[01])$"))
            {
                MessageBox.Show("Enter a valid date for Date of Employment. YYYY-MM-DD");
                return;
            }

            if (!Regex.IsMatch(tbEmploymentEnds.Text, @"^\d{4}-((0\d)|(1[012]))-(([012]\d)|3[01])$"))
            {
                MessageBox.Show("Enter a valid date for Employment Ends. YYYY-MM-DD");
                return;
            }


            string firstName             = this.tbFirstName.Text;
            string surName               = this.tbSurName.Text;
            string dateOfBirth           = this.tbDateOfBirth.Text;
            string dateOfEmployment      = this.tbDateOfEmployment.Text;
            string employmentEnds        = this.tbEmploymentEnds.Text;
            string EnginesAreChecked     = ((bool)cbEnginesYes.IsChecked) ? "Yes" : "No";
            string TiresAreChecked       = ((bool)cbTiresYes.IsChecked) ? "Yes" : "No";
            string BrakesAreChecked      = ((bool)cbBrakesYes.IsChecked) ? "Yes" : "No";
            string WindshieldsAreChecked = ((bool)cbWindshieldsYes.IsChecked) ? "Yes" : "No";
            string VehicleBodyIsChecked  = ((bool)cbVehicleBodyYes.IsChecked) ? "Yes" : "No";


            Mechanic mechanic = new Mechanic
            {
                FirstName         = firstName,
                SurName           = surName,
                DateOfBirth       = dateOfBirth,
                DateOfEmployment  = dateOfEmployment,
                EndDate           = employmentEnds,
                MechID            = Guid.NewGuid(),
                CanFixEngines     = EnginesAreChecked,
                CanFixTires       = TiresAreChecked,
                CanFixBrakes      = BrakesAreChecked,
                CanFixWindshields = WindshieldsAreChecked,
                CanFixVehicleBody = VehicleBodyIsChecked,
                ErrandIDArray     = new Guid[2],
                ActiveErrands     = 0
            };
            //hej
            string jsonFromFile1;

            using (var reader = new StreamReader(mechpath))
            {
                jsonFromFile1 = reader.ReadToEnd();
            }
            List <Mechanic> mechanics1;

            if (jsonFromFile1 == "")
            {
                mechanics1 = new List <Mechanic>();
                mechanics  = mechanics1;
            }
            else
            {
                mechanics1 = JsonConvert.DeserializeObject <List <Mechanic> >(jsonFromFile1);
            }


            if (mechanics != null)
            {
                //READ
                if (mechanics.Count >= 1)
                {
                    string jsonFromFile;
                    using (var reader = new StreamReader(mechpath))
                    {
                        jsonFromFile = reader.ReadToEnd();
                    }
                    var readFromJson = JsonConvert.DeserializeObject <List <Mechanic> >(jsonFromFile);
                    mechanics.Add(mechanic);
                    var jsonToWrite = JsonConvert.SerializeObject(mechanics, Formatting.Indented);
                    using (var writer = new StreamWriter(mechpath))
                    {
                        await writer.WriteAsync(jsonToWrite);
                    }
                }
                //ADD
                else
                {
                    mechanics.Add(mechanic);
                    var jsonToWrite = JsonConvert.SerializeObject(mechanics, Formatting.Indented);
                    var fs          = File.OpenWrite(mechpath);
                    using (var writer = new StreamWriter(fs))
                    {
                        await writer.WriteAsync(jsonToWrite);
                    }
                }
                AddMechView.Children.Clear();
                AddMechView.Children.Add(new AddMechanic());

                MessageBox.Show(AddMessage);
            }
        }
	public void SetActualMechanic(Mechanic m){
		if (m == Mechanic.NORMAL) {
			rig.gravityScale = 1f;
			colliding = null;
			actualMechanic = m;
		} else {
			actualMechanic = m;
		}
	}
        private async void AssignMechanicToErrand_Click(object sender, RoutedEventArgs e)
        {
            Errands errands1 = _selectedErrand;

            var mechanic = MechanicChoose.SelectedItem as Mechanic;

            mechanic.ErrandIDMech = errands1.ErrandID;

            var indexOfMechanic = mechanics.FindIndex(x => x.ErrandIDMech == errands1.ErrandID);

            mechanics[indexOfMechanic] = mechanic;

            errands1.FirstName = mechanic.FirstName;
            errands1.LastName  = mechanic.SurName;
            string CFB      = mechanic.CanFixBrakes;
            string CFE      = mechanic.CanFixEngines;
            string CFT      = mechanic.CanFixTires;
            string CFV      = mechanic.CanFixVehicleBody;
            string CFW      = mechanic.CanFixWindshields;
            string compNeed = errands1.ComponentsNeeded;

            //=========================================================================================
            _mechanic = mechanic;

            var totalElementsInArray = mechanic.ErrandIDArray;

            var numberOfElements = (bool)mechanic.HasErrands ? totalElementsInArray.Count() : 0;



            if (mechanic.ErrandIDArray[0].Equals(Guid.Empty))
            {
                _index = 0;
                mechanic.ErrandIDArray[_index] = errands1.ErrandID;
                var SetValueToMechanic = mechanics.FindIndex(x => x.ErrandIDArray[_index] == errands1.ErrandID);
                mechanics[SetValueToMechanic] = mechanic;
                _index++;
            }
            else if ((mechanic.ErrandIDArray[1].Equals(Guid.Empty)))
            {
                _index = 1;
                mechanic.ErrandIDArray[_index] = errands1.ErrandID;
                var SetValueToMechanic = mechanics.FindIndex(x => x.ErrandIDArray[_index] == errands1.ErrandID);
                mechanics[SetValueToMechanic] = mechanic;
                _index++;
            }
            else
            {
                MessageBox.Show("This mechanic has 2 errands already.", "Choose another mechanic.",
                                MessageBoxButton.OK, MessageBoxImage.Information);
                return;
            }

            //=========================================================================================

            if ((totalElementsInArray[0].Equals(Guid.Empty)) && (totalElementsInArray[1].Equals(Guid.Empty)))
            {
                mechanic.ErrandAmount = 0;
            }
            else if ((totalElementsInArray[0] != (Guid.Empty)) && (totalElementsInArray[1] != (Guid.Empty)))
            {
                mechanic.ErrandAmount = 2;
            }
            else if ((totalElementsInArray[0] != (Guid.Empty)) || (totalElementsInArray[1] != (Guid.Empty)))
            {
                mechanic.ErrandAmount = 1;
            }

            //=========================================================================================

            if (mechanics.Count >= 1)
            {
                string jsonFromFile;
                using (var reader = new StreamReader(mechpath))
                {
                    jsonFromFile = reader.ReadToEnd();
                }
                var readFromJson = JsonConvert.DeserializeObject <List <Mechanic> >(jsonFromFile);
                //mechanics.Clear();
                //mechanics.Add(mechanic);
                var jsonToWrite = JsonConvert.SerializeObject(mechanics, Formatting.Indented);
                using (var writer = new StreamWriter(mechpath))
                {
                    await writer.WriteAsync(jsonToWrite);
                }
            }
            //ADD

            errands.Remove(_selectedErrand);



            if (((compNeed == "CarTires" || compNeed == "MCTires" || compNeed == "BusTires" || compNeed == "TruckTires") && CFT == "Yes") ||
                ((compNeed == "CarBrakes" || compNeed == "MCBrakes" || compNeed == "BusBrakes" || compNeed == "TruckBrakes") && CFB == "Yes") ||
                ((compNeed == "CarMotors" || compNeed == "MCMotors" || compNeed == "BusMotors" || compNeed == "TruckMotors") && CFE == "Yes") ||
                ((compNeed == "CarWindshields" || compNeed == "MCWindshields" || compNeed == "BusWindshields" || compNeed == "TruckWindshields") && CFW == "Yes") ||
                ((compNeed == "CarVehicleBodies" || compNeed == "MCVehicleBodies" || compNeed == "BusVehicleBodies" || compNeed == "TruckVehicleBodies") && CFV == "Yes"))
            {
                if (errands.Count >= 1)
                {
                    string jsonFromFile;
                    using (var reader = new StreamReader(pathforErrand))
                    {
                        jsonFromFile = reader.ReadToEnd();
                    }
                    var readFromJson = JsonConvert.DeserializeObject <List <Mechanic> >(jsonFromFile);
                    errands.Add(errands1);
                    var jsonToWrite = JsonConvert.SerializeObject(errands, Formatting.Indented);
                    using (var writer = new StreamWriter(pathforErrand))
                    {
                        await writer.WriteAsync(jsonToWrite);
                    }
                }

                else
                {
                    errands.Add(errands1);
                    var jsonToWrite = JsonConvert.SerializeObject(errands, Formatting.Indented);
                    var fs          = File.OpenWrite(pathforErrand);
                    using (var writer = new StreamWriter(fs))
                    {
                        await writer.WriteAsync(jsonToWrite);
                    }
                }
                ChooseMechanic.Children.Clear();
                ChooseMechanic.Children.Add(new UserControlNewErrand());
            }
            else
            {
                MessageBox.Show("Does not have the competence, choose another mechanic!");
            }
        }
Beispiel #35
0
    void Start()
    {
        lifescript = gameObject.AddComponent<Lives>();
        //gameoverpanel.Init();
        ms = gameObject.AddComponent<ModeSelect>();

        if (ms.getMode() == 1)
        {
            mc = FindObjectOfType<Mechanic>();
        }

        if (ms.getMode() == 2)
        {
            gmc = FindObjectOfType<GrannyMechanic>();
        }

        charanimator = FindObjectOfType<CollisionPlayer>().gameObject.GetComponentInChildren<Animator>();
        sfxm = FindObjectOfType<SFXManager>().GetComponent<SFXManager>();
        audiom = FindObjectOfType<AudioRegulator>().gameObject;
        lives = 3;
        realTime = 0f;
        slowdown = false;
        badtrip = false;
        activeSlow = false;
        activeTrip = false;
    }