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" }); }
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); }
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(); } }
/// <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); }
/*--------------------------------------------------------------------------------------------*/ 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); }
/// <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); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public ParentItem(Func <IBaseItem[]> pGetItems) { ChildGroup = new ItemGroup(pGetItems); }
public static double GetItemTotalPrice(this IItemGroup itemGroup) { return(itemGroup.Item.Price * itemGroup.Quantity); }