Example #1
0
            /// <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;
                    }
                }
            }
Example #2
0
        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));
        }
Example #4
0
        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));
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #9
0
        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);
        }
Example #12
0
    /// <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);
        }
Example #15
0
        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);
        }
Example #17
0
        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);
        }
Example #18
0
 public static Option <IEquipment> Equip(
     this IEquipmentContainer container, IEquipment item, Set <string> tags)
 {
     return(FindConfiguration(container, item, tags).Map(c => Equip(container, item, c)));
 }
Example #19
0
 public static IEquipment Unequip(this IEquipmentContainer container, IEquipment item) =>
 Unequip(container, item, None);
Example #20
0
 public static Option <IEquipment> Unequip(this IEquipmentContainer container, string slot) =>
 Unequip(container, slot, None);