public void CarriageMovesOnField(Carriage c)
 {
     c.SetActualPosition(this);
     cariage         = c;
     carriageOnField = true;
     changeFullState();
 }
示例#2
0
        public Vector2 CheckPlayersCollision(Carriage carriage)
        {
            var rocketMat = Matrix.CreateTranslation(-42, -240, 0) * Matrix.CreateRotationZ(RocketAngle) * Matrix.CreateScale(RocketScaling) * Matrix.CreateTranslation(RocketPosition.X, RocketPosition.Y, 0);
            var xPos      = (int)carriage.Position.X;
            var yPos      = (int)carriage.Position.Y;

            var carriageMat            = Matrix.CreateTranslation(0, -_textureCenter.CarriageTexture.Height, 0) * Matrix.CreateScale(carriage.PlayerScaling) * Matrix.CreateTranslation(xPos, yPos, 0);
            var carriageCollisionPoint = Utils.TexturesCollide(_textureCenter.CarriageColorArray, carriageMat, _textureCenter.RocketColorArray, rocketMat);

            if (carriageCollisionPoint.X > -1)
            {
                RocketHit();
                return(carriageCollisionPoint);
            }

            var cannonMat            = Matrix.CreateTranslation(-11, -50, 0) * Matrix.CreateRotationZ(carriage.Angle) * Matrix.CreateScale(carriage.PlayerScaling) * Matrix.CreateTranslation(xPos + 20, yPos - 10, 0);
            var cannonCollisionPoint = Utils.TexturesCollide(_textureCenter.CannonColorArray, cannonMat, _textureCenter.RocketColorArray, rocketMat);

            if (!(cannonCollisionPoint.X > -1))
            {
                return(new Vector2(-1, -1));
            }

            RocketHit();
            carriage.IsAlive = false;
            return(cannonCollisionPoint);
        }
示例#3
0
 public ActionResult Edit(Carriage carriage, FormCollection collection)
 {
     ViewBag.TransportTypeList = new SelectList(db.Transport, "TransportId", "TransportType");
     db.Entry(carriage).State  = EntityState.Modified;
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
示例#4
0
        public ActionResult Create(Carriage carriage, FormCollection collection)
        {
            db.Entry(carriage).State = EntityState.Added;
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
 public void CarriageMovesFromField(Carriage c)
 {
     c.SetActualPosition(null);
     cariage         = null;
     carriageOnField = false;
     changeFullState();
 }
示例#6
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,CarriageTypeId,Number,Seats")] Carriage carriage)
        {
            if (id != carriage.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(carriage);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CarriageExists(carriage.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CarriageTypeId"] = new SelectList(_context.Carriagetype, "Id", "Name", carriage.CarriageTypeId);
            return(View(carriage));
        }
示例#7
0
文件: MainForm.cs 项目: koanse/Train
        public MainForm()
        {
            InitializeComponent();

            var carriage3 = new Carriage
            {
                PosX = 2 * 106 + 118,
                PosY = 27
            };

            var carriage2 = new Carriage
            {
                PosX = 106 + 118,
                PosY = 27
            };
            var carriage1 = new Carriage
            {
                PosX = 118,
                PosY = 27
            };
            var locomotive = new Locomotive(new [] { carriage1, carriage2, carriage3 }.ToList <RailwayItem>());

            items = new RailwayItem[] { carriage1, carriage2, carriage3, locomotive }.ToList <RailwayItem>();

            timer1.Start();
        }
示例#8
0
 public List <Carriage> Post([FromBody] Carriage value)
 {
     service.Create(value);
     return(service
            .GetAll()
            .ToList());
 }
示例#9
0
    private void Select(Carriage c)
    {
        Debug.Log(string.Format("SELECTED {0}", c));
        OnSelect?.Invoke(this);

        FMODUnity.RuntimeManager.PlayOneShot("event:/UI/ButtonSubmit01");
    }
示例#10
0
        /// <summary>
        /// Метод формує перший вагон із вказаним типом
        /// </summary>
        /// <param name="atype">Тип вагона</param>
        private void FormList(string atype)
        {
            Last = new Carriage(atype);

            Last.SetNumber(1);
            Count++;
        }
示例#11
0
        /// <summary>
        /// Метод формує перший вагон
        /// </summary>
        private void FormList()
        {
            Last = new Carriage();

            Last.SetNumber(1);
            Count++;
        }
示例#12
0
        public Carriage CarriageFromCSV(string[] format)
        {
            Carriage returningCarriage = new Carriage();

            returningCarriage.Id = int.Parse(format[0]);
            switch (int.Parse(format[1]))
            {
            case 1:
            {
                returningCarriage.Type = CarriageType.Sedentary;
                break;
            }

            case 2:
            {
                returningCarriage.Type = CarriageType.FirstClassSleeping;
                break;
            }

            case 3:
            {
                returningCarriage.Type = CarriageType.SecondClassSleeping;
                break;
            }
            }
            returningCarriage.DefaultPrice = int.Parse(format[2]);
            returningCarriage.TrainId      = int.Parse(format[3]);
            returningCarriage.Number       = int.Parse(format[4]);
            returningCarriage.Places       = new List <Place>();
            return(returningCarriage);
        }
示例#13
0
 public void Awake()
 {
     if (Type == CarriageType.Start)
     {
         StartCarriage = this;
     }
 }
示例#14
0
        /// <summary>
        /// Сортування за типом вагона
        /// </summary>
        static void Sort()
        {
            Stack First  = new Stack();
            Stack Second = new Stack();

            Carriage carriage = Train.GetLast();

            while (carriage != null)
            {
                if (carriage.GetTypeValue() == "Пасажирський")
                {
                    First.Add(carriage.GetTypeValue());
                    First.GetLast().SetNumber(carriage.GetNumber());
                }

                else if (carriage.GetTypeValue() == "Вантажний")
                {
                    Second.Add(carriage.GetTypeValue());
                    Second.GetLast().SetNumber(carriage.GetNumber());
                }

                carriage = carriage.Previous;
            }

            Console.WriteLine("\nПерший потяг \"Пасажирський\":\n");
            PrintStack(First);
            Console.WriteLine("\nДругий потяг \"Вантажний\":\n");
            PrintStack(Second);
            Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~");
        }
示例#15
0
    private bool InfectAdjacentCarriage()
    {
        List <People> adjacent = new List <People>();

        Carriage[] carriages = new Carriage[carriagesParent.childCount];
        People[]   people    = new People[carriagesParent.childCount];
        for (int i = 0; i < carriagesParent.childCount; i++)
        {
            Transform carriage = carriagesParent.GetChild(i);
            carriages[i] = carriage.GetComponent <Carriage>();
            people[i]    = carriage.GetComponent <People>();
        }

        for (int i = 0; i < carriagesParent.childCount; i++)
        {
            bool previousInfect = i - 1 >= 0 && carriages[i - 1].IsUnlocked() && people[i - 1].AnyInfected();
            bool nextInfect     = i + 1 < carriagesParent.childCount && carriages[i + 1].IsUnlocked() && people[i + 1].AnyInfected();
            bool canBeInfected  = carriages[i].IsUnlocked() && people[i].AnyToInfect() && !people[i].AnyInfected();
            if ((previousInfect || nextInfect) && canBeInfected)
            {
                adjacent.Add(people[i]);
            }
        }

        if (adjacent.Count > 0)
        {
            adjacent[Random.Range(0, adjacent.Count)].InfectPerson();
            return(true);
        }
        return(false);
    }
示例#16
0
        public ActionResult Edit(Carriage carriage, string[] selectedPacks)
        {
            if (selectedPacks != null)
            {
                carriage.Packss = new List <Packs>();
                foreach (var pack in selectedPacks)
                {
                    var packstoAdd = db.Packss.Find(int.Parse(pack));
                    carriage.Packss.Add(packstoAdd);
                }
            }


            //carriage.Packss = new List<Packs>();
            if (ModelState.IsValid)
            {
                repository.SaveCarriage(carriage);
                TempData["message"] = string.Format("Zapisano {0} ", carriage.Target);
                return(RedirectToAction("Index"));
            }


            PopulatePacks(carriage);
            Populate();
            Populate1();

            return(View(carriage));
        }
    private Carriage CreateCarriage(CarriageDefinition def)
    {
        Carriage carriage = Instantiate(m_carriagePrefab, Vector3.zero, Quaternion.identity);

        carriage.Init(def);
        return(carriage);
    }
        public bool ChangeCarriage(Carriage c)
        {
            using (var ctx = new OracleDbContext())
            {
                try
                {
                    var carr = ctx.Carriage.Where(x => x.CarriageID == c.CarriageID).FirstOrDefault();

                    carr.CarriageFreightType      = c.CarriageFreightType;
                    carr.FreightCapacity          = c.FreightCapacity;
                    carr.PassengerCapacity        = c.PassengerCapacity;
                    carr.CarriageRunningSituation = c.CarriageRunningSituation;
                    carr.TrainID = c.TrainID;
                    carr.CarriageCarryingSituation = c.CarriageCarryingSituation;

                    ctx.SaveChanges();

                    return(true);
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            System.Diagnostics.Debug.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                    return(false);
                }
            }
        }
        public async Task <JsonResult> Add([FromBody] Carriage carriage)
        {
            await CheckPermission();

            if (string.IsNullOrEmpty(carriage.Serial) || (carriage.TrainId == null))
            {
                throw new Exception("Some input parameters NULL");
            }

            var sqlr = new CarriageRepository(_logger);

            try
            {
                if (carriage.Id != 0)
                {
                    await sqlr.Update(carriage);

                    return(Json(new { message = "Update OK" }));
                }
                else
                {
                    var res = await sqlr.Add(carriage);

                    return(Json(res));
                }
            }
            catch (Exception e)
            {
                throw new Exception($"Can't add or update {GetType()} ex = {e}");
            }
        }
 private void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Player" && !activated)
     {
         Carriage.DisableLastCarraige();
         activated = true;
     }
 }
示例#21
0
 /// <summary>
 /// Метод видаляє останній елемент стека
 /// </summary>
 public void RemoveLast()
 {
     if (Last != null)
     {
         Last = Last.Previous;
         Count--;
     }
 }
示例#22
0
 public TicketBuilder(TicketViewModel ticketVM, Carriage carriage, string email)
 {
     _ticketVM = ticketVM;
     _carriage = carriage;
     Ticket    = new Ticket {
         Email = email
     };
 }
示例#23
0
        private string _GetCarriageNumCanBeNull(Carriage car)
        {
            if (car == null)
            {
                return("NULL");
            }

            return(car.Serial);
        }
示例#24
0
        public ViewResult Edit(int?CarriageID)
        {
            Carriage carriage = repository.Carriagess.FirstOrDefault(p => p.CarriageID == CarriageID);

            Populate(carriage.WarehousesID);
            //   Populate1(carriage.TranID);
            PopulatePacks(carriage);
            return(View(carriage));
        }
示例#25
0
 private void deselectCarriage(Carriage c)
 {
     selectionState = SelectionState.NothingSelected;
     if (c != null)
     {
         c.SetBasicMaterial();
     }
     selectedCarriage = null;
 }
示例#26
0
    private void selectCarriage(Carriage c)
    {
        selectNothing();    //Clean

        selectionState = SelectionState.CarriageSelected;
        c.SetGlowMaterial();
        selectedCarriage = c;
        guiControll.ActivateRoutePanel(c.GetRoute());
    }
示例#27
0
            public SampleTwo()
            {
                Vehicle = new Carriage {
                    Car = -1
                };

                Assert.IsTrue(-1 == Vehicle.Car);
                Assert.IsTrue(Vehicle.Car != (int)ParserTest.Vehicle.Car);
            }
        public async Task <JsonResult> Delete([FromBody] Carriage carriage)
        {
            await CheckPermission();

            var cer = new CarriageRepository(_logger);
            await cer.Delete(carriage.Id);

            return(Json(new { message = "Delete OK" }));
        }
示例#29
0
 public void Open()
 {
     if (Locked)
     {
         GetComponent <Animation>().Play("Door Open");
         GetComponent <AudioSource>().Play();
         Locked = false;
         Carriage.EnableNextCarriage();
     }
 }
示例#30
0
        public ActionResult Create()
        {
            Populate();
            Populate1();
            var carriage = new Carriage();

            carriage.Packss = new List <Packs>();
            PopulatePacks(carriage);

            return(View());
        }
            public SampleTwo()
            {
                Vehicle = new Carriage {Car = -1};

                Assert.IsTrue(-1 == Vehicle.Car);
                Assert.IsTrue(Vehicle.Car != (int) ParserTest.Vehicle.Car);
            }