示例#1
0
        public void RefreshTitle(ScreenStatus status, DeckModel deck)
        {
            string text = string.Empty;

            switch (status)
            {
            case ScreenStatus.SELECT_DECK_SHIP:
                if (deck.Name == string.Empty)
                {
                    text = "艦娘選択 - 第" + deck.Id + "艦隊 -";
                }
                else
                {
                    text = "艦娘選択 -" + deck.Name + "-";
                }
                break;

            case ScreenStatus.SELECT_OTHER_SHIP:
                text = "艦娘選択 - その他 -";
                break;

            case ScreenStatus.SELECT_SETTING_MODE:
                text = "メニュー選択";
                break;

            case ScreenStatus.MODE_SOUBI_HENKOU:
            case ScreenStatus.MODE_SOUBI_HENKOU_TYPE_SELECT:
            case ScreenStatus.MODE_SOUBI_HENKOU_ITEM_SELECT:
            case ScreenStatus.MODE_SOUBI_HENKOU_PREVIEW:
                text = "装備変更";
                break;

            case ScreenStatus.MODE_KINDAIKA_KAISHU:
            case ScreenStatus.MODE_KINDAIKA_KAISHU_SOZAI_SENTAKU:
            case ScreenStatus.MODE_KINDAIKA_KAISHU_KAKUNIN:
            case ScreenStatus.MODE_KINDAIKA_KAISHU_ANIMATION:
            case ScreenStatus.MODE_KINDAIKA_KAISHU_END_ANIMATION:
                text = "近代化改修";
                break;

            case ScreenStatus.MODE_KAIZO:
            case ScreenStatus.MODE_KAIZO_ANIMATION:
            case ScreenStatus.MODE_KAIZO_END_ANIMATION:
                text = "改造";
                break;
            }
            if (deck != null && deck.IsActionEnd())
            {
                this.mTransform_TurnEndStamp.SetActive(true);
                ShortcutExtensions.DOKill(this.mTransform_TurnEndStamp, false);
                ShortcutExtensions.DOLocalRotate(this.mTransform_TurnEndStamp, new Vector3(0f, 0f, 300f), 0f, 1);
                TweenSettingsExtensions.SetEase <Tweener>(ShortcutExtensions.DOLocalRotate(this.mTransform_TurnEndStamp, new Vector3(0f, 0f, 360f), 0.8f, 1), 30);
            }
            else
            {
                this.mTransform_TurnEndStamp.SetActive(false);
            }
            this.titleLabel.text            = text;
            this.titleLabel.supportEncoding = false;
        }
示例#2
0
 private void Awake()
 {
     this.key = new KeyControl(0, 0, 0.4f, 0.1f);
     base.get_transform().localPositionY(this.HidePos.y);
     this.model     = new SettingModel();
     this._now_mode = ScreenStatus.MODE_SOUBI_HENKOU;
 }
示例#3
0
        public static void UpdateStatus()
        {
            Status = ScreenStatus.OK;
            _abnormalUnlockInterval = _mPreferences.GetInt(AbnormalUnlocksTimeInterval, _abnormalUnlockInterval);

            if (_unlockMillis.Count > _todayNormalSpeedValue)
            {
                var tmpList = new List <long>();
                var now     = new Date();
                foreach (var time in _unlockMillis)
                {
                    var s = TimeUnit.Milliseconds.ToSeconds(now.Time - time);

                    if (s <= _abnormalUnlockInterval && s > 0)
                    {
                        tmpList.Add(time);
                    }
                }

                _unlockMillis = tmpList;
                if (_unlockMillis.Count > _todayNormalSpeedValue &&
                    TimeUnit.Milliseconds.ToSeconds(_unlockMillis.Last() - _unlockMillis[0]) <= _abnormalUnlockInterval)
                {
                    Status = ScreenStatus.Speed;
                }
            }

            if (UnlockedTimes > GetNormalUnlocksCount(_mPreferences) * 1.1)
            {
                Status = ScreenStatus.Many;
            }
        }
示例#4
0
 public static void SetToZero()
 {
     NormalCount      = -1;
     UnlockedTimes    = 0;
     Status           = ScreenStatus.OK;
     _lastDayUnlocked = -1;
 }
示例#5
0
        private void OnAttachedToHand(Hand hand)
        {
            if (!EventManager.instance.monsterDead || !EventManager.instance.victory)
            {
                screenStatus = ScreenStatus.Stats;
            }

            GetComponent <TabletPowerToggle>().Power = true;
            attached = true;

            if (hand.startingHandType == Hand.HandType.Left)
            {
                if (screenPos.x < 0)
                {
                    screenPos.x = -screenPos.x;
                }
                screen.transform.localPosition = screenPos;
            }
            else if (hand.startingHandType == Hand.HandType.Right)
            {
                if (screenPos.x > 0)
                {
                    screenPos.x = -screenPos.x;
                }
                screen.transform.localPosition = screenPos;
            }
        }
示例#6
0
 private void Awake()
 {
     key = new KeyControl();
     base.transform.localPositionY(HidePos.y);
     model     = new SettingModel();
     _now_mode = ScreenStatus.MODE_SOUBI_HENKOU;
 }
 public void change_2_SUPPLY_PROCESS(SupplyType supplyType)
 {
     if (_status != 0 && _status != ScreenStatus.RIGHT_PAIN_WORK)
     {
         return;
     }
     _status = ScreenStatus.SUPPLY_PROCESS;
     _otherListParent.LockControl();
     _commonDeckSwitchManager.keyControlEnable = false;
     if (supplyType == SupplyType.All)
     {
         ShipModel model;
         if (isNotOther() && _currentDeck.GetShipCount() == getSelectedShipList().Count)
         {
             int mstId = _currentDeck.GetFlagShip().MstId;
             model = _currentDeck.GetFlagShip();
         }
         else
         {
             List <ShipModel> selectedShipList = getSelectedShipList();
             int index  = UnityEngine.Random.Range(0, selectedShipList.Count);
             int mstId2 = selectedShipList[index].MstId;
             model = selectedShipList[index];
         }
         ShipUtils.PlayShipVoice(model, 27);
     }
     SetShipSelectFocus(focused: false);
     _rightPane.LostFocus();
     _rightPane.SetEnabled(enabled: false);
     _rightPane.DoWindowOpenAnimation(supplyType);
     Supply(supplyType);
 }
        public static ScreenRec Create(string name, string gfx, ScreenStatus status)
        {
            ScreenRec result = new ScreenRec();

            result.Name   = name;
            result.gfx    = gfx;
            result.status = status;
            return(result);
        }
 public ucBaseUserControl getUserSettingsScreen(ScreenStatus _theScreenStatus, string _userID, TUserCurrentInfo userInfo, string theConnection)
 {
     SysAdminScreens.Users.ucUserProductionSettings theResult =
         new SysAdminScreens.Users.ucUserProductionSettings()
     {
         theScreenStatus = _theScreenStatus, UserID = _userID, theSystemDBTag = resWPAS.systemDBTag, theSystemTag = resWPAS.systemTag, UserCurrentInfo = userInfo
     };
     theResult.currentConnection = theConnection;
     return(theResult);
 }
示例#10
0
 public ucBaseUserControl getUserSettingsScreen(ScreenStatus _theScreenStatus, string _userID, TUserCurrentInfo userInfo, string theConnection)
 {
     Controls.Users.UserProductionSettingsUserControl theResult =
         new Controls.Users.UserProductionSettingsUserControl()
     {
         theScreenStatus = _theScreenStatus, UserID = _userID, theSystemDBTag = MinewasteResource.systemDBTag, theSystemTag = MinewasteResource.systemTag, UserCurrentInfo = userInfo
     };
     theResult.currentConnection = theConnection;
     return(theResult);
 }
示例#11
0
        public void RefreshTitle(ScreenStatus status, DeckModel deck)
        {
            string text = string.Empty;

            switch (status)
            {
            case ScreenStatus.SELECT_DECK_SHIP:
                text = ((!(deck.Name == string.Empty)) ? ("艦娘選択 -" + deck.Name + "-") : ("艦娘選択 - 第" + deck.Id + "艦隊 -"));
                break;

            case ScreenStatus.SELECT_OTHER_SHIP:
                text = "艦娘選択 - その他 -";
                break;

            case ScreenStatus.SELECT_SETTING_MODE:
                text = "メニュ\u30fc選択";
                break;

            case ScreenStatus.MODE_SOUBI_HENKOU:
            case ScreenStatus.MODE_SOUBI_HENKOU_TYPE_SELECT:
            case ScreenStatus.MODE_SOUBI_HENKOU_ITEM_SELECT:
            case ScreenStatus.MODE_SOUBI_HENKOU_PREVIEW:
                text = "装備変更";
                break;

            case ScreenStatus.MODE_KINDAIKA_KAISHU:
            case ScreenStatus.MODE_KINDAIKA_KAISHU_SOZAI_SENTAKU:
            case ScreenStatus.MODE_KINDAIKA_KAISHU_KAKUNIN:
            case ScreenStatus.MODE_KINDAIKA_KAISHU_ANIMATION:
            case ScreenStatus.MODE_KINDAIKA_KAISHU_END_ANIMATION:
                text = "近代化改修";
                break;

            case ScreenStatus.MODE_KAIZO:
            case ScreenStatus.MODE_KAIZO_ANIMATION:
            case ScreenStatus.MODE_KAIZO_END_ANIMATION:
                text = "改造";
                break;
            }
            if (deck != null && deck.IsActionEnd())
            {
                mTransform_TurnEndStamp.SetActive(isActive: true);
                mTransform_TurnEndStamp.DOKill();
                mTransform_TurnEndStamp.DOLocalRotate(new Vector3(0f, 0f, 300f), 0f, RotateMode.FastBeyond360);
                mTransform_TurnEndStamp.DOLocalRotate(new Vector3(0f, 0f, 360f), 0.8f, RotateMode.FastBeyond360).SetEase(Ease.OutBounce);
            }
            else
            {
                mTransform_TurnEndStamp.SetActive(isActive: false);
            }
            titleLabel.text            = text;
            titleLabel.supportEncoding = false;
        }
示例#12
0
        private void HandleKeyController()
        {
            ScreenStatus screenStatus = status;

            if ((screenStatus == ScreenStatus.SELECT_DECK_SHIP || screenStatus == ScreenStatus.SELECT_OTHER_SHIP) && mKeyController.IsBatuDown())
            {
                Back2PortTop();
            }
            if (status != ScreenStatus.MODE_KINDAIKA_KAISHU_ANIMATION && status != ScreenStatus.MODE_KAIZO_ANIMATION && mKeyController.IsRDown())
            {
                SingletonMonoBehaviour <PortObjectManager> .Instance.BackToStrategy();
            }
        }
 public void change_2_SHIP_SELECT(bool defaultFocus)
 {
     if (_status == ScreenStatus.RIGHT_PAIN_WORK || _status == ScreenStatus.SHIP_RECOVERY_ANIMATION)
     {
         _status = ScreenStatus.SHIP_SELECT;
         SetShipSelectFocus(focused: true);
         _rightPane.LostFocus();
         if (!isNotOther())
         {
             _otherListParent.StartControl();
         }
     }
 }
 public void change_2_SHIP_RECOVERY_ANIMATION()
 {
     if (_status == ScreenStatus.SUPPLY_PROCESS)
     {
         _status = ScreenStatus.SHIP_RECOVERY_ANIMATION;
         if (isNotOther())
         {
             _shipBannerContainer.ProcessRecoveryAnimation();
         }
         else
         {
             _otherListParent.ProcessRecoveryAnimation();
         }
         _rightPane.DoWindowCloseAnimation();
     }
 }
示例#15
0
        private void HandAttachedUpdate(Hand hand)
        {
            //if ((rb.velocity + rb.angularVelocity).magnitude >= shakeThreshold)
            //{

            //}
            shakeVel = (hand.GetTrackedObjectVelocity() + hand.GetTrackedObjectAngularVelocity()).magnitude;
            if (shakeVel >= shakeThreshold)
            {
                if (screenStatus != ScreenStatus.MainMenu)
                {
                    screenStatus = ScreenStatus.MainMenu;
                }
                shakeVel = 0;
            }
        }
示例#16
0
 private void SetStatus(ScreenStatus status)
 {
     this.status = status;
     if (status != ScreenStatus.MODE_KINDAIKA_KAISHU_ANIMATION && status != ScreenStatus.MODE_KAIZO_ANIMATION)
     {
         if (!SingletonMonoBehaviour <PortObjectManager> .Instance.PortTransition.isTransitionNow)
         {
             SingletonMonoBehaviour <UIShortCutMenu> .Instance.IsInputEnable = true;
         }
     }
     else
     {
         SingletonMonoBehaviour <UIShortCutMenu> .Instance.IsInputEnable = false;
     }
     this.UpdateHeaderTitle();
     this.SwitchViews();
 }
 private void Awake()
 {
     base.get_transform().localPositionY(UIHowToRemodel.HidePos.y);
     this.model = new SettingModel();
     this.key2  = new KeyControl(0, 1, 0.4f, 0.1f);
     this.key2.setChangeValue(0f, 0f, 0f, 0f);
     this.SpriteButtonShikaku.get_transform().set_localScale(Vector3.get_zero());
     this._now_mode = ScreenStatus.MODE_SOUBI_HENKOU;
     if (this.SpriteButtonR == null)
     {
         Util.FindParentToChild(ref this.SpriteButtonR, this.SpriteButtonL.get_transform().get_parent(), "SpriteButtonR");
     }
     if (this.SpriteButtonO == null)
     {
         Util.FindParentToChild(ref this.SpriteButtonO, this.SpriteButtonL.get_transform().get_parent(), "SpriteButtonO");
     }
 }
示例#18
0
        /// <summary>
        /// All screens must check and update their transition state.
        /// </summary>
        private ScreenElement UpdateState(TimeSpan frameStepTime)
        {
            // Should only happen upon the first frame.
            if (screenStatus == ScreenStatus.Waiting)
            {
                screenStatus = ScreenStatus.TransitionOn;
            }

            if (screenStatus == ScreenStatus.TransitionOn)
            {
                // The screen should transition on and become active.
                if (transition.Updating(frameStepTime, transition.onTime, -1))
                {
                    // Still busy transitioning.
                    screenStatus = ScreenStatus.TransitionOn;
                }
                else
                {
                    // Transition finished.
                    screenStatus = ScreenStatus.Active;
                }
            }

            if (screenStatus == ScreenStatus.TransitionOff)
            {
                // Exiting screens should transition off.
                if (!transition.Updating(frameStepTime, transition.offTime, 1))
                {
                    // When the transition finishes, unload and return to the previous screen
                    UnloadContent();
                    return(previous);
                }
            }

            // If a next screen is loaded, unload this screen and return it
            if (nextScreen != null)
            {
                ScreenElement screen = nextScreen;
                nextScreen = null;
                return(screen);
            }

            return(this);
        }
 private bool change_2_RIGHT_PAIN_WORK(bool defaultFocus)
 {
     if (_status != 0)
     {
         return(false);
     }
     if (!_rightPane.IsFocusable())
     {
         return(false);
     }
     SetShipSelectFocus(focused: false);
     if (defaultFocus)
     {
         _rightPane.setFocus();
     }
     _status = ScreenStatus.RIGHT_PAIN_WORK;
     SoundUtils.PlaySE(SEFIleInfos.CommonCursolMove);
     return(true);
 }
示例#20
0
        private void Awake()
        {
            Transform transform = base.transform;
            Vector3   hidePos   = HidePos;

            transform.localPositionY(hidePos.y);
            model = new SettingModel();
            key2  = new KeyControl(0, 1);
            key2.setChangeValue(0f, 0f, 0f, 0f);
            SpriteButtonShikaku.transform.localScale = Vector3.zero;
            _now_mode = ScreenStatus.MODE_SOUBI_HENKOU;
            if (SpriteButtonR == null)
            {
                Util.FindParentToChild(ref SpriteButtonR, SpriteButtonL.transform.parent, "SpriteButtonR");
            }
            if (SpriteButtonO == null)
            {
                Util.FindParentToChild(ref SpriteButtonO, SpriteButtonL.transform.parent, "SpriteButtonO");
            }
        }
示例#21
0
 public void Forward2KaizoAnimation(ShipModel targetShipModel)
 {
     if (this.status != ScreenStatus.MODE_KAIZO)
     {
         return;
     }
     this.SetStatus(ScreenStatus.MODE_KAIZO_ANIMATION);
     if (UserInterfaceRemodelManager.instance.mRemodelGradeUpManager.GradeUp())
     {
         SoundUtils.PlaySE(SEFIleInfos.CommonEnter1);
         UserInterfaceRemodelManager.instance.mRemodelManager.ClearUnsetSlotsCache();
     }
     this.backGroundUpperSteelFrame.SetActive(false);
     this.backGroundLowerSteelFrame.SetActive(false);
     this.mUIRemodelShipStatus.SetActive(false);
     this.HideHeader();
     this.mUIRemodelHeader.SetActive(false);
     this.UpdateHeaderMaterial();
     base.StartCoroutine(this.StartGradeUpProductionCoroutine(targetShipModel, this.mKeyController, delegate
     {
         if (this.status != ScreenStatus.MODE_KAIZO_ANIMATION)
         {
             return;
         }
         this.status = ScreenStatus.MODE_KAIZO_END_ANIMATION;
         if (this.otherShip)
         {
             this.mUIRemodelOtherShipPickerParent.Refresh(this.focusedShipModel);
         }
         this.mUIRemodelShipStatus.SetActive(true);
         this.ShowHeader();
         this.mUIRemodelHeader.SetActive(true);
         this.ChangeFocusShip(targetShipModel);
         this.backGroundUpperSteelFrame.SetActive(true);
         this.backGroundLowerSteelFrame.SetActive(true);
         this.mUIRemodelModeSelectMenu.Init(this.mKeyController, this.mRemodelGradeUpManager.GradeupBtnEnabled);
         this.Forward2ModeSelect();
     }));
 }
示例#22
0
 public void Forward2KaizoAnimation(ShipModel targetShipModel)
 {
     if (status == ScreenStatus.MODE_KAIZO)
     {
         SetStatus(ScreenStatus.MODE_KAIZO_ANIMATION);
         if (instance.mRemodelGradeUpManager.GradeUp())
         {
             SoundUtils.PlaySE(SEFIleInfos.CommonEnter1);
             instance.mRemodelManager.ClearUnsetSlotsCache();
         }
         backGroundUpperSteelFrame.SetActive(isActive: false);
         backGroundLowerSteelFrame.SetActive(isActive: false);
         mUIRemodelShipStatus.SetActive(isActive: false);
         HideHeader();
         mUIRemodelHeader.SetActive(isActive: false);
         UpdateHeaderMaterial();
         StartCoroutine(StartGradeUpProductionCoroutine(targetShipModel, mKeyController, delegate
         {
             if (status == ScreenStatus.MODE_KAIZO_ANIMATION)
             {
                 status = ScreenStatus.MODE_KAIZO_END_ANIMATION;
                 if (otherShip)
                 {
                     mUIRemodelOtherShipPickerParent.Refresh(focusedShipModel);
                 }
                 mUIRemodelShipStatus.SetActive(isActive: true);
                 ShowHeader();
                 mUIRemodelHeader.SetActive(isActive: true);
                 ChangeFocusShip(targetShipModel);
                 backGroundUpperSteelFrame.SetActive(isActive: true);
                 backGroundLowerSteelFrame.SetActive(isActive: true);
                 mUIRemodelModeSelectMenu.Init(mKeyController, mRemodelGradeUpManager.GradeupBtnEnabled);
                 Forward2ModeSelect();
             }
         }));
     }
 }
示例#23
0
 /// <summary>
 /// Tell the screen to transition on again
 /// </summary>
 public void Reset()
 {
     screenStatus = ScreenStatus.TransitionOn;
     transition.Reset();
 }
示例#24
0
 /// <summary>
 /// Tell the screen to transition off
 /// </summary>
 public void Exit()
 {
     screenStatus = ScreenStatus.TransitionOff;
 }
示例#25
0
 /// <summary>
 /// Constructor that creates a screen base class
 /// </summary>
 /// <param name="name">This should be a unique way to identify each screen</param>
 public Screen(string name)
 {
     this.name = name;
     this.status = ScreenStatus.Disabled;
 }
示例#26
0
        public async Task <IActionResult> NewScreen(CreatePageModel CreatePageModel, bool newScreen)
        {
            if (ModelState.IsValid)
            {
                if (newScreen)
                {
                    CreatePageModel.CommentsAndScreens[0].Screen.ScreenState = Screen.States.Open;

                    var currentUserId = _userManager.GetUserId(HttpContext.User);
                    CreatePageModel.CommentsAndScreens[0].Screen.OwnerId = currentUserId;
                    _context.Screens.Add(CreatePageModel.CommentsAndScreens[0].Screen);
                    var reviewers = _context.Access.Where(r => r.ReviewId == CreatePageModel.CommentsAndScreens[0].Screen.ReviewId).ToList();
                    foreach (var r in reviewers)
                    {
                        if (!(r.UserId == currentUserId))
                        {
                            var ScreenStatus = new ScreenStatus();
                            ScreenStatus.ScreenId = CreatePageModel.CommentsAndScreens[0].Screen.ScreenId;
                            ScreenStatus.UserId   = r.UserId;
                            ScreenStatus.Status   = ScreenStatus.PossibleStatus.Undecided;
                            _context.Add(ScreenStatus);
                        }
                    }

                    await _context.SaveChangesAsync();

                    return(Json("true"));
                }
                else
                {
                    var currentUserId = _userManager.GetUserId(HttpContext.User);
                    CreatePageModel.CommentsAndScreens[0].Screen.OwnerId = currentUserId;

                    var parent = _context.Screens.Where(s => s.ScreenId == CreatePageModel.ParentId).FirstOrDefault();

                    while (parent.ParentId != 0)
                    {
                        parent = _context.Screens.Where(s => s.ScreenId == parent.ParentId).FirstOrDefault();
                    }
                    CreatePageModel.CommentsAndScreens[0].Screen.ParentId = parent.ScreenId;
                    _context.Screens.Add(CreatePageModel.CommentsAndScreens[0].Screen);

                    var reviewers = _context.Access.Where(r => r.ReviewId == CreatePageModel.CommentsAndScreens[0].Screen.ReviewId).ToList();
                    foreach (var r in reviewers)
                    {
                        if (!(r.UserId == currentUserId))
                        {
                            var ScreenStatus = new ScreenStatus();
                            ScreenStatus.ScreenId = CreatePageModel.CommentsAndScreens[0].Screen.ScreenId;
                            ScreenStatus.UserId   = r.UserId;
                            ScreenStatus.Status   = ScreenStatus.PossibleStatus.Undecided;
                            _context.Add(ScreenStatus);
                        }
                    }

                    await _context.SaveChangesAsync();

                    return(Json("true"));
                }
            }
            return(Json("false"));
        }
示例#27
0
        public async Task <JsonResult> Update_Reviewers([FromBody] UpdatingUser users)
        {
            var accessList         = _context.Access.Where(r => r.ReviewId == users.ReviewId).ToList();
            var allScreensInReview = _context.Screens.Where(s => s.ReviewId == users.ReviewId).ToList();

            var userScreenList = new List <ScreenStatus>();

            foreach (var s in allScreensInReview)
            {
                userScreenList.Add(_context.ScreenStatus.Where(x => x.ScreenId == s.ScreenId).FirstOrDefault());
            }

            foreach (var uId in users.ToRemove)
            {
                var access = accessList.Find(r => r.UserId == uId && r.ReviewId == users.ReviewId);
                _context.Access.Remove(access);

                foreach (var s in allScreensInReview)
                {
                    var status = userScreenList.Find(r => r.UserId == uId && r.ScreenId == s.ScreenId);
                    _context.ScreenStatus.RemoveRange(status);
                }
            }

            foreach (var uId in users.ToAdd)
            {
                var ReviewerEntry = new Access();

                ReviewerEntry.UserId   = uId;
                ReviewerEntry.ReviewId = users.ReviewId;
                _context.Access.Add(ReviewerEntry);

                foreach (var s in allScreensInReview)
                {
                    var ScreenStatus = new ScreenStatus();
                    ScreenStatus.ScreenId = s.ScreenId;
                    ScreenStatus.UserId   = uId;
                    ScreenStatus.Status   = ScreenStatus.PossibleStatus.Undecided;
                    _context.Add(ScreenStatus);
                }
            }

            await _context.SaveChangesAsync();

            accessList = _context.Access.Where(r => r.ReviewId == users.ReviewId).ToList();
            var reviewers = new List <object>();

            foreach (var u in accessList)
            {
                var user          = (await _userManager.FindByIdAsync(u.UserId));
                var currentrating = _context.ScreenStatus.Where(s => s.ScreenId == users.ScreenId && s.UserId == u.UserId).FirstOrDefault();
                reviewers.Add(new
                {
                    profileName = user.ProfileName,
                    avatar      = user.ProfilePicture,
                    rating      = (currentrating == null ? "null" : currentrating.Status.ToString())
                });
            }

            return(Json(reviewers));
        }
示例#28
0
        public async Task <IActionResult> Create(CreatePageModel CreatePageModel)
        {
            if (ModelState.IsValid)
            {
                // Review creation
                var Review = new Review();
                //Review.ReviewId = ?
                Review.CreatorId    = _userManager.GetUserId(HttpContext.User);
                Review.ReviewState  = Review.States.Open;
                Review.ReviewStatus = Review.Status.Undecided;
                if (CreatePageModel.ReviewTitle != null)
                {
                    Review.Title = CreatePageModel.ReviewTitle;
                }
                else
                {
                    Review.Title = CreatePageModel.CommentsAndScreens[0].Screen.Title;
                }
                Review.Description = CreatePageModel.ReviewDescription;
                if (CreatePageModel.ReviewThumbnail != null)
                {
                    Review.Thumbnail = CreatePageModel.ReviewThumbnail;
                }
                else
                {
                    Review.Thumbnail = CreatePageModel.CommentsAndScreens[0].Screen.Content;
                }

                _context.Add(Review);

                if (CreatePageModel.CommentsAndScreens != null)
                {
                    foreach (var s in CreatePageModel.CommentsAndScreens)
                    {
                        // Screen creation
                        s.Screen.OwnerId     = _userManager.GetUserId(HttpContext.User);
                        s.Screen.ScreenState = Screen.States.Open;
                        s.Screen.ReviewId    = Review.ReviewId;
                        _context.Add(s.Screen);

                        if (s.CommentList != null)
                        {
                            foreach (var c in s.CommentList)
                            {
                                var comment = new Comment();
                                comment.ParentId = c.ParentId;
                                comment.Message  = c.Message;
                                var userId = _userManager.GetUserId(HttpContext.User);
                                comment.OwnerId = userId;

                                comment.ScreenId  = s.Screen.ScreenId;
                                comment.Timestamp = System.DateTime.Now;
                                comment.Lat       = c.Lat;
                                comment.Lng       = c.Lng;

                                /* if (DataFromBody.CommentUrgency == Urgency.Urgent)
                                 * {
                                 *   comment.CommentUrgency = Models.Comment.Urgency.Urgent;
                                 * }
                                 * else*/
                                comment.CommentUrgency = Models.Comment.Urgency.Default;
                                _context.Add(comment);
                            }
                        }
                    }
                }

                // Access creation
                var OwnerEntry = new Access();
                OwnerEntry.ReviewId = Review.ReviewId;
                OwnerEntry.UserId   = _userManager.GetUserId(HttpContext.User);
                _context.Add(OwnerEntry);

                if (CreatePageModel.Reviewers != null)
                {
                    foreach (var u in CreatePageModel.Reviewers)
                    {
                        var ReviewerEntry = new Access();

                        ReviewerEntry.UserId   = u.Id;
                        ReviewerEntry.ReviewId = Review.ReviewId;
                        _context.Add(ReviewerEntry);

                        foreach (var s in CreatePageModel.CommentsAndScreens)
                        {
                            var ScreenStatus = new ScreenStatus();
                            ScreenStatus.ScreenId = s.Screen.ScreenId;
                            ScreenStatus.UserId   = u.Id;
                            ScreenStatus.Status   = ScreenStatus.PossibleStatus.Undecided;
                            _context.Add(ScreenStatus);
                        }
                    }
                }

                await _context.SaveChangesAsync();

                return(Json(Url.Action("Index", "Images")));
            }
            return(View(CreatePageModel.CommentsAndScreens));
        }
示例#29
0
 public void OnMonsterDeath()
 {
     slider.confirmingType = TabletSlider.ConfirmingType.ConfirmDeathRestart;
     slider.UpdateDescription();
     screenStatus = ScreenStatus.Restart;
 }
        /// <summary>
        /// Allows the game component to update itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        public override void Update(GameTime gameTime)
        {
            if (screenStatus == ScreenStatus.WAIT)
            {
                waitTime += gameTime.ElapsedGameTime.Milliseconds / 1000.0f;
                if (waitTime > MAX_WAIT_TIME)
                {
                    waitTime = MAX_WAIT_TIME;
                    screenStatus = ScreenStatus.FADE_IN;
                }
            }
            else if (screenStatus == ScreenStatus.FADE_IN)
            {
                fadeTime += gameTime.ElapsedGameTime.Milliseconds / 1000.0f;
                if (fadeTime > MAX_FADE_TIME)
                {
                    fadeTime = MAX_FADE_TIME;
                    screenStatus = ScreenStatus.ACTIVE;
                    waitTime = duration;
                }
                effect.Parameters["fade"].SetValue(fadeTime / MAX_FADE_TIME);
            }
            else if (screenStatus == ScreenStatus.FADE_OUT)
            {
                fadeTime -= gameTime.ElapsedGameTime.Milliseconds / 1000.0f;
                if (fadeTime < 0.0f)
                {
                    fadeTime = 0.0f;
                    screenStatus = ScreenStatus.DONE;
                }
                effect.Parameters["fade"].SetValue(fadeTime / MAX_FADE_TIME);
            }
            else if (screenStatus == ScreenStatus.ACTIVE)
            {
                GamePadState gamepadState = GamePad.GetState(PlayerIndex.One);
                KeyboardState keyboardState = Keyboard.GetState();
                if (gamepadState.IsButtonDown(Buttons.Start) ||
                    gamepadState.IsButtonDown(Buttons.A) ||
                    gamepadState.IsButtonDown(Buttons.B) ||
                    keyboardState.IsKeyDown(Keys.Enter))
                {
                    screenStatus = ScreenStatus.FADE_OUT;
                }
                else if (gamepadState.Buttons.Back == ButtonState.Pressed ||
                         keyboardState.IsKeyDown(Keys.Escape))
                {
                    game.Exit();
                }
                // automatic fade out after given timer (< 0: wait for user input)
                if (waitTime > 0)
                {
                    waitTime -= gameTime.ElapsedGameTime.Milliseconds / 1000.0f;
                    if (waitTime < 0)
                    {
                        waitTime = 0.0f;
                        screenStatus = ScreenStatus.FADE_OUT;
                    }
                }
            }

            base.Update(gameTime);
        }
 public virtual void Reset()
 {
     screenStatus = ScreenStatus.WAIT;
     fadeTime = 0.0f;
     waitTime = 0.0f;
     effect.Parameters["fade"].SetValue(0.0f);
 }
示例#32
0
 public void OnVictory()
 {
     slider.confirmingType = TabletSlider.ConfirmingType.ConfirmVictoryRestart;
     slider.UpdateDescription();
     screenStatus = ScreenStatus.Restart;
 }
示例#33
0
 public ScreenRec(string name, string gfx, ScreenStatus status)
 {
     Name   = name;
     Gfx    = gfx;
     Status = status;
 }
示例#34
0
 /// <summary>
 /// Sets the current screen display status
 /// </summary>
 /// <param name="status">Current screen status</param>
 public void SetStatus(ScreenStatus status)
 {
     this.status = status;
 }