Пример #1
0
        public static ItemDTO Create(AItem item)
        {
            ItemDTO res = new ItemDTO();

            res.Map(item);
            return(res);
        }
Пример #2
0
    public void AddItem(AItem Item)
    {
        int pos;

        if (Item.Stack && ((pos = CheckIfItemIsInInventory(Item.Id)) != -1))
        {
            this._iList._items[pos]._nbr += 1;
            this._iList._items[pos].gameObject.transform.GetChild(0).GetChild(0).GetComponent<Text>().text = this._iList._items[pos]._nbr.ToString();
        }
        else
        {
            for (int i = 0; i < this._slotAmount; i++)
            {
                if (this._slots[i].Second == true)
                {
                    GameObject t = Instantiate(this._inventoryItem);
                    ItemData tmp = t.GetComponent<ItemData>();
                    tmp._item = Item;
                    tmp._slot = i;
                    tmp._nbr = 1;
                    this._iList._items.Add (tmp);
                    if (Item.Stack == false)
                        t.transform.GetChild (0).gameObject.SetActive (false);
                    t.transform.SetParent(this._slots[i].First.transform);
                    this._slots[i].Second = false;
                    t.transform.position = Vector2.zero;
                    t.GetComponent<Image>().sprite = Item.s;
                    t.name = Item.Name;

                    break;
                }
            }
        }
    }
Пример #3
0
 public APresenter(IViewable view) {
     View = view;
     _viewGameObject = (view as Component).gameObject;
     Item = AcquireItemReference();
     // the following use ItemData so Views should only be enabled to create this Presenter after ItemData is set
     View.HudPublisher = InitializeHudPublisher();
 }
Пример #4
0
    public void ThrowItem(AItem <TModuleType> item)
    {
        GameObject mesh        = item.GetMesh();
        GameObject droppedItem = null;

        if (mesh == null)
        {
            droppedItem = GameObject.CreatePrimitive(PrimitiveType.Cube);
        }
        else
        {
            droppedItem = GameObject.Instantiate(mesh) as GameObject;
            droppedItem.AddComponent <BoxCollider>();
        }

        droppedItem.layer = 0;
        foreach (Transform child in droppedItem.transform)
        {
            child.gameObject.layer = 0;
        }

        droppedItem.transform.Rotate(0, 0, 90);
        droppedItem.AddComponent <Rigidbody>();
        droppedItem.transform.position = position + offset + (new Vector3(Random.insideUnitCircle.x, 0, Random.insideUnitCircle.y) * this.range);
        droppedItem.AddComponent <CollectItemFromGround>();
        //A CORRIGERdroppedItem.GetComponent<CollectItemFromGround>().Item = item;
        droppedItem.tag = "Stuff";
    }
Пример #5
0
    public override void RemoveItem(AItem <TModuleType> item)
    {
        base.RemoveItem(item);

        var stuff = item as AStuff <TModuleType>;
        var key   = item as Keys <TModuleType>;
        var conso = item as AConsommable <TModuleType>;

        if (null != stuff)
        {
            var clothe = stuff as AClothe <TModuleType>;
            var weapon = stuff as AWeapon <TModuleType>;

            if (null != clothe)
            {
                this.clothes.Remove(clothe);
            }

            if (null != weapon)
            {
                this.weapons.Remove(weapon);
            }
        }
        else if (null != key)
        {
            this.keys.Remove(key);
        }
        else if (null != conso)
        {
            this.consommables.Remove(conso);
        }
    }
Пример #6
0
    public void DisplayItemList()
    {
        byte offset = 0, weaponIndex = 0, clotheIndex = 0, keyIndex = 0, consommableIndex = 0;

        for (byte i = 0; i < this.inventory.Items.Count; i++)
        {
            AItem <TModuleType> item = this.inventory.Items[i];

            if (item.Filtre == ItemExtension.FiltreWeapon && (this.filtre == ItemExtension.FiltreWeapon || this.filtre == ItemExtension.FiltreAll))
            {
                this.DisplayWeapon(ref offset, ref weaponIndex);
            }
            else if (item.Filtre == ItemExtension.FiltreClothe && (this.filtre == ItemExtension.FiltreClothe || this.filtre == ItemExtension.FiltreAll))
            {
                this.DisplayClothe(ref offset, ref clotheIndex);
            }
            else if (item.Filtre == ItemExtension.FiltreKeys && (this.filtre == ItemExtension.FiltreKeys || this.filtre == ItemExtension.FiltreAll))
            {
                this.DisplayKey(ref offset, ref keyIndex);
            }
            else if (item.Filtre == ItemExtension.FiltreConsommable && (this.filtre == ItemExtension.FiltreConsommable || this.filtre == ItemExtension.FiltreAll))
            {
                this.DisplayConsommable(ref offset, ref consommableIndex);
            }
        }

        GUI.EndScrollView();
    }
Пример #7
0
        /// <summary>
        /// 获取所有的A链接
        /// </summary>
        /// <param name="html">要分析的Html代码</param>
        /// <returns>返回一个List存储所有的A标签</returns>
        public static List <AItem> GetAList(string html)
        {
            List <AItem> list = null;
            string       ra   = RegexString.Alist;

            if (Regex.IsMatch(html, ra, RegexOptions.IgnoreCase))
            {
                list = new List <AItem>();
                foreach (Match item in Regex.Matches(html, ra, RegexOptions.IgnoreCase))
                {
                    AItem a = null;
                    try {
                        a = new AItem()
                        {
                            Href = item.Groups[1].Value,
                            Text = item.Groups[2].Value,
                            Html = item.Value,
                            Type = AType.Text
                        };
                        List <ImgItem> imglist = GetImgList(a.Text);
                        if (imglist != null && imglist.Count > 0)
                        {
                            a.Type = AType.Img;
                            a.Img  = imglist[0];
                        }
                    } catch { a = null; }
                    if (a != null)
                    {
                        list.Add(a);
                    }
                }
            }
            return(list);
        }
Пример #8
0
 void DestroyInteraction(ref float posX, ref float posY, AItem <TModuleType> stuff)
 {
     if (GUI.Button(MultiResolutions.Rectangle(posX, posY, 0.06f, 0.025f), MultiResolutions.Font(14) + "<color=red><b>Détruire</b></color>" + "</size>"))
     {
         this.itemMgr.Destruct(itemSelectedIndex, itemSelectedFiltre);
     }
 }
Пример #9
0
    private AItem TryPickUp()
    {
        RaycastHit[] m_RaycastHit = Physics.SphereCastAll(transform.position, 2.0f, Vector3.down, 0.0f);

        AItem nearestItem = null;

        foreach (RaycastHit _hit in m_RaycastHit)
        {
            AItem tmp = _hit.transform.gameObject.GetComponent <AItem>();

            if (tmp != null)
            {
                if (nearestItem == null)
                {
                    nearestItem = tmp;
                }
                else
                {
                    float distance1 = Vector3.Distance(transform.position, tmp.transform.position);
                    float distance2 = Vector3.Distance(transform.position, nearestItem.transform.position);

                    if (distance2 < distance1)
                    {
                        nearestItem = tmp;
                    }
                }
            }
        }

        return(nearestItem);
    }
Пример #10
0
    private void Update()
    {
        RaycastHit objectFront;

        if (Physics.Raycast(_mainCam.position, _mainCam.forward, out objectFront, 100))
        {
            AItem item = objectFront.collider.GetComponent <AItem>();
            if (item)
            {
                _uiManager.SetObjectName(item.GetInfos().Name);
            }
            else
            {
                _uiManager.HideObjectName();
            }
        }
        else
        {
            _uiManager.HideObjectName();
        }

        if (_inputManager.GetActionPressed())
        {
            if (objectFront.collider)
            {
                AItem item = objectFront.collider.GetComponent <AItem>();
                if (item)
                {
                    _playerInventory.AddItemWithObject(item.GetInfos());
                    Destroy(objectFront.collider.gameObject);
                }
            }
        }
    }
Пример #11
0
 void ThrowInteraction(ref float posX, ref float posY, AItem <TModuleType> stuff)
 {
     if (GUI.Button(MultiResolutions.Rectangle(posX, posY, 0.06f, 0.025f), MultiResolutions.Font(14) + "<color=red><b>Jeter</b></color>" + "</size>"))
     {
         this.itemMgr.ThrowOut(this.itemSelectedIndex, this.itemSelectedFiltre);
     }
     posY += 0.025f;
 }
Пример #12
0
        public async Task <int> AddItem(AItem item)
        {
            await _context.Items1.AddAsync(item);

            await _context.SaveChangesAsync();

            return(item.Id1);
        }
Пример #13
0
        public static ItemDTO Map(this ItemDTO res, AItem item)
        {
            res.Id         = item.Id;
            res.Codi       = item.Codi;
            res.Descripcio = item.Descripcio;
            res.Referencia = item.Referencia;
            res.Preu       = item.Preu;

            return(res);
        }
Пример #14
0
    public void ThrowOut(int itemSelectedIndex, byte itemFiltre)
    {
        //this.itemManagerGUI.ResetItemSelected();
        if (this.DoesItemExistInInventory(itemSelectedIndex, itemFiltre, "throw out"))
        {
            AItem <TModuleType> item = this.GetItemWithFiltre(itemSelectedIndex, itemFiltre);

            if (itemFiltre == ItemExtension.FiltreClothe)
            {
                item = this.inventory.Clothes[itemSelectedIndex];
            }
            if (itemFiltre == ItemExtension.FiltreWeapon)
            {
                item = this.inventory.Weapons[itemSelectedIndex];
            }

            GameObject mesh        = item.GetMesh();
            GameObject droppedItem = null;

            if (mesh == null)
            {
                droppedItem = GameObject.CreatePrimitive(PrimitiveType.Cube);
            }
            else
            {
                droppedItem = GameObject.Instantiate(mesh) as GameObject;
                droppedItem.AddComponent <BoxCollider>();
            }

            droppedItem.layer = 0;
            foreach (Transform child in droppedItem.transform)
            {
                child.gameObject.layer = 0;
            }

            droppedItem.transform.Rotate(0, 0, 90);
            droppedItem.AddComponent <Rigidbody>();
            droppedItem.transform.position = Camera.main.transform.position + Camera.main.transform.forward * 3.0f;
            droppedItem.AddComponent <CollectItemFromGround>();
            //A CORRIGERdroppedItem.GetComponent<CollectItemFromGround>().Item = item;
            droppedItem.tag = "Stuff";

            var stuff = item as AStuff <TModuleType>;

            if (stuff != null)
            {
                if (stuff.equipped != e_equipmentEquipped.NOT_EQUIPPED)
                {
                    this.Unequip(stuff);
                }
            }
            this.inventory.RemoveItem(item);
        }
    }
Пример #15
0
    // Update is called once per frame
    void Update()
    {
        Movement();

        if (Input.GetMouseButtonDown(0))                   //Call Companion
        {
            if (m_currentState == EPlayerState.Freehanded) //Follow
            {
                if (Vector3.Distance(ScoreKeeper.Get.Companion.transform.position, transform.position) <= m_DistanceDragBack)
                {
                    ScoreKeeper.Get.Companion.Call_FollowMe();
                    m_currentState = EPlayerState.HoldingHand;
                    m_FriendlySpotLight.enabled = true;
                }
                else
                {
                    //ToDo: Too far away!
                }
            }
            else if (m_currentState == EPlayerState.HoldingHand) //Wait
            {
                ScoreKeeper.Get.Companion.Call_WaitHere();
                m_currentState = EPlayerState.Freehanded;
                m_FriendlySpotLight.enabled = false;
            }
        }
        else if (Input.GetMouseButtonUp(0))
        {
        }

        if (Input.GetKeyDown(KeyCode.G))
        {
            if (m_currentItem != null)//Drop
            {
                m_currentItem.Drop();
                m_currentItem.transform.parent = transform.parent;
                m_currentItem  = null;
                m_currentState = EPlayerState.Freehanded;
            }
            else if (CurrentState == EPlayerState.Freehanded)
            {
                m_currentItem = TryPickUp();
                if (m_currentItem != null)
                {
                    m_currentState = EPlayerState.HoldingIten;
                    m_currentItem.PickUp();

                    m_currentItem.transform.parent        = m_HoldingBone;
                    m_currentItem.transform.localPosition = m_currentItem.m_holdingPosOffset();
                    m_currentItem.transform.localRotation = Quaternion.Euler(m_currentItem.m_holdingRotOffset());
                }
            }
        }
    }
Пример #16
0
    virtual public bool AddItem(AItem <TModuleType> item)
    {
        bool HaveAddedItem = this.CanAddItem(item);

        if (HaveAddedItem)
        {
            this.items.Add(item);
            this.AddItemWeight(item);
        }

        return(HaveAddedItem);
    }
Пример #17
0
 public static AItem Map(this AItem res, ItemDTO item)
 {
     if (res != null)
     {
         res.Id         = item.Id;
         res.Codi       = item.Codi;
         res.Descripcio = item.Descripcio;
         res.Referencia = item.Referencia;
         res.Preu       = item.Preu;
     }
     return(res);
 }
Пример #18
0
    public bool CanAddItem(AItem <TModuleType> item)
    {
        bool canAddItem = this.currentWeight + item.Weight <= this.maxWeight;

        if (!canAddItem)
        {
            ServiceLocator.Instance.ErrorDisplayStack.Add("You can't add this item to your " + itemContainer.ToString() +
                                                          "because you are too heavy", e_errorDisplay.Error);
        }

        return(canAddItem);
    }
Пример #19
0
        /**
         * main elementary item
         * enter item, set up Item object
         */
        public override void InAItem(AItem node)
        {
            Item prevItem = current;

            current       = new Item(prevItem);
            current.level = Int32.Parse(node.GetNumberNot88().ToString().Trim());
            current.name  = node.GetDataNameOrFiller().ToString().Trim();

            if (current.level <= 77)
            {
                current.setParent(prevItem);
            }
        }
        public void CreateItemTest()
        {
            IFactory      factory  = new Factory();
            List <string> mockData = new List <string>()
            {
                "7", "testpart", "I AM A TEST PART", "7.77", "7.77", "../"
            };
            IAItem expected = new AItem(mockData, new ConsoleLogger());

            IAItem actual = factory.CreateItem(mockData, new ConsoleLogger());

            Assert.True(expected.PartDescription.Equals(actual.PartDescription));
        }
Пример #21
0
        public bool UpdateItem(ItemDTO item)
        {
            AItem exist = _iq.GetItemById(item.Id);

            if (exist != null)
            {
                return(_ic.UpdateItem(ItemFactory.Create(item)));
            }
            else
            {
                return(false);
            }
        }
Пример #22
0
        public AItem DeepCopy(
            IAItemGetter item,
            AItem.TranslationMask?copyMask = null)
        {
            AItem ret = (AItem)((AItemCommon)((IAItemGetter)item).CommonInstance() !).GetNew();

            ((AItemSetterTranslationCommon)((IAItemGetter)ret).CommonSetterTranslationInstance() !).DeepCopyIn(
                item: ret,
                rhs: item,
                errorMask: null,
                copyMask: copyMask?.GetCrystal(),
                deepCopy: true);
            return(ret);
        }
Пример #23
0
        public static AItem Create(AItem item)
        {
            AItem   res     = null;
            Creator creator = null;

            if (item is Item)
            {
                creator = new ItemCreator();
                res     = creator.FactoryMethod();
            }
            res.Map(item);

            return(res);
        }
Пример #24
0
        public bool DeleteItem(int id)
        {
            AItem toDelete = MockDatabase.Items.Find(i => i.Id == id);

            if (toDelete != null)
            {
                MockDatabase.Items.Remove(toDelete);
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #25
0
        public AItem DeepCopy(
            IAItemGetter item,
            ErrorMaskBuilder?errorMask,
            TranslationCrystal?copyMask = null)
        {
            AItem ret = (AItem)((AItemCommon)((IAItemGetter)item).CommonInstance() !).GetNew();

            ((AItemSetterTranslationCommon)((IAItemGetter)ret).CommonSetterTranslationInstance() !).DeepCopyIn(
                item: ret,
                rhs: item,
                errorMask: errorMask,
                copyMask: copyMask,
                deepCopy: true);
            return(ret);
        }
Пример #26
0
        public void AddSensorToItem(string typeSensor, string nom, AItem item)
        {
            GameObject sensor = new GameObject();

            sensor.transform.parent   = item.transform;
            sensor.transform.position = item.transform.position;

            if (typeSensor == "RFID")
            {
                RFID rfid = RFID.CreateComponent(sensor, nom);
                rfid.RfidTag = RFID_Tags.Crate;

                item.Sensors.Add(rfid);
            }
        }
Пример #27
0
    public void Destruct(int itemSelectedIndex, byte itemFiltre)
    {
        //this.itemManagerGUI.ResetItemSelected();
        if (this.DoesItemExistInInventory(itemSelectedIndex, itemFiltre, "destruct"))
        {
            AItem <TModuleType>  item  = this.GetItemWithFiltre(itemSelectedIndex, itemFiltre);
            AStuff <TModuleType> stuff = item as AStuff <TModuleType>;

            if (null != stuff)
            {
                this.Unequip(stuff);
            }
            this.inventory.RemoveItem(item);
        }
    }
Пример #28
0
    public override bool InteractWith(AItem _item)
    {
        if (_item is Torch)
        {
            m_ManipulateStressZone.StressLevel = m_StressChange;

            foreach (ParticleSystem eff in m_Effects)
            {
                eff.Play();
            }

            m_light.enabled = true;
            return(true);
        }
        return(false);
    }
Пример #29
0
    private void Start()
    {
        NetDataReader.GetInstace().Reder[Class.fItem] = (data) =>
        {
            var item = fItem.GetRootAsfItem(data.ByteBuffer);

            AItem aItem = new AItem();

            AddItem(aItem.GetfItemT(item).Get(), item.Val8);
        };

        NetDataReader.GetInstace().Reder[Class.fInventory] = (data) =>
        {
            //var iv = fInventory.GetRootAsfInventory(data.ByteBuffer);
        };
    }
Пример #30
0
        public AItem DeepCopy(
            IAItemGetter item,
            out AItem.ErrorMask errorMask,
            AItem.TranslationMask?copyMask = null)
        {
            var   errorMaskBuilder = new ErrorMaskBuilder();
            AItem ret = (AItem)((AItemCommon)((IAItemGetter)item).CommonInstance() !).GetNew();

            ((AItemSetterTranslationCommon)((IAItemGetter)ret).CommonSetterTranslationInstance() !).DeepCopyIn(
                ret,
                item,
                errorMask: errorMaskBuilder,
                copyMask: copyMask?.GetCrystal(),
                deepCopy: true);
            errorMask = AItem.ErrorMask.Factory(errorMaskBuilder);
            return(ret);
        }
Пример #31
0
        public bool UpdateItem(AItem item)
        {
            AItem old = MockDatabase.Items.Find(i => i.Id == item.Id);

            if (old != null)
            {
                old.Codi       = item.Codi;
                old.Descripcio = item.Descripcio;
                old.Preu       = item.Preu;
                old.Referencia = item.Referencia;
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #32
0
 public override void SetParamsNeedAnimal(AAnimal myself)
 {
     profPoint = 1;
     castTime = 2.0f / myself.MovementSpeed;
     duration = CastTime;
     skillScale = (float)Math.Sqrt(SkillScaleVector.x * SkillScaleVector.y * SkillScaleVector.z);
     spCost = Mathf.RoundToInt(3 * skillScale);
     profPoint += Mathf.FloorToInt(SkillScale / 10);
     if (catalyst != null) { }
     else
     {
         if (myself.ItemBag.FindChild("AirShard"))
         {
             catalyst = myself.ItemBag.FindChild("AirShard").GetComponent<AItem>();
         }
     }
     SkillPOSFix = myself.EyeLevel;
 }
Пример #33
0
    public void Sell(int itemSelectedIndex, byte itemFiltre)
    {
        //this.itemManagerGUI.ResetItemSelected();
        if (this.DoesItemExistInInventory(itemSelectedIndex, itemFiltre, "sell"))
        {
            if (itemFiltre == ItemExtension.FiltreWeapon)
            {
                AWeapon <TModuleType> item = this.inventory.Weapons[itemSelectedIndex];

                this.inventory.Gold += item.Price;

                if (item.Filtre == ItemExtension.FiltreWeapon)
                {
                    this.Unequip(item);
                }

                this.inventory.RemoveItem(item);
            }
            else if (itemFiltre == ItemExtension.FiltreClothe)
            {
                AClothe <TModuleType> item = this.inventory.Clothes[itemSelectedIndex];

                this.inventory.Gold += item.Price;

                if (item.Filtre == ItemExtension.FiltreWeapon)
                {
                    this.Unequip(item);
                }

                this.inventory.RemoveItem(item);
            }
            else if (itemFiltre == ItemExtension.FiltreConsommable)
            {
                AItem <TModuleType> item = this.inventory.Consommables[itemSelectedIndex];

                this.inventory.Gold += item.Price;

                this.inventory.RemoveItem(item);
            }
        }
    }
Пример #34
0
 protected override AItemReport GetUserReportFor(AItem item) {
     return (item as SettlementCmdItem).UserReport;
 }
Пример #35
0
 private void ConfigureRow(ATableRowForm rowForm, AItem item) {
     rowForm.Report = GetUserReportFor(item);
     rowForm.itemFocusUserAction += ItemFocusUserActionEventHandler;
 }
Пример #36
0
 protected override AItemReport GetUserReportFor(AItem item) {
     return (item as SystemItem).UserReport;
 }
Пример #37
0
 public override void Action(AAnimal myself)
 {
     if (myself.ItemBag.FindChild(TargetItem.Name))
     {
         Transform t = myself.ItemBag.FindChild(TargetItem.Name);
         if (t.GetComponent<AItem>().CanTogether)
         {
             t.GetComponent<AItem>().Number += TargetItem.Number;
         }
     }
     else
     {
         GameObject item = new GameObject(TargetItem.Name);
         item.AddComponent(TargetItem.GetType());
         item.GetComponent<AItem>().Number = TargetItem.Number;
         item.transform.SetParent(myself.ItemBag.transform);
     }
     if (myself.tag == "Player")
     {
         GameObject.Find("PlayerCanvas").GetComponent<PlayerCanvasManager>().PickUpPopUp(TargetItem);
     }
     TargetItem.PickUp();
     TargetItem = null;
     SetMotionAndDurationAndUseHPSP(myself);
 }
Пример #38
0
 /// <summary>
 /// The derived class returns the UserReport for the provided item.
 /// </summary>
 /// <param name="item">The item.</param>
 /// <returns></returns>
 protected abstract AItemReport GetUserReportFor(AItem item);
Пример #39
0
 public override void SetParamsNeedAnimal(AAnimal myself)
 {
     profPoint = 5;
     castTime = 2.0f / myself.MovementSpeed;
     duration = CastTime;
     skillScale = (float)Math.Sqrt(SkillScaleVector.x * SkillScaleVector.y * SkillScaleVector.z);
     if (SkillScale >= 50) { skillScale = 50; }
     sppercentCost = 50 + Mathf.RoundToInt(skillScale);
     profPoint += Mathf.FloorToInt(SkillScale / 10);
     if (myself.ItemBag.FindChild("EnergyShard"))
     {
         catalyst = myself.ItemBag.FindChild("EnergyShard").GetComponent<AItem>();
     }
     SkillPOSFix = myself.EyeLevel;
 }
Пример #40
0
 protected override AItemReport GetUserReportFor(AItem item) {
     return (item as FleetCmdItem).UserReport;
 }
Пример #41
0
 public void Activate(AItem item)
 {
     this._item = item;
     ConstructDataString();
     this._tooltip.SetActive(true);
 }
Пример #42
0
 protected override AItemReport GetUserReportFor(AItem item) {
     return (item as StarbaseCmdItem).UserReport;
 }