Example #1
0
 void RemoveItem(Character.Item item)
 {
     Slinqable.Slinq(inventoryUI.itemCardComps)
     .FirstOrNone((itemCard) => itemCard.GetItem() == item)
     .ForEachOr(
         (itemCard) => itemCard.SetItem(Character.Item.None, null),
         () => { throw new Exception("Cannot get item"); }
         );
 }
Example #2
0
        public ItemCard(Character.Item item, GameObject itemCardGO)
        {
            this.item       = item;
            this.itemCardGO = itemCardGO;

            itemCardGO.GetComponent <UIButtonMessage>().buttonClickEvent = OnButtonClicked;
            spriteRenderer = itemCardGO.GetComponentInChildren <SpriteRenderer>();
            itemCardGO.SetActive(false);
        }
Example #3
0
 public void AddItemCard(Character.Item item)
 {
     Slinqable.Slinq(inventoryUI.itemCardComps).FirstOrNone(
         (itemCard) => itemCard.GetItem() == Character.Item.None
         ).ForEachOr(
         (itemCard) => {
         var sprite = GetSpriteOfItem(item);
         itemCard.SetItem(item, sprite);
     },
         () => Debug.Log("There is no empty imte.")
         );
 }
Example #4
0
    public Run ShowItemAcquisitionEffect(Vector3 position, Character.Item item)
    {
        var effect = Instantiate(itemAcquisitionEffectPrefab, position, Quaternion.identity) as GameObject;

        effect.transform.parent        = BattleUIManager.Get().transform;
        effect.transform.localPosition = Vector3.zero;

        var itemSprite = BattleUIManager.Get().GetSpriteOfItem(item);

        effect.GetComponentInChildren <SpriteRenderer>().sprite = itemSprite;

        return(Run.WaitWhile(() => effect != null));
    }
Example #5
0
    public void UseItemCard(Character.Item item)
    {
        if (BattleManager.Get().GetBattleState() == BattleManager.State.Inactive)
        {
            return;
        }

        NetworkManager.UseItem(item);

        var inventoryScoroll = inventoryUI.GetComponent <RightScroller>();

        inventoryScoroll.Close();
    }
Example #6
0
 public void SetItem(Character.Item item, Sprite sprite)
 {
     this.item = item;
     if (item != Character.Item.None)
     {
         itemCardGO.SetActive(true);
         spriteRenderer.sprite = sprite;
     }
     else
     {
         itemCardGO.SetActive(false);
     }
 }
Example #7
0
    public Sprite GetSpriteOfItem(Character.Item item)
    {
        var sprite = Slinqable.Slinq(itemSprites).FirstOrNone(
            (itemSprite) => itemSprite.item == item
            )
                     .Select(
            (itemSprite) => itemSprite.sprite
            )
                     .ValueOr(
            () => { throw new System.Exception("cannot get item sprite"); }
            );

        return(sprite);
    }
Example #8
0
    Run ShowItemUseAnimation(Character.Item item)
    {
        inventoryUI.itemCardUseEffect.SetActive(true);
        var effectSpriteRenderer = inventoryUI.itemCardUseEffect.GetComponent <SpriteRenderer>();

        effectSpriteRenderer.sprite = GetSpriteOfItem(item);
        var animator = inventoryUI.itemCardUseEffect.GetComponent <Animator>();

        animator.SetTrigger("ShowItemUseEffect");

        return(Run.After(0.3f, () => { })
               .Then(
                   Run.WaitWhile(() => effectSpriteRenderer.enabled, false)
                   ));
    }
Example #9
0
    public void ReceivedUseItemCard(Character.Item item)
    {
        ShowItemUseAnimation(item)
        .ExecuteWhenDone(() => {
            var characterManager = GameManager.GetMyCharacterManager();
            var character        = characterManager.GetCharacterInstance();
            if (BattleManager.Get().IsPlayerTurn(characterManager))
            {
                RemoveItem(item);
                RearrangeInventory();

                character.UseItem(item);
            }

            BattleManager.Get().AddUseItemInBattle(item);
        });
    }
Example #10
0
    public Run ScaleBuffUI(Character.Item item)
    {
        float scale      = 1.5f;
        float effectTime = 0.5f;

        Vector3 scaleVector = new Vector3(scale, scale, 1);

        Option <Run> effect = Slinqable.Slinq(ui.battleBuffUIs)
                              .Where((buffUI) => buffUI.item == item)
                              .FirstOrNone()
                              .Select((buffUI) => {
            var buffGO = buffUI.spriteRenderer.gameObject;
            iTween.ScaleTo(buffGO, iTween.Hash("scale", scaleVector, "time", effectTime));
            return(Run.WaitSeconds(effectTime)
                   .ExecuteWhenDone(() => {
                iTween.ScaleTo(buffGO, iTween.Hash("scale", Vector3.one, "time", effectTime));
            })
                   .Then(() => Run.WaitSeconds(effectTime)));
        });

        return(effect.ValueOr(Run.WaitSeconds(0)));
    }
Example #11
0
 private void ReceiveUseItem(string strItem)
 {
     Character.Item item = (Character.Item)Enum.Parse(typeof(Character.Item), strItem);
     BattleUIManager.Get().ReceivedUseItemCard(item);
 }
Example #12
0
 public static void UseItem(Character.Item item)
 {
     networkInstance.networkView.RPC("ReceiveUseItem", RPCMode.All, item.ToString());
 }
Example #13
0
 private void button_Inv_Click(object sender, EventArgs e)
 {
     Character.Item formInv = new Character.Item();
     formInv.CharName = CharacterName;
     formInv.ShowDialog();
 }
Example #14
0
 private void button_Inv_Click(object sender, EventArgs e)
 {
     Character.Item formInv = new Character.Item();
     formInv.CharName = CharacterName;
     formInv.ShowDialog();
 }
Example #15
0
    Run ShowItemScaleEffect(Character.Item item)
    {
        var extendedSize = 1.5f;

        return(player.ScaleBuffUI(item));
    }
Example #16
0
 public void UseItem(Character.Item item)
 {
     inventory.Remove(item);
     Debug.Log("Using " + item);
 }
Example #17
0
 public void AddItem(Character.Item newItem)
 {
     inventory.Add(newItem);
     BattleUIManager.Get().AddItemCard(newItem);
     Debug.Log("Get " + newItem.ToString() + " / Inventory : " + GetNumberOfItems() + " / 3");
 }
Example #18
0
 public void AddUseItemInBattle(Character.Item item)
 {
     useItemsInBattle.Add(item);
     UpdateBuffUI();
 }
Example #19
0
 private void button4_Click(object sender, EventArgs e)
 {
     Character.Item formInv = new Character.Item();
     formInv.CharName = comboBox2.Text;
     formInv.ShowDialog();
 }
Example #20
0
    Run InteractionWithTile()
    {
        int  tileKey = GetCurrentTileKey();
        Tile tile    = TileManager.GetExistTile(tileKey);

        Tile.TileType tileType = tile.tileType;

        var            returnRun      = Run.WaitSeconds(0);
        MultiAudioClip multiAudioClip = characterInstance.GetComponent <MultiAudioClip>();

        if (moveState == MoveState.CheckingSaveTile)
        {
            if (tileType == Tile.TileType.Save)
            {
                characterInstance.CheckSaveTile(characterMover.GetCurrentTileKey());
                multiAudioClip.audioSources[3].Play();
            }
        }
        else
        {
            if (tileType == Tile.TileType.Buff)
            {
                NetworkManager.Buff(NetworkManager.Get().Id, tile.transform.position);
            }
            else if (tileType == Tile.TileType.Item)
            {
                if (characterInstance.GetNumberOfItems() < Character.MaxInventorySize)
                {
                    multiAudioClip.audioSources[1].Play();
                    Character.Item newItem = SelectRandomItem();
                    returnRun = returnRun.Then(() => {
                        return(EffectManager.Get().ShowItemAcquisitionEffect(tile.transform.position, newItem));
                    })
                                .ExecuteWhenDone(() => {
                        characterInstance.AddItem(newItem);
                        Debug.Log("Get Item!");
                    });
                }
                else
                {
                    Debug.Log("Inventory is full...");
                }
            }
            else if (tileType == Tile.TileType.Jail)
            {
                returnRun = returnRun.Then(() => {
                    return(EffectManager.Get().ShowJailEffect(tile.transform.position));
                })
                            .ExecuteWhenDone(() => {
                    characterInstance.InJail();
                });
                multiAudioClip.audioSources[2].Play();
            }
            else if (tileType == Tile.TileType.Warp)
            {
                //FIXME : Add warp code!
                //warp tiles are NOT used.
                Debug.Log("This Tile is Portal!");
            }
            else
            {
//                Debug.Log("Default Tile.");
            }
        }

        return(returnRun);
    }
Example #21
0
 public void EnableBuffUI(Character.Item item)
 {
     Slinqable.Slinq(ui.battleBuffUIs)
     .Where((buffUI) => buffUI.item == item)
     .ForEach((buffUI) => buffUI.spriteRenderer.enabled = true);
 }