/// <summary> /// Adds the given element to the collection /// </summary> /// <param name="item">The item to add</param> public override void Add(IModelElement item) { IOperationalLimitSet operationalLimitSetCasted = item.As <IOperationalLimitSet>(); if ((operationalLimitSetCasted != null)) { this._parent.OperationalLimitSet.Add(operationalLimitSetCasted); } IContingencyEquipment contingencyEquipmentCasted = item.As <IContingencyEquipment>(); if ((contingencyEquipmentCasted != null)) { this._parent.ContingencyEquipment.Add(contingencyEquipmentCasted); } ICustomerAgreement customerAgreementsCasted = item.As <ICustomerAgreement>(); if ((customerAgreementsCasted != null)) { this._parent.CustomerAgreements.Add(customerAgreementsCasted); } if ((this._parent.EquipmentContainer == null)) { IEquipmentContainer equipmentContainerCasted = item.As <IEquipmentContainer>(); if ((equipmentContainerCasted != null)) { this._parent.EquipmentContainer = equipmentContainerCasted; return; } } }
public static Option <IEquipment> Unequip( this IEquipmentContainer container, string slot, Option <Node> dropTo) { Ensure.Any.IsNotNull(container, nameof(container)); return(container.FindItemInSlot(slot).Map(i => Unequip(container, i, dropTo))); }
public static Equipment Equip( [NotNull] this IEquipmentContainer container, [NotNull] Equipment item, params string[] tags) { var configuration = FindConfiguration(container, item, tags); return(configuration == null ? null : Equip(container, item, configuration)); }
public static Option <EquipmentConfiguration> FindConfiguration( this IEquipmentContainer container, IEquipment item, Set <string> tags) { Ensure.That(container, nameof(container)).IsNotNull(); Ensure.That(item, nameof(item)).IsNotNull(); var allConfigs = item.Configurations.Values; return((tags.Any() ? allConfigs.TaggedAny(tags) : allConfigs).Find(container.AllowedFor)); }
public static IEquipment Equip( this IEquipmentContainer container, IEquipment item, EquipmentConfiguration configuration) { Ensure.That(container, nameof(container)).IsNotNull(); Ensure.That(configuration, nameof(configuration)).IsNotNull(); configuration.Activate(); container.Add(item); return(item); }
public void OnEquipped(IEquipmentContainer container) { Ensure.Any.IsNotNull(container, nameof(container)); var instance = new MeshInstance { Mesh = EquippedMesh }; var parent = ((IRigged)container.Holder).Skeleton; parent?.AddChild(instance); }
public static EquipmentConfiguration FindConfiguration( [NotNull] this IEquipmentContainer container, [NotNull] Equipment item, params string[] tags) { Ensure.Any.IsNotNull(container, nameof(container)); Ensure.Any.IsNotNull(item, nameof(item)); var allConfigs = item.Configurations.Values; return((tags.Any() ? allConfigs.TaggedAny(tags) : allConfigs).FirstOrDefault(container.AllowedFor)); }
public static Equipment Unequip( [NotNull] this IEquipmentContainer container, [NotNull] string slot, [CanBeNull] Node dropTo) { Ensure.Any.IsNotNull(container, nameof(container)); Ensure.Any.IsNotNull(slot, nameof(slot)); var item = container.FindItem(slot); return(item != null?Unequip(container, item, dropTo) : null); }
public void OnUnequipped(IEquipmentContainer container) { Ensure.Any.IsNotNull(container, nameof(container)); var parent = ((IRigged)container.Holder).Skeleton; var instance = parent.GetChildren <MeshInstance>().FirstOrDefault(m => m.Mesh == EquippedMesh); if (instance != null) { parent.RemoveChild(instance); } }
public static Equipment Equip( [NotNull] this IEquipmentContainer container, [NotNull] EquippableItem item, params string[] tags) { Ensure.Any.IsNotNull(container, nameof(container)); Ensure.Any.IsNotNull(item, nameof(item)); var allConfigs = item.Configurations.Values; var configuration = (tags.Any() ? allConfigs.TaggedAny(tags) : allConfigs).FirstOrDefault(container.AllowedFor); return(configuration == null ? null : Equip(container, item, configuration)); }
public static Equipment Equip( [NotNull] this IEquipmentContainer container, [NotNull] Equipment item, [NotNull] EquipmentConfiguration configuration) { Ensure.Any.IsNotNull(container, nameof(container)); Ensure.Any.IsNotNull(item, nameof(item)); Ensure.Any.IsNotNull(configuration, nameof(configuration)); configuration.Activate(); container.Add(item); return(item); }
/// <summary> /// 获取其他玩家的信息 /// </summary> /// <param name="id"></param> private void GetShipData(ulong id) { //Debug.LogError("收到玩家信息"+id); ShipItemsProxy shipItemsProxy = GameFacade.Instance.RetrieveProxy(ProxyName.ShipItemsProxy) as ShipItemsProxy; // 飞船的 IShip ship = shipItemsProxy.GetCurrentWarShip(id); if (ship != null) { IWeaponContainer weaponContainer = ship.GetWeaponContainer(); if (weaponContainer != null) { IWeapon[] weapons = weaponContainer.GetWeapons(); //Debug.LogError("weapons==="+weapons.Length); if (weapons != null) { for (int i = 0; i < weapons.Length; i++) { IWeapon weapon = weapons[i]; m_Weapons[i].text = TableUtil.GetItemName((int)weapon.GetBaseConfig().Id); } } } IEquipmentContainer equipmentContainer = ship.GetEquipmentContainer(); if (equipmentContainer != null) { IEquipment[] equipments = ship.GetEquipmentContainer().GetEquipments(); for (int i = 0; i < equipments.Length; i++) { IEquipment equipment = equipments[i]; m_EquipMents[i].text = TableUtil.GetItemName((int)equipment.GetBaseConfig().Id); } } IReformer ireformer = ship.GetReformerContainer().GetReformer(); if (ireformer != null) { m_Converter.text = TableUtil.GetItemName((int)ireformer.GetBaseConfig().Id); } } else { Debug.LogError("船的信息为空"); } }
public static EquippableItem Unequip( [NotNull] this IEquipmentContainer container, [NotNull] Equipment equipment, bool dispose = true) { Ensure.Any.IsNotNull(container, nameof(container)); Ensure.Any.IsNotNull(equipment, nameof(equipment)); container.Remove(equipment); var item = equipment.CreateItem(); if (dispose) { equipment.QueueFree(); } return(item); }
public static Equipment Unequip( [NotNull] this IEquipmentContainer container, [NotNull] Equipment item, [CanBeNull] Node dropTo) { Ensure.Any.IsNotNull(container, nameof(container)); Ensure.Any.IsNotNull(item, nameof(item)); var parent = dropTo ?? item.GetTree().CurrentScene; var transform = item.GlobalTransform; container.Remove(item); item.Configuration?.Deactivate(); parent.AddChild(item); item.GlobalTransform = transform; return(item); }
protected void CreateNode(IEquipment item, IEquipmentContainer parent) { Ensure.That(item, nameof(item)).IsNotNull(); Ensure.That(parent, nameof(parent)).IsNotNull(); var node = Tree.CreateItem(Tree.GetRoot()); node.SetMeta(SlotKey, item.Slot); node.SetCellMode(0, TreeItem.TreeCellMode.String); node.SetText(0, item.DisplayName); node.SetCellMode(1, TreeItem.TreeCellMode.String); node.SetText(1, item.EquipmentType.DisplayName(Node)); node.SetCellMode(2, TreeItem.TreeCellMode.String); node.SetText(2, parent.Slots[item.Slot].DisplayName); node.SetCellMode(3, TreeItem.TreeCellMode.String); node.SetText(3, $"{item.Node.Weight:F1}kg"); }
public static Equipment Equip( [NotNull] this IEquipmentContainer container, [NotNull] EquippableItem item, [NotNull] EquipConfiguration configuration, bool dispose = true) { Ensure.Any.IsNotNull(container, nameof(container)); Ensure.Any.IsNotNull(item, nameof(item)); Ensure.Any.IsNotNull(configuration, nameof(configuration)); var equipment = configuration.CreateEquipment(); container.Add(equipment); if (dispose) { item.QueueFree(); } return(equipment); }
public static IEquipment Unequip( this IEquipmentContainer container, IEquipment item, Option <Node> dropTo) { Ensure.That(container, nameof(container)).IsNotNull(); Ensure.That(item, nameof(item)).IsNotNull(); var parent = dropTo.IfNone(() => item.Node.GetTree().CurrentScene); Debug.Assert(parent != null, "parent != null"); var transform = item.GetGlobalTransform(); container.Remove(item); item.Configuration?.Deactivate(); parent.AddChild(item.Node); item.SetGlobalTransform(transform); return(item); }
public static Option <IEquipment> Equip( this IEquipmentContainer container, IEquipment item, Set <string> tags) { return(FindConfiguration(container, item, tags).Map(c => Equip(container, item, c))); }
public static IEquipment Unequip(this IEquipmentContainer container, IEquipment item) => Unequip(container, item, None);
public static Option <IEquipment> Unequip(this IEquipmentContainer container, string slot) => Unequip(container, slot, None);