private void OnMyTriggerEnter(Collider2D other)
 {
     if (interactObject == null)
     {
         interactObject = other.gameObject.GetComponent <BoxStats>();
     }
 }
Exemple #2
0
        public async Task UpdateBoxStatus(BoxStats boxstats)
        {
            var student = _studentRepository.GetStudentByRFID(boxstats.Rfid);
            var log     = new BoxLog
            {
                dateTime = DateTime.Now
            };
            var Box = _boxRepository.GetBox();

            Box.IsOpen        = boxstats.door;
            Box.StudentOppend = student;
            Box.StudentId     = student.Id;
            if (boxstats.door)
            {
                if (student != null)
                {
                    log.Message = "Box Door Opend By " + student.FullName;
                }
                else
                {
                    log.Message = "Warning! Box Door opend by unknown User";
                    //activate warning
                }
            }
            if (!boxstats.door)
            {
                log.Message = "Box Door Closed";
            }
            _boxRepository.AddLog(log);

            await _boxHub.Clients.All.SendAsync("doorStats", Box.StudentOppend.email, Box.IsOpen, DateTime.Now.ToString("HH:mm:ss"));

            await _notificationsRepository.AddNotificationAsync(log.Message);
        }
 private void OnMyTriggerExit(Collider2D triggered)
 {
     if (interactObject?.gameObject == triggered.gameObject)
     {
         interactObject = null;
     }
 }
Exemple #4
0
 void FreeBox()
 {
     if (ControlledBox != null)
     {
         ControlledBox.GetComponent <Rigidbody2D>().collisionDetectionMode = CollisionDetectionMode2D.Discrete;
         ControlledBox.enabled = false;
         ControlledBox         = null;
         ControlledBoxStats    = null;
     }
 }
 private void PickUpBox(BoxStats box)
 {
     if (box != null)
     {
         if (box.IsDragable())
         {
             pickedBoxRigidbody = box.GetComponent <Rigidbody2D>();
             offset             = pickedBoxRigidbody.position - playerRigidbody.position;
         }
     }
 }
Exemple #6
0
    void CatchBox(GameObject Target)
    {
        if (Target != null)
        {
            ControlledBoxStats = Target.GetComponent <BoxStats>();
            ControlledBox      = Target.GetComponent <RelativeJoint2D>();

            if (ControlledBoxStats.State.State == BoxState.Losted)
            {
                FreeBox();
            }
            else
            {
                ControlledBox.GetComponent <Rigidbody2D>().collisionDetectionMode = CollisionDetectionMode2D.Continuous;
                ControlledBox.connectedBody = GetComponent <Rigidbody2D>();
                ControlledBox.enabled       = true;
            }
        }
    }
        public async Task <IActionResult> GetStats()
        {
            // get current User
            var lUser = base.GetCurrentUser(_context);

            // get indexcardboxes
            var lQuery = _context.IndexCardBoxes.OrderBy(x => x.Name).Select(x => x).Where(x => x.UserId == lUser.Id && x.Archived == false);
            List <IndexCardBox> lIndexCardBoxes = await lQuery.ToListAsync();

            // now count the stats
            foreach (var lIndexCardBox in lIndexCardBoxes)
            {
                IBoxStats lBoxStats = new BoxStats();

                // count total indexcards
                lBoxStats.TotalCount = _context.IndexCards.Select(x => x).Count(x => x.IndexCardBoxId == lIndexCardBox.Id);
                lBoxStats.Unlearned  = _context.IndexCards.Select(x => x).Count(x => x.IndexCardBoxId == lIndexCardBox.Id && x.Known < 3);

                // assign stats
                lIndexCardBox.BoxStats = lBoxStats;
            }

            return(Json(lIndexCardBoxes));
        }