private void Update(OddJob oddJob)
        {
            var idx = OddJobs.FindIndex(o => o.id == oddJob.id);

            if (idx >= 0)
            {
                OddJobs[idx] = oddJob;
            }
            else
            {
                OddJobs.Add(oddJob);
            }
        }
        public void SetJob(OddJob job)
        {
            if (job == null)
            {
                noJobText.gameObject.SetActive(true);
                jobText.gameObject.SetActive(false);
                deleteButton.gameObject.SetActive(false);
                progress.gameObject.SetActive(false);
                rewardsCanvas.gameObject.SetActive(false);
            }
            else
            {
                noJobText.gameObject.SetActive(false);
                jobText.text = JobDescription(job.jobType, job.jobAmount);
                job.reward.ForEach(item =>
                {
                    var lootItem = Instantiate(lootItemPrefab, rewardsCanvas);
                    lootItem.SetItem(item);
                });
                if (job.jobAmountDone >= job.jobAmount)
                {
                    background.color = claimableBackgroundColor;
                    border.gameObject.SetActive(true);
                    progressAmountText.text = $"{job.jobAmount}";
                    deleteButton.gameObject.SetActive(false);

                    progressBar.offsetMax = new Vector2(0, progressBar.offsetMax.y);
                    var pos = progressAmountTextCanvas.localPosition;
                    pos.x = progress.rect.width;
                    progressAmountTextCanvas.localPosition = pos;
                }
                else
                {
                    background.color = neutralBackgroundColor;
                    border.gameObject.SetActive(false);
                    progressAmountText.text = $"{job.jobAmountDone}";

                    var max            = progress.rect.width;
                    var donePercentage = Convert.ToSingle(job.jobAmountDone) / job.jobAmount;
                    var right          = max - max * donePercentage;
                    progressBar.offsetMax = new Vector2(-right, progressBar.offsetMax.y);

                    var pos = progressAmountTextCanvas.localPosition;
                    pos.x = max * donePercentage;
                    progressAmountTextCanvas.localPosition = pos;
                }
            }
        }
Esempio n. 3
0
        public void Execute_Gets_All_Products_For_Logger()
        {
            //Arrange
            var productTasks = MockRepository.GenerateMock<IProductTasks>();
            productTasks.Expect(x => x.GetAll()).Return(new List<Product>());
            var job = new OddJob {ProductTasks = productTasks};
            var jobDetail = new JobDetail("blag", null, typeof(OddJob));
            var trigger = TriggerUtils.MakeImmediateTrigger(0, TimeSpan.FromSeconds(2));
            var bundle = new TriggerFiredBundle(jobDetail, trigger, null, false, null, null, null, null);
            var jobExec = new JobExecutionContext(null, bundle, null);

            //Act
            job.Execute(jobExec);

            //Assert
            productTasks.VerifyAllExpectations();
        }
 public void ClaimOddJob(OddJob oddJob, Action <PlayerActionResponse> onSuccess = null)
 {
     serverAPI.DoPost($"/oddjob/{oddJob.id}/claim", null, onSuccess);
 }