예제 #1
0
        /// <summary>
        ///     Initializes the log.
        /// </summary>
        private void InitializeLog()
        {
            if (Project.Log == null)
            {
                return;
            }
            if (Project.Log.Count == 0)
            {
                return;
            }
            foreach (var logEntry in Project.Log)
            {
                var item = new ActionListItem
                {
                    ItemText = $"{logEntry.PackageVersion} - {logEntry.EntryTime}" +
                               (logEntry.Username == null ? string.Empty : $" by {logEntry.Username}")
                };

                switch (logEntry.Entry)
                {
                case LogEntry.Create:
                    item.HeaderText = "Created package";
                    item.ItemImage  = Resources.Create;
                    break;

                case LogEntry.Delete:
                    item.HeaderText = "Deleted package";
                    item.ItemImage  = Resources.Remove;
                    break;

                case LogEntry.Upload:
                    item.HeaderText = "Uploaded package";
                    item.ItemImage  = Resources.Upload;
                    break;

                case LogEntry.Edit:
                    item.HeaderText = "Edit package";
                    item.ItemImage  = Resources.Edit;
                    break;
                }

                _logItemsStack.Push(item);
            }

            foreach (var item in _logItemsStack)
            {
                historyList.Items.Add(item);
            }
        }
예제 #2
0
    public void SetActions(List <ActionData> actions)
    {
        foreach (Transform child in transform)
        {
            Destroy(child.gameObject);
        }

        for (int i = 0; i < actions.Count; i++)
        {
            Vector3        pos  = new Vector3(0, (i * _itemHeight) + _offset, 0);
            ActionListItem item = GameObject.Instantiate <ActionListItem>(_itemPrefab, Vector3.zero, Quaternion.identity, transform);
            item.transform.localPosition = pos;

            ActionData act = actions[i];
            item.SetData(act.Text, act.Time, act.Fuel, act.Resources);
            item.Selected += () => ActionSelected?.Invoke(act);
        }
    }
예제 #3
0
        /// <summary>
        ///     Initializes the log.
        /// </summary>
        private void InitializeLog()
        {
            if (Project.Log == null)
            {
                return;
            }
            if (Project.Log.Count == 0)
            {
                return;
            }
            foreach (var logEntry in Project.Log)
            {
                var item = new ActionListItem
                {
                    ItemText = String.Format("{0} - {1}", logEntry.PackageVersion, logEntry.EntryTime)
                };

                switch (logEntry.Entry)
                {
                case LogEntry.Create:
                    item.HeaderText = "Created package";
                    item.ItemImage  = Resources.Create;
                    break;

                case LogEntry.Delete:
                    item.HeaderText = "Deleted package";
                    item.ItemImage  = Resources.Remove;
                    break;

                case LogEntry.Upload:
                    item.HeaderText = "Uploaded package";
                    item.ItemImage  = Resources.Upload;
                    break;
                }
                _logItemsStack.Push(item);
            }

            foreach (var item in _logItemsStack)
            {
                historyList.Items.Add(item);
            }
        }
예제 #4
0
        private int GetIntegers(IntPtr list, uint count, IntPtr data)
        {
            if (data == IntPtr.Zero)
            {
                return(PSError.kSPBadParameterError);
            }

            ActionListItemCollection items = actionLists[list];

            if (count <= items.Count)
            {
                int valueCount = (int)count;
                unsafe
                {
                    int *ptr = (int *)data.ToPointer();

                    for (int i = 0; i < valueCount; i++)
                    {
                        ActionListItem item = items[i];

                        // The first through valueCount items in the list are required to be integers.
                        if (item.Type != DescriptorTypes.Integer)
                        {
                            return(PSError.kSPLogicError);
                        }

                        *ptr = (int)item.Value;
                        ptr++;
                    }
                }

                return(PSError.kSPNoError);
            }

            return(PSError.kSPBadParameterError);
        }