Exemple #1
0
        public async Task <bool> MoveItem(MovementItem item, int locationId)
        {
            item.UpdatedDate           = DateTime.Now;
            item.IsMoved               = true;
            _context.Entry(item).State = EntityState.Modified;

            MovementLog log = new MovementLog
            {
                AssetID     = item.AssetID,
                LocationID  = locationId,
                MovedBy     = User.Identity.Name,
                CreatedBy   = User.Identity.Name,
                CreatedDate = DateTime.Now
            };

            _context.MovementLog.Add(log);

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MovementItemExists(item.ID))
                {
                    return(false);
                }
                else
                {
                    throw;
                }
            }

            return(true);
        }
        public void MovementLogEmptyTest()
        {
            var movementLog = new MovementLog(2);

            var localServer = EnvironmentGlobal.CreateGameServer("MovementLogTests");

            movementLog.Update(localServer.RefreshGameSession());

            Assert.IsTrue(movementLog.GetHistoryForCelestialObject(100).Count == 0);
        }
Exemple #3
0
        public static void DrawSpaceShipMovement(Graphics graphics, GameSession gameSession,
                                                 SortedDictionary <int, GranularObjectInformation> turnMapInformation, int turnStep,
                                                 MovementLog history,
                                                 ScreenParameters screenParameters)
        {
            foreach (var celestialObject in gameSession.SpaceMap.CelestialObjects.Where(o => screenParameters.PointInVisibleScreen(o.PositionX, o.PositionY)))
            {
                var historyMovement = history.GetHistoryForCelestialObject(celestialObject.Id);

                var granularTurnPositions = turnMapInformation.Values.Where(o => o.Id == celestialObject.Id);

                DrawTrajectory(graphics, celestialObject, historyMovement, turnMapInformation, turnStep, Color.FromArgb(200, 200, 44), screenParameters);
            }
        }
        public void UpdateTest()
        {
            var movementLog = new MovementLog(4);

            var localServer = EnvironmentGlobal.CreateGameServer("MovementLogTests");

            movementLog.Update(localServer.RefreshGameSession());

            Assert.IsTrue(movementLog.GetHistoryForCelestialObject(5005).Count == 2);

            Assert.AreEqual(movementLog.GetHistoryForCelestialObject(5005)[0].Coordinates, new PointF(8000, 10000));

            Assert.AreEqual(movementLog.GetHistoryForCelestialObject(5005)[1].Coordinates, new PointF(10000, 10000));

            localServer.TurnCalculation();

            movementLog.Update(localServer.RefreshGameSession());

            Assert.IsTrue(movementLog.GetHistoryForCelestialObject(5005).Count == 3);

            Assert.AreEqual(movementLog.GetHistoryForCelestialObject(5005)[0].Coordinates, new PointF(8000, 10000));

            Assert.AreEqual(movementLog.GetHistoryForCelestialObject(5005)[1].Coordinates, new PointF(10000, 10000));

            Assert.AreEqual(movementLog.GetHistoryForCelestialObject(5005)[2].Coordinates, new PointF(10005, 10000));

            localServer.TurnCalculation();

            movementLog.Update(localServer.RefreshGameSession());

            Assert.IsTrue(movementLog.GetHistoryForCelestialObject(5005).Count == 4);

            localServer.TurnCalculation();

            movementLog.Update(localServer.RefreshGameSession());

            Assert.IsTrue(movementLog.GetHistoryForCelestialObject(5005).Count == 4);

            //Assert.IsTrue(MovementLog.);
        }
        public Sequence Move(MovementLog log)
        {
            var sequence = DOTween.Sequence();

            if (!entities.TryGetValue(log.Entity, out var entityGO))
            {
                Debug.LogWarning(Warnings.EntityNotPresent(log.Entity));
                return(sequence);
            }

            var oldPosition = entityGO.transform.position;
            var newPosition = tilemap.GetCellCenterWorld(log.To.ToCell());

            sequence.Append(entityGO.transform
                            .DOMove(newPosition, movementDuration)
                            .SetEase(movementEase));

            var direction = newPosition - oldPosition;

            entityGO.transform.rotation = Quaternion.LookRotation(direction, Vector3.up);

            return(sequence);
        }
Exemple #6
0
        public ActionResult LogMovement(string DeviceAddress, int Axis)
        {
            MovementLog ins = new MovementLog();

            ins.AxisId = Axis;

            //...Check if DeviceAddress is in Database
            ins.DeviceId = logRep.GetDeviceId(DeviceAddress);
            if (ins.DeviceId != -1)
            {
                //...Check if Device is Connected to Animal
                ins.AnimalId = logRep.GetAnimalId(ins.DeviceId);
                if (ins.AnimalId != -1)
                {
                    //...Log Proximity
                    if (logRep.LogMovement(ins))
                    {
                        return(Content(CommonStrings.Success, "text/html"));
                    }
                    else
                    {
                        return(Content(CommonStrings.Error_DBFail, "text/html"));
                    }
                }
                else
                {
                    return(Content(CommonStrings.Error_AnimalNotConnectedToDevice, "text/html"));
                }
            }
            else
            {
                return(Content(CommonStrings.Error_Invaild_DeviceAddress, "text/html"));
            }


            return(Content(CommonStrings.Error, "text/html"));
        }
Exemple #7
0
        public JsonResult LogMovement(string DeviceAddress, int Axis, DateTime ModifiedDate)
        {
            MovementLog ins = new MovementLog();

            ins.AxisId  = Axis;
            ins.LogDate = ModifiedDate;

            //...Check if DeviceAddress is in Database
            ins.DeviceId = logRep.GetDeviceId(DeviceAddress);
            if (ins.DeviceId != -1)
            {
                //...Check if Device is Connected to Animal
                ins.AnimalId = logRep.GetAnimalId(ins.DeviceId);
                if (ins.AnimalId != -1)
                {
                    //...Log Proximity
                    if (logRep.LogMovement(ins))
                    {
                        return(Json(CommonStrings.Success, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(CommonStrings.Error_DBFail, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    return(Json(CommonStrings.Error_AnimalNotConnectedToDevice, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(CommonStrings.Error_Invaild_DeviceAddress, JsonRequestBehavior.AllowGet));
            }

            return(Json(CommonStrings.Error, JsonRequestBehavior.AllowGet));
        }