Exemplo n.º 1
0
        private void AddMatchTypeFilters(ICollection <FilterItem> filterItems, IItemGroup filterItemGroup)
        {
            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = "PM",
                Name  = "Perfect Match"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = "CM",
                Name  = "Context Match"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = "Exact",
                Name  = "Exact Match"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = "MT",
                Name  = "Machine Translation"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = "AMT",
                Name  = "Adaptive Machine Translation"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = "NMT",
                Name  = "Neural Machine Translation"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = "Fuzzy",
                Name  = "Fuzzy Match"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = "New",
                Name  = "New"
            });
        }
Exemplo n.º 2
0
 private void AddSegmentPropertyFilters(ICollection <FilterItem> filterItems, IItemGroup filterItemGroup)
 {
     filterItems.Add(new FilterItem
     {
         Group = filterItemGroup,
         Id    = "Locked",
         Name  = "Locked"
     });
 }
        /// <summary>
        /// 获取所有物品组。
        /// </summary>
        /// <returns>所有物品组。</returns>
        public IItemGroup[] GetAllItemGroups()
        {
            int index = 0;

            IItemGroup[] results = new IItemGroup[m_ItemGroups.Count];
            foreach (KeyValuePair <string, ItemGroup> itemGroup in m_ItemGroups)
            {
                results[index++] = itemGroup.Value;
            }

            return(results);
        }
Exemplo n.º 4
0
        private void AddSegmentStatusFilters(ICollection <FilterItem> filterItems, IItemGroup filterItemGroup)
        {
            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = ConfirmationLevel.Unspecified.ToString(),
                Name  = "Unspecified"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = ConfirmationLevel.Draft.ToString(),
                Name  = "Draft"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = ConfirmationLevel.Translated.ToString(),
                Name  = "Translated"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = ConfirmationLevel.RejectedTranslation.ToString(),
                Name  = "Translation Rejected"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = ConfirmationLevel.ApprovedTranslation.ToString(),
                Name  = "Translation Approved"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = ConfirmationLevel.RejectedSignOff.ToString(),
                Name  = "SignOff Rejected"
            });

            filterItems.Add(new FilterItem
            {
                Group = filterItemGroup,
                Id    = ConfirmationLevel.ApprovedSignOff.ToString(),
                Name  = "SignOff Approved"
            });
        }
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		private void HandleItemSelected(IItemGroup pLevel, ISelectableItem pItem) {
			OnItemSelection(pLevel, pItem);

			IParentItem parItem = (pItem as IParentItem);

			if ( parItem != null ) {
				vHistory.Push(vCurrLevel);
				SetNewLevel(parItem.ChildGroup, 1);
				return;
			}

			if ( pItem.NavigateBackUponSelect ) {
				Back();
			}
		}
Exemplo n.º 6
0
        /// <summary>
        /// 创建实体。
        /// </summary>
        /// <param name="itemInstance">实体实例。</param>
        /// <param name="itemGroup">实体所属的实体组。</param>
        /// <param name="userData">用户自定义数据。</param>
        /// <returns>实体。</returns>
        public override IItem CreateItem(object itemInstance, IItemGroup itemGroup, object userData)
        {
            GameObject gameObject = itemInstance as GameObject;

            if (gameObject == null)
            {
                Log.Error("Item instance is invalid.");
                return(null);
            }

            Transform transform = gameObject.transform;

            transform.SetParent(((MonoBehaviour)itemGroup.Helper).transform);
            return(gameObject.GetOrAddComponent <Item>());
        }
        /*--------------------------------------------------------------------------------------------*/
        private void SetNewLevel(IItemGroup pNewLevel, int pDirection)
        {
            if (vCurrLevel != null)
            {
                vCurrLevel.OnItemSelected -= HandleItemSelected;
                vCurrLevel.IsEnabled       = false;
            }

            vCurrLevel           = pNewLevel;
            vCurrLevel.IsEnabled = true;
            vCurrLevel.SetParentsEnabledFunc(() => true);
            vCurrLevel.SetParentsVisibleFunc(() => true);
            vCurrLevel.OnItemSelected += HandleItemSelected;

            OnLevelChange(pDirection);
        }
        /*--------------------------------------------------------------------------------------------*/
        private void SetNewLevel(IItemGroup pNewLevel, int pDirection)
        {
            if (vCurrLevel != null)
            {
                vCurrLevel.OnItemSelected -= HandleItemSelected;
                vCurrLevel.IsEnabled       = false;
            }

            vCurrLevel = pNewLevel;
            vCurrLevel.ReloadActiveItems();
            vCurrLevel.IsEnabled       = true;
            vCurrLevel.OnItemSelected += HandleItemSelected;

            NavigateBackItem.IsEnabled = (vHistory.Count > 0);

            OnLevelChange(pDirection);
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        private void HandleItemSelected(IItemGroup pLevel, ISelectableItem pItem)
        {
            OnItemSelection(pLevel, pItem);

            IParentItem parItem = (pItem as IParentItem);

            if (parItem != null)
            {
                vHistory.Push(vCurrLevel);
                SetNewLevel(parItem.ChildGroup, 1);
                return;
            }

            if (pItem.NavigateBackUponSelect)
            {
                Back();
            }
        }
        /// <summary>
        /// 设置物体的优先级。
        /// </summary>
        /// <param name="item">物体。</param>
        /// <param name="priority">物体优先级。</param>
        public void SetInstancePriority(Item item, int priority)
        {
            if (item == null)
            {
                Log.Warning("Item is invalid.");
                return;
            }

            IItemGroup itemGroup = item.ItemGroup;

            if (itemGroup == null)
            {
                Log.Warning("Item group is invalid.");
                return;
            }

            itemGroup.SetItemInstancePriority(item.gameObject, priority);
        }
        /// <summary>
        /// 设置物体是否被加锁。
        /// </summary>
        /// <param name="item">物体。</param>
        /// <param name="locked">物体是否被加锁。</param>
        public void SetItemInstanceLocked(Item item, bool locked)
        {
            if (item == null)
            {
                Log.Warning("Item is invalid.");
                return;
            }

            IItemGroup itemGroup = item.ItemGroup;

            if (itemGroup == null)
            {
                Log.Warning("Item group is invalid.");
                return;
            }

            itemGroup.SetItemInstanceLocked(item.gameObject, locked);
        }
 ////////////////////////////////////////////////////////////////////////////////////////////////
 /*--------------------------------------------------------------------------------------------*/
 public void Build(IItemGroup pRootLevel)
 {
     SetNewLevel(pRootLevel, 0);
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////
 /*--------------------------------------------------------------------------------------------*/
 public void InitChildGroup(Func<IBaseItem[]> pGetItems)
 {
     ChildGroup = new ItemGroup(pGetItems);
 }
        /*--------------------------------------------------------------------------------------------*/
        private void SetNewLevel(IItemGroup pNewLevel, int pDirection)
        {
            if ( vCurrLevel != null ) {
                vCurrLevel.OnItemSelected -= HandleItemSelected;
                vCurrLevel.IsEnabled = false;
            }

            vCurrLevel = pNewLevel;
            vCurrLevel.ReloadActiveItems();
            vCurrLevel.IsEnabled = true;
            vCurrLevel.OnItemSelected += HandleItemSelected;

            NavigateBackItem.IsEnabled = (vHistory.Count > 0);

            OnLevelChange(pDirection);
        }
 ////////////////////////////////////////////////////////////////////////////////////////////////
 /*--------------------------------------------------------------------------------------------*/
 public void Build(IItemGroup pRootLevel)
 {
     SetNewLevel(pRootLevel, 0);
 }
Exemplo n.º 16
0
        /*--------------------------------------------------------------------------------------------*/
        public IBaseItem GetLevelParentItem()
        {
            IItemGroup parGroup = vItemHierarchy.ParentLevel;

            return(parGroup == null ? null : parGroup.LastSelectedItem);
        }
        /// <summary>
        /// 物品初始化。
        /// </summary>
        /// <param name="itemId">物品编号。</param>
        /// <param name="itemAssetName">物品资源名称。</param>
        /// <param name="itemGroup">物品所属的物品组。</param>
        /// <param name="isNewInstance">是否是新实例。</param>
        /// <param name="userData">用户自定义数据。</param>
        public void OnInit(int itemId, string itemAssetName, IItemGroup itemGroup, bool isNewInstance, object userData)
        {
            m_Id            = itemId;
            m_ItemAssetName = itemAssetName;
            if (isNewInstance)
            {
                m_ItemGroup = itemGroup;
            }
            else if (m_ItemGroup != itemGroup)
            {
                Log.Error("Item group is inconsistent for non-new-instance item.");
                return;
            }

            initRoot     = transform.parent;
            initPosition = transform.localPosition;
            initRotation = transform.eulerAngles;
            initScale    = transform.localScale;

            ShowItemInfo showItemInfo  = (ShowItemInfo)userData;
            Type         itemLogicType = showItemInfo.ItemLogicType;

            if (m_ItemLogic != null)
            {
                if (m_ItemLogic.GetType() == itemLogicType)
                {
                    m_ItemLogic.enabled = true;
                    return;
                }

                Destroy(m_ItemLogic);
                m_ItemLogic = null;
            }

            if (itemLogicType == null)
            {
                return;
            }

            m_ItemLogic = gameObject.GetComponent(itemLogicType) as ItemLogic;

            if (m_ItemLogic == null)
            {
                m_ItemLogic = gameObject.AddComponent(itemLogicType) as ItemLogic;
            }

            if (m_ItemLogic == null)
            {
                Log.Error("Item '{0}' can not add item logic.", itemAssetName);
                return;
            }

            try
            {
                m_ItemLogic.OnInit(showItemInfo.UserData);
            }
            catch (Exception exception)
            {
                Log.Error("Item '[{0}]{1}' OnInit with exception '{2}'.", m_Id.ToString(), m_ItemAssetName, exception.ToString());
            }
        }
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		public ParentItem(Func<IBaseItem[]> pGetItems) {
			ChildGroup = new ItemGroup(pGetItems);
		}
Exemplo n.º 19
0
        /// <summary>
        /// 创建隐藏物品完成事件。
        /// </summary>
        /// <param name="ItemId">物品编号。</param>
        /// <param name="ItemAssetName">物品资源名称。</param>
        /// <param name="ItemGroup">物品所属的物品组。</param>
        /// <param name="userData">用户自定义数据。</param>
        /// <returns>创建的隐藏物品完成事件。</returns>
        public static HideItemCompleteEventArgs Create(int ItemId, string ItemAssetName, IItemGroup ItemGroup, object userData)
        {
            HideItemCompleteEventArgs hideItemCompleteEventArgs = ReferencePool.Acquire <HideItemCompleteEventArgs>();

            hideItemCompleteEventArgs.ItemId        = ItemId;
            hideItemCompleteEventArgs.ItemAssetName = ItemAssetName;
            hideItemCompleteEventArgs.ItemGroup     = ItemGroup;
            hideItemCompleteEventArgs.UserData      = userData;
            return(hideItemCompleteEventArgs);
        }
 /// <summary>
 /// 创建物体。
 /// </summary>
 /// <param name="itemInstance">物体实例。</param>
 /// <param name="itemGroup">物体所属的物体组。</param>
 /// <param name="userData">用户自定义数据。</param>
 /// <returns>物体。</returns>
 public abstract IItem CreateItem(object itemInstance, IItemGroup itemGroup, object userData);
 ////////////////////////////////////////////////////////////////////////////////////////////////
 /*--------------------------------------------------------------------------------------------*/
 private void HandleItemSelected(IItemGroup pGroup, ISelectableItem pItem)
 {
     OnItemSelection(pGroup, pItem);
 }
Exemplo n.º 22
0
 ////////////////////////////////////////////////////////////////////////////////////////////////
 /*--------------------------------------------------------------------------------------------*/
 public ParentItem(Func <IBaseItem[]> pGetItems)
 {
     ChildGroup = new ItemGroup(pGetItems);
 }
Exemplo n.º 23
0
 public static double GetItemTotalPrice(this IItemGroup itemGroup)
 {
     return(itemGroup.Item.Price * itemGroup.Quantity);
 }