Exemplo n.º 1
0
        private static TaskParameterEventArgs CreateTaskParameter()
        {
            var items = new TaskItemData[]
            {
                new TaskItemData("ItemSpec1", null),
                new TaskItemData("ItemSpec2", Enumerable.Range(1, 3).ToDictionary(i => i.ToString(), i => i.ToString() + "value"))
            };
            var result = new TaskParameterEventArgs(
                TaskParameterMessageKind.TaskInput,
                "ItemName",
                items,
                logItemMetadata: true,
                DateTime.MinValue);

            // normalize line endings as we can't rely on the line endings of NodePackets_Tests.cs
            Assert.Equal(@"Task Parameter:
    ItemName=
        ItemSpec1
        ItemSpec2
                1=1value
                2=2value
                3=3value".Replace("\r\n", "\n"), result.Message);

            return(result);
        }
Exemplo n.º 2
0
 private void CreateNewTask()
 {
     NewTask = new TaskItemData
     {
         TaskItem   = new TaskItem(),
         CategoryId = GetCategoryId()
     };
 }
Exemplo n.º 3
0
 private void RedrawPage(object sender, EventArgs eventArgs)
 {
     NewTask = new TaskItemData
     {
         TaskItem = TaskService.IsFormInEditMode
         ? (TaskItem)TaskService.SelectedTask.Clone()
         : new TaskItem()
     };
     StateHasChanged();
 }
Exemplo n.º 4
0
        private static TaskItemData[] CreateTaskItems()
        {
            var items = new TaskItemData[]
            {
                new TaskItemData("ItemSpec1", null),
                new TaskItemData("ItemSpec1", CreateStringDictionary()),
                new TaskItemData("ItemSpec2", Enumerable.Range(1, 3).ToDictionary(i => i.ToString(), i => i.ToString() + "value"))
            };

            return(items);
        }
Exemplo n.º 5
0
        private static void CreateItemsSnapshot(ref IList items)
        {
            if (items == null)
            {
                return;
            }

            // If we're in the default AppDomain, but any of the items come from a different AppDomain
            // we need to take a snapshot of the items right now otherwise that AppDomain might get
            // unloaded by the time we want to consume the items.
            // If we're not in the default AppDomain, always take the items snapshot.
            //
            // It is unfortunate to need to be doing this check, but ResolveComReference and other tasks
            // still use AppDomains and create a TaskParameterEventArgs in the default AppDomain, but
            // pass it Items from another AppDomain.
            if (AppDomain.CurrentDomain.IsDefaultAppDomain())
            {
                bool needsSnapshot = false;
                foreach (var item in items)
                {
                    if (RemotingServices.IsTransparentProxy(item))
                    {
                        needsSnapshot = true;
                        break;
                    }
                }

                if (!needsSnapshot)
                {
                    return;
                }
            }

            int count  = items.Count;
            var cloned = new object[count];

            for (int i = 0; i < count; i++)
            {
                var item = items[i];
                if (item is ITaskItem taskItem)
                {
                    cloned[i] = new TaskItemData(taskItem);
                }
                else
                {
                    cloned[i] = item;
                }
            }

            items = cloned;
        }
Exemplo n.º 6
0
        public void RoundtripTaskParameterEventArgs()
        {
            var items = new TaskItemData[]
            {
                new TaskItemData("ItemSpec1", null),
                new TaskItemData("ItemSpec2", Enumerable.Range(1, 3).ToDictionary(i => i.ToString(), i => i.ToString() + "value"))
            };
            var args = new TaskParameterEventArgs(TaskParameterMessageKind.TaskOutput, "ItemName", items, true, DateTime.MinValue);

            Roundtrip(args,
                      e => e.Kind.ToString(),
                      e => e.ItemType,
                      e => e.LogItemMetadata.ToString(),
                      e => GetItemsString(e.Items));
        }
Exemplo n.º 7
0
    public override void SetData(object data)
    {
        this.data = data as TaskItemData;
        int iconIndex = this.data.reward.type == "gold" ? 0 : 1;

        icon.sprite = iconSprites[iconIndex];
        if (this.data.status == 2)
        {
            btn.interactable = false;
        }
        else
        {
            btn.interactable = true;
            btn.image.sprite = btnSprites[this.data.status];
        }

        taskName.text     = this.data.name;
        taskDescribe.text = this.data.desc;
        propess.text      = GameUtils.GetShortMoneyStr(this.data.progress) + "/" + GameUtils.GetShortMoneyStr(this.data.totalProgress);
        slider.value      = (float)this.data.progress / this.data.totalProgress;
    }