コード例 #1
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void OnSorted()
    {
        var runes = m_SortInfo.GetSortedRunes();

        List <RuneItem> items = new List <RuneItem>();

        for (int i = 0; i < m_RuneGrid.transform.childCount; ++i)
        {
            items.Add(m_RuneGrid.transform.GetChild(i).gameObject.GetComponent <RuneItem>());
        }
        m_RuneGrid.transform.DetachChildren();

        foreach (Rune rune in runes)
        {
            RuneItem item = items.Find(i => i.Rune == rune);
            if (item == null)
            {
                continue;
            }
            item.Init(item.Rune, item.m_lock_toggle.value, OnClickRune);
            m_RuneGrid.AddChild(item.transform, false);

            items.Remove(item);
        }

        foreach (var item in items)
        {
            m_RuneGrid.AddChild(item.transform, false);
        }

        m_RuneGrid.Reposition();
        m_RuneScroll.ResetPosition();
    }
コード例 #2
0
 void Start()
 {
     runeItem       = null;
     runeItemPrefab = Resources.Load("Prefabs/RuneItemPrefab", typeof(GameObject)) as GameObject;
     grid           = FindGameObject("Grid");
     StartCoroutine(DelaySetupUtilGrid());
 }
コード例 #3
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void OnRunesSaleHandler(C2G.RunesSale send, C2G.RunesSaleAck recv)
    {
        foreach (long rune_idx in send.rune_idxes)
        {
            RuneManager.Instance.RemoveRune(rune_idx);
            RuneItem item = m_Runes.Find(r => r.Rune.RuneIdx == rune_idx);
            if (item == null)
            {
                item = m_HeroRunes.Find(r => r.Rune.RuneIdx == rune_idx);
                if (item == null)
                {
                    continue;
                }
            }

            RemoveRune(item);
        }
        m_selected_runes.Clear();
        Network.PlayerInfo.AddGoods(recv.add_goods);
        GameMain.Instance.UpdatePlayerInfo();
        RefreshInfo();
        //InitRuneItem();
        InitBatchLabel();

        Tooltip.Instance.ShowMessageKey("RuneSaleSuccess");
    }
コード例 #4
0
ファイル: simpleSlotSet.cs プロジェクト: tuita520/RL_CardGame
    public void initRune(GDERuneData rune)
    {
        if (rune == null || rune.Hashcode <= 0)
        {
            isEmpty  = true;
            hashcode = 0;
            id       = string.Empty;
            exp      = 0;

            return;
        }
        isEmpty = false;
        if (upText)
        {
            upText.text = SDGameManager.T("Lv.") + rune.level;
        }
        hashcode = rune.Hashcode;
        id       = rune.id;
        //
        RuneItem item = SDDataManager.Instance.getRuneItemById(id);

        if (frameImg)
        {
            frameImg.sprite = SDDataManager.Instance.baseFrameSpriteByRarity(item.Quality);
        }
        if (bgImg)
        {
            bgImg.sprite = SDDataManager.Instance.baseBgSpriteByRarity(item.Quality);
        }
        if (itemImg)
        {
            //itemImg.sprite
        }
    }
コード例 #5
0
    public void initDetailPanel(GDERuneData rune)
    {
        RuneItem R = SDDataManager.Instance.getRuneItemById(rune.id);

        ownerId  = rune.ownerId;
        locked   = rune.locked;
        id       = rune.id;
        hashcode = rune.Hashcode;
        if (itemNameText)
        {
            itemNameText.text = R.NAME;
        }
        if (itemDescText)
        {
            itemDescText.text = R.DESC;
        }
        quality = R.Quality;
        level   = rune.level;
        if (itemExtraText)
        {
            itemExtraText.text = SDGameManager.T("Lv.") + level;
        }
        //starVision.StarNum = quality;
        //itemImg =
        frameImg.sprite = SDDataManager.Instance.baseFrameSpriteByRarity(quality);
        bgImg.sprite    = SDDataManager.Instance.baseBgSpriteByRarity(quality);
    }
コード例 #6
0
ファイル: Runes.xaml.cs プロジェクト: ErikMelton/JustUlted
 public void RenderRunes()
 {
     RedListBox.Items.Clear();
     YellowListBox.Items.Clear();
     BlueListBox.Items.Clear();
     BlackListBox.Items.Clear();
     if (SelectedBook != null)
     {
         foreach (SlotEntry RuneSlot in SelectedBook.SlotEntries)
         {
             foreach (var obj in AvailableRuneList.Items)
             {
                 try
                 {
                     if (((runes)((RuneItem)obj).Tag).id == RuneSlot.RuneId)
                     {
                         ((RuneItem)obj).Used--;
                     }
                 }
                 catch
                 {
                 }
             }
             AvailableRuneList.Items.Refresh();
             UpdateStatList();
             foreach (runes Rune in Client.Runes)
             {
                 if (RuneSlot.RuneId == Rune.id)
                 {
                     RuneItem item = new RuneItem();
                     item.RuneImage.Source   = Rune.icon;
                     item.RuneName.Content   = Rune.name;
                     item.RuneEffect.Content = Rune.description;
                     item.Margin             = new Thickness(2, 2, 2, 2);
                     item.Tag = Rune;
                     item.MouseRightButtonDown += item_MouseRightButtonDown;
                     item.MouseMove            += item_MouseMove;
                     item.MouseLeave           += item_MouseLeave;
                     if (Rune.name.Contains("Mark"))
                     {
                         RedListBox.Items.Add(item);
                     }
                     else if (Rune.name.Contains("Seal"))
                     {
                         YellowListBox.Items.Add(item);
                     }
                     else if (Rune.name.Contains("Glyph"))
                     {
                         BlueListBox.Items.Add(item);
                     }
                     else if (Rune.name.Contains("Quint"))
                     {
                         BlackListBox.Items.Add(item);
                     }
                 }
             }
         }
     }
 }
コード例 #7
0
        private void AvailableRuneList_DoubleClickOrRightClick(object sender, MouseButtonEventArgs e)
        {
            if (((ListBox)sender).SelectedItem == null)
            {
                return;
            }

            if (((RuneItem)((ListBox)sender).SelectedItem).Used <= 0)
            {
                return;
            }

            var rune = ((runes)((RuneItem)((ListBox)sender).SelectedItem).Tag);
            var item = new RuneItem
            {
                RuneImage  = { Source = rune.icon },
                Margin     = new Thickness(2, 2, 2, 2),
                Tag        = rune,
                RuneName   = { Content = rune.name },
                RuneEffect = { Content = rune.description }
            };

            item.MouseRightButtonDown += item_MouseRightButtonDown;
            item.MouseMove            += item_MouseMove;
            item.MouseLeave           += item_MouseLeave;
            var    tempRuneListBox = new ListBox();
            double tempAvailCount  = 0;

            if (rune.name.Contains("Mark"))
            {
                tempAvailCount  = _redRunesAvail;
                tempRuneListBox = RedListBox;
            }
            if (rune.name.Contains("Seal"))
            {
                tempAvailCount  = _yellowRunesAvail;
                tempRuneListBox = YellowListBox;
            }
            if (rune.name.Contains("Glyph"))
            {
                tempAvailCount  = _blueRunesAvail;
                tempRuneListBox = BlueListBox;
            }
            if (rune.name.Contains("Quint"))
            {
                tempAvailCount  = _blackRunesAvail;
                tempRuneListBox = BlackListBox;
            }
            if (!(tempRuneListBox.Items.Count < tempAvailCount))
            {
                return;
            }

            tempRuneListBox.Items.Add(item);
            UpdateStatList();
            ((RuneItem)((ListBox)sender).SelectedItem).Used--;
            AvailableRuneList.Items.Refresh();
        }
コード例 #8
0
ファイル: UI_RuneExp.cs プロジェクト: ww386362087/MoyuHero
    void UpdateRuneItem(int index, RectTransform cell)
    {
        if (index < _curRuneList.Count)
        {
            RuneItem item = cell.gameObject.GetComponent <RuneItem>();
            if (item == null)
            {
                item = cell.gameObject.AddComponent <RuneItem>();
            }

            item.tableID = _curRuneList[index].item.GetItemTableID();
            item.guid    = _curRuneList[index].item.GetItemGuid();
            item.index   = index;
            item.ShowInfo();

            if (_selectRuneList.Count == 12)
            {
                if (isAdd)
                {
                    if (_curRuneList[index].isSelect == false)
                    {
                        item.SetSelectBtnState(false);
                        item.updateSelectBtn(true);
                    }
                    else
                    {
                        item.SetSelectBtnState(true);
                        item.updateSelectBtn(false);
                    }
                }
                else
                {
                    if (_curRuneList[index].isSelect)
                    {
                        item.SetSelectBtnState(true);
                        item.updateSelectBtn(false);
                    }
                    else
                    {
                        item.SetSelectBtnState(false);
                        item.updateSelectBtn(false);
                    }
                }
            }
            else
            {
                item.SetSelectBtnState(_curRuneList[index].isSelect);
                item.updateSelectBtn(false);
            }
        }
    }
コード例 #9
0
	void SetupUtilGrid(){
		int i = 0;
		foreach(Dictionary<string,string> item in DataManager.Instance.runes){
			GameObject instance = NGUITools.AddChild(grid, runeItemPrefab) as GameObject;
			UISprite sprite = instance.transform.FindChild("item").GetComponent<UISprite>();
			RuneItem rItem = instance.GetComponent<RuneItem>();
			sprite.spriteName = item["id"];
			instance.name = "Item_" + item["id"];
			rItem.idx = i;
			if (i==0) runeItem = rItem;
			i ++;
		}
		grid.GetComponent<UIGrid>().Reposition();
	}
コード例 #10
0
ファイル: Runes.xaml.cs プロジェクト: ErikMelton/JustUlted
 private void AvailableRuneList_DoubleClickOrRightClick(object sender, MouseButtonEventArgs e)
 {
     if (((ListBox)sender).SelectedItem != null) //Fix crash if you double click scrollbar (no item selected)
     {
         if (((RuneItem)((ListBox)sender).SelectedItem).Used <= 0)
         {
             return;
         }
         runes    Rune = ((runes)((RuneItem)((ListBox)sender).SelectedItem).Tag);
         RuneItem item = new RuneItem();
         item.RuneImage.Source = Rune.icon;
         item.Margin           = new Thickness(2, 2, 2, 2);
         item.Tag = Rune;
         item.RuneName.Content      = Rune.name;
         item.RuneEffect.Content    = Rune.description;
         item.MouseRightButtonDown += item_MouseRightButtonDown;
         item.MouseMove            += item_MouseMove;
         item.MouseLeave           += item_MouseLeave;
         ListBox tempRuneListBox = new ListBox();
         double  tempAvailCount  = 0;
         if (Rune.name.Contains("Mark"))
         {
             tempAvailCount  = RedRunesAvail;
             tempRuneListBox = RedListBox;
         }
         if (Rune.name.Contains("Seal"))
         {
             tempAvailCount  = YellowRunesAvail;
             tempRuneListBox = YellowListBox;
         }
         if (Rune.name.Contains("Glyph"))
         {
             tempAvailCount  = BlueRunesAvail;
             tempRuneListBox = BlueListBox;
         }
         if (Rune.name.Contains("Quint"))
         {
             tempAvailCount  = BlackRunesAvail;
             tempRuneListBox = BlackListBox;
         }
         if (tempRuneListBox.Items.Count < tempAvailCount)
         {
             tempRuneListBox.Items.Add(item);
             UpdateStatList();
             ((RuneItem)((ListBox)sender).SelectedItem).Used--;
             AvailableRuneList.Items.Refresh();
         }
     }
 }
コード例 #11
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
 void RemoveHeroRune(RuneItem item)
 {
     for (int i = 0; i < 10; ++i)
     {
         if (i < m_Creature.Runes.Count)
         {
             m_HeroRunes[i].Init(m_Creature.Runes[i], i >= m_Creature.RuneSlotCount, OnClickEquippedRune);
         }
         else
         {
             m_HeroRunes[i].Init(null, i >= m_Creature.RuneSlotCount, OnClickEquippedRune);
         }
     }
     m_PopupEquippedRune.gameObject.SetActive(false);
 }
コード例 #12
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void ReloadBlockCheckRunes()
    {
        if (m_ToggleUpgrade.value == true)
        {
            m_selected_runes = new List <RuneItem>();

            foreach (var selected_rune in m_UpgradeMaterials)
            {
                if (selected_rune.Rune != null)
                {
                    RuneItem rune = m_Runes.Find(r => r.Rune.RuneIdx == selected_rune.Rune.RuneIdx);
                    m_selected_runes.Add(rune);
                }
            }

            if (m_selected_runes.Count > 0)
            {
                foreach (var rune in m_Runes)
                {
                    rune.SetSelected(false);

                    if (m_selected_runes.First().Rune.Info.Grade != rune.Rune.Info.Grade)
                    {
                        rune.SetBlockSprite(true);
                    }
                    else if (m_selected_runes.Exists(r => r.Rune.RuneIdx == rune.Rune.RuneIdx))
                    {
                        rune.SetSelected(true);
                    }
                }
            }
            else if (m_selected_runes.Count == 0)
            {
                m_Runes.ForEach(i => { i.SetSelected(false); i.SetBlockSprite(false); });
                m_UpgradePriceLabel.text = "-";
            }
        }
        else
        {
            foreach (var rune in m_Runes)
            {
                rune.SetBlockSprite(false);
                rune.SetSelected(false);
            }
        }
    }
コード例 #13
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void InitRuneItem()
    {
        runeItemPrefabManager.Clear();

        m_HeroRunes = new List <RuneItem>();
        for (int i = 0; i < 10; ++i)
        {
            var rune = runeItemPrefabManager.GetNewObject <RuneItem>(m_HeroRuneGrid.transform, Vector3.zero);
            if (i < m_Creature.Runes.Count)
            {
                rune.Init(m_Creature.Runes[i], i >= m_Creature.RuneSlotCount, OnClickEquippedRune, i);
            }
            else
            {
                rune.Init(null, i >= m_Creature.RuneSlotCount, null, i);
            }
            m_HeroRunes.Add(rune);
        }
        m_HeroRuneGrid.Reposition();

        m_Runes = new List <RuneItem>();

        var runes = m_SortInfo.GetSortedRunes();

        m_RuneCount = runes.Count;

        foreach (Rune rune in runes)
        {
            RuneItem item = runeItemPrefabManager.GetNewObject <RuneItem>(m_RuneGrid.transform, Vector3.zero);
            item.Init(rune, false, OnClickRune);

            m_Runes.Add(item);
        }

        for (int i = 0; i < 5; ++i)
        {
            var item = runeItemPrefabManager.GetNewObject <RuneItem>(m_RuneGrid.transform, Vector3.zero);
            item.InitDummy();
        }

        m_RuneGrid.Reposition();
        m_RuneScroll.ResetPosition();

        m_LabelTitle.text = string.Format("{0} {1} {2}", m_Creature.GetLevelText(), m_Creature.Info.Name, m_Creature.GetEnchantText());
        RefreshInfo();
    }
コード例 #14
0
        private void AvailableRuneList_DoubleClickOrRightClick(object sender, MouseButtonEventArgs e)
        {
            if (((RuneItem)((ListView)sender).SelectedItem).Used <= 0)
            {
                return;
            }
            runes    Rune = ((runes)((RuneItem)((ListView)sender).SelectedItem).Tag);
            RuneItem item = new RuneItem();

            item.RuneImage.Source = Rune.icon;
            item.Margin           = new Thickness(2, 2, 2, 2);
            item.Tag = Rune;
            item.MouseRightButtonDown += item_MouseRightButtonDown;
            item.MouseMove            += item_MouseMove;
            item.MouseLeave           += item_MouseLeave;
            ListView tempRuneListView = new ListView();
            double   tempAvailCount   = 0;

            if (Rune.name.Contains("Mark"))
            {
                tempAvailCount   = RedRunesAvail;
                tempRuneListView = RedListView;
            }
            if (Rune.name.Contains("Seal"))
            {
                tempAvailCount   = YellowRunesAvail;
                tempRuneListView = YellowListView;
            }
            if (Rune.name.Contains("Glyph"))
            {
                tempAvailCount   = BlueRunesAvail;
                tempRuneListView = BlueListView;
            }
            if (Rune.name.Contains("Quint"))
            {
                tempAvailCount   = BlackRunesAvail;
                tempRuneListView = BlackListView;
            }
            if (tempRuneListView.Items.Count < tempAvailCount)
            {
                tempRuneListView.Items.Add(item);
                UpdateStatList();
                ((RuneItem)((ListView)sender).SelectedItem).Used--;
                AvailableRuneList.Items.Refresh();
            }
        }
コード例 #15
0
    // Update is called once per frame
    void Update()
    {
        if (playFab.GetComponent <DataPlayFab>().ham&& !HamItem.activeInHierarchy)
        {
            HamItem.SetActive(true);
        }

        if (playFab.GetComponent <DataPlayFab>().ruby&& !RubyItem.activeInHierarchy)
        {
            RubyItem.SetActive(true);
        }

        if (playFab.GetComponent <DataPlayFab>().rune&& !RuneItem.activeInHierarchy)
        {
            RuneItem.SetActive(true);
        }
    }
コード例 #16
0
        private void RefreshAvailableRunes()
        {
            AvailableRuneList.Items.Clear();
            foreach (var Rune in Client.Runes)
            {
                var filteredRune = true;
                if (RuneFilterComboBox.SelectedIndex == 0)
                {
                    filteredRune = false;
                }
                else
                {
                    foreach (var filter in Rune.tags.Cast <string>().Where(filter => filter.ToLower()
                                                                           .Contains(((Label)RuneFilterComboBox.SelectedItem).Content.ToString().ToLower())))
                    {
                        filteredRune = false;
                    }
                }

                if (filteredRune)
                {
                    continue;
                }

                foreach (var rune in runes)
                {
                    if (Rune.id != rune.RuneId)
                    {
                        continue;
                    }

                    var item = new RuneItem
                    {
                        RuneImage = { Source = Rune.icon },
                        Margin    = new Thickness(2, 2, 2, 2),
                        Tag       = Rune,
                        Owned     = rune.Quantity,
                        Used      = rune.Quantity
                    };
                    AvailableRuneList.Items.Add(item);
                    item.MouseMove  += item_MouseMove;
                    item.MouseLeave += item_MouseLeave;
                }
            }
        }
コード例 #17
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void OnRuneEquip(C2G.RuneEquip packet, NetworkCore.AckDefault ack)
    {
        RuneManager.Instance.EquipRune(packet.rune_idx, packet.creature_idx);
        RuneItem item = m_Runes.Find(r => r.Rune.RuneIdx == packet.rune_idx);

        int find_index = m_HeroRunes.FindIndex(r => r.Rune == null);

        m_HeroRunes[find_index].Init(item.Rune, find_index >= m_Creature.RuneSlotCount, OnClickEquippedRune);

        RemoveRune(item);
        RefreshInfo();

        if (Tutorial.Instance.Completed == false)
        {
            Tutorial.Instance.AfterNetworking();
        }
        Tooltip.Instance.ShowMessageKey("RuneEquipSuccess");
    }
コード例 #18
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void RemoveRune(RuneItem item)
    {
        --m_RuneCount;

        m_Runes.Remove(item);
        //item.InitDummy();
        item.gameObject.SetActive(false);
        //item.transform.SetParent(null, false);
        //item.transform.SetParent(m_RuneGrid.transform, false);

        if (m_PopupRune != null)
        {
            m_PopupRune.gameObject.SetActive(false);
        }

        m_RuneGrid.Reposition();
        //OnSorted();
    }
コード例 #19
0
ファイル: SingleItem.cs プロジェクト: tuita520/RL_CardGame
    public void initRuneInPage(GDERuneData E)
    {
        if (E == null || E.Hashcode <= 0)
        {
            isEmpty = true; return;
        }
        isEmpty = false;
        if (upText)
        {
            upText.text = SDGameManager.T("Lv.")
                          + E.level;
        }
        if (starVision)
        {
            starVision.gameObject.SetActive(false);
        }
        RuneItem item = SDDataManager.Instance.getRuneItemById(E.id);

        //
        frameImg.sprite  = SDDataManager.Instance.baseFrameSpriteByRarity(item.Quality);
        itemBgImg.sprite = SDDataManager.Instance.baseBgSpriteByRarity(item.Quality);
        //
        itemHashcode = E.Hashcode;
        itemId       = E.id;
        GoddessDetailPanel GDP = GetComponentInParent <GoddessDetailPanel>();

        if (GDP == null)
        {
            return;
        }
        string goddessId = GDP.CurrentGoddess.ID;

        isSelected = false;
        if (SDDataManager.Instance.checkRuneEquippedByGoddess(itemHashcode, goddessId, out int pos))
        {
            isSelected   = true;
            index        = pos;
            upText.text += "-----" + index;
        }
        else if (SDDataManager.Instance.checkRuneStatus(itemHashcode))
        {
            isSelected = true;
        }
    }
コード例 #20
0
ファイル: PopupRune.cs プロジェクト: tapenjoyGame/cry
    public void Init(Rune rune, bool equipped, OnRuneClickDelegate del)
    {
        m_OnClickCallback = del;
        Rune = rune;
        if (m_RuneItem == null)
        {
            m_RuneItem = NGUITools.AddChild(m_RuneIndicator.gameObject, runeItemPrefab).GetComponent <RuneItem>();
        }
        m_EquippedToggle.value = equipped;
        m_RuneItem.Init(Rune, false, null);
        m_title.text = Rune.GetName();
        m_desc.text  = Rune.GetDesc();

        m_tween.ResetToBeginning();
        m_tween.PlayForward();

        m_EventRuneUnequip.SetActive(EventHottimeManager.Instance.IsRuneUnequipEvent);
        m_EventRuneEnchant.SetActive(EventHottimeManager.Instance.IsRuneEnchantEvent);
    }
コード例 #21
0
    void SetupUtilGrid()
    {
        int i = 0;

        foreach (Dictionary <string, string> item in DataManager.Instance.runes)
        {
            GameObject instance = NGUITools.AddChild(grid, runeItemPrefab) as GameObject;
            UISprite   sprite   = instance.transform.FindChild("item").GetComponent <UISprite>();
            RuneItem   rItem    = instance.GetComponent <RuneItem>();
            sprite.spriteName = item["id"];
            instance.name     = "Item_" + item["id"];
            rItem.idx         = i;
            if (i == 0)
            {
                runeItem = rItem;
            }
            i++;
        }
        grid.GetComponent <UIGrid>().Reposition();
    }
コード例 #22
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void OnRuneUnequip(C2G.RuneUnequip packet, C2G.RuneUnequipAck ack)
    {
        RuneManager.Instance.UnEquipRune(packet.rune_idx);
        RuneItem item = m_HeroRunes.Find(r => r.Rune != null && r.Rune.RuneIdx == packet.rune_idx);
        Rune     rune = item.Rune;


        ++m_RuneCount;
        RemoveHeroRune(item);

        RuneItem new_item = runeItemPrefabManager.GetNewObject <RuneItem>(m_RuneGrid.transform, Vector3.zero);

        new_item.Init(rune, false, OnClickRune);
        m_Runes.Add(new_item);

        OnSorted();

        Network.PlayerInfo.UseGoods(ack.use_goods);
        GameMain.Instance.UpdatePlayerInfo();
        RefreshInfo();
    }
コード例 #23
0
ファイル: Runes.xaml.cs プロジェクト: ErikMelton/JustUlted
 private void RefreshAvailableRunes()
 {
     AvailableRuneList.Items.Clear();
     foreach (runes Rune in Client.Runes)
     {
         bool filteredRune = true;
         if (RuneFilterComboBox.SelectedIndex == 0)
         {
             filteredRune = false;
         }
         else
         {
             foreach (string filter in Rune.tags)
             {
                 if (filter.ToLower().Contains(((Label)RuneFilterComboBox.SelectedItem).Content.ToString().ToLower()))
                 {
                     filteredRune = false;
                 }
             }
         }
         if (!filteredRune)
         {
             foreach (PVPNetConnect.RiotObjects.Platform.Summoner.Runes.SummonerRune rune in runes)
             {
                 if (Rune.id == rune.RuneId)
                 {
                     RuneItem item = new RuneItem();
                     item.RuneImage.Source = Rune.icon;
                     item.Margin           = new Thickness(2, 2, 2, 2);
                     item.Tag   = Rune;
                     item.Owned = rune.Quantity;
                     item.Used  = rune.Quantity;
                     AvailableRuneList.Items.Add(item);
                     item.MouseMove  += item_MouseMove;
                     item.MouseLeave += item_MouseLeave;
                 }
             }
         }
     }
 }
コード例 #24
0
ファイル: RunePanel.cs プロジェクト: tuita520/RL_CardGame
    public void Btn_compose_confirm()
    {
        GDERuneData rune0 = SDDataManager.Instance.getRuneOwnedByHashcode
                                (ComposeMaterialSlots[0].hashcode);
        GDERuneData rune1 = SDDataManager.Instance.getRuneOwnedByHashcode
                                (ComposeMaterialSlots[1].hashcode);
        GDERuneData rune2 = SDDataManager.Instance.getRuneOwnedByHashcode
                                (ComposeMaterialSlots[2].hashcode);

        //
        if (SDDataManager.Instance.CheckIfCanComposeToCreateNewRune
                (rune0, rune1, rune2, out string result))
        {
            SDDataManager.Instance.ConsumeRune(rune0.Hashcode);
            SDDataManager.Instance.ConsumeRune(rune1.Hashcode);
            SDDataManager.Instance.ConsumeRune(rune2.Hashcode);
            SDDataManager.Instance.AddRune(result);
            //
            RuneItem RI = SDDataManager.Instance.getRuneItemById(result);
            PopoutController.CreatePopoutMessage("成功呢获得 " + RI.NAME, 10);
            ResetComposePanel();
        }
    }
コード例 #25
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void OnDeselectMaterial(RuneItem rune)
    {
        int selected_node = m_selected_runes.FindIndex(r => r.Rune.RuneIdx == rune.Rune.RuneIdx);

        if (selected_node < 0)
        {
            return;
        }

        m_UpgradeMaterials.Find(r => r.Rune != null && r.Rune.RuneIdx == rune.Rune.RuneIdx).Init(null, false, null);

        m_selected_runes[selected_node].SetSelected(false);
        m_selected_runes.RemoveAt(selected_node);


        foreach (RuneItem item in m_UpgradeMaterials)
        {
            if (item.Rune != null)
            {
                return;
            }
        }
        ReloadBlockCheckRunes();
    }
コード例 #26
0
        public void RenderRunes()
        {
            RedListBox.Items.Clear();
            YellowListBox.Items.Clear();
            BlueListBox.Items.Clear();
            BlackListBox.Items.Clear();
            if (_selectedBook == null)
            {
                return;
            }

            foreach (var runeSlot in _selectedBook.SlotEntries)
            {
                foreach (var obj in AvailableRuneList.Items)
                {
                    try
                    {
                        if (((runes)((RuneItem)obj).Tag).id == runeSlot.RuneId)
                        {
                            ((RuneItem)obj).Used--;
                        }
                    }
                    catch
                    {
                    }
                }
                AvailableRuneList.Items.Refresh();
                UpdateStatList();
                foreach (var rune in Client.Runes)
                {
                    if (runeSlot.RuneId != rune.id)
                    {
                        continue;
                    }

                    var item = new RuneItem
                    {
                        RuneImage  = { Source = rune.icon },
                        RuneName   = { Content = rune.name },
                        RuneEffect = { Content = rune.description },
                        Margin     = new Thickness(2, 2, 2, 2),
                        Tag        = rune
                    };
                    item.MouseRightButtonDown += item_MouseRightButtonDown;
                    item.MouseMove            += item_MouseMove;
                    item.MouseLeave           += item_MouseLeave;
                    if (rune.name.Contains("Mark"))
                    {
                        RedListBox.Items.Add(item);
                    }
                    else if (rune.name.Contains("Seal"))
                    {
                        YellowListBox.Items.Add(item);
                    }
                    else if (rune.name.Contains("Glyph"))
                    {
                        BlueListBox.Items.Add(item);
                    }
                    else if (rune.name.Contains("Quint"))
                    {
                        BlackListBox.Items.Add(item);
                    }
                }
            }
        }
コード例 #27
0
ファイル: HeroInfoDetail.cs プロジェクト: tapenjoyGame/cry
    public void Init()
    {
        UpdateEventIcon();
        m_EnchantBtnLabel.text = (m_Creature.Grade >= 6 && m_Creature.Enchant >= 5) ? Localization.Get("OverEnchant") : Localization.Get("Enchant");
        //m_CreatureType.spriteName = string.Format("hero_info_type_{0}", m_Creature.Info.ShowAttackType);
        m_CreatureType.spriteName = string.Format("New_hero_info_type_{0}", m_Creature.Info.ShowAttackType);
        m_LabelName.text          = m_Creature.Info.Name;
        if (m_Creature.Enchant > 0)
        {
            m_LabelName.text += " " + m_Creature.GetEnchantText();
        }
        m_LeftLabelLevel.text = m_Creature.GetLevelText();
        m_LabelLevel.text     = Localization.Format("HeroLevelDesc", m_Creature.Level, m_Creature.LevelLimit);

        UpdateLock();

        m_CharacterContainer.Init(AssetManager.GetCharacterAsset(m_Creature.Info.ID, m_Creature.SkinName), UICharacterContainer.Mode.UI_Normal, "win");
        m_CharacterContainer.transform.localRotation = Quaternion.Euler(0f, 0f, 0f);
        m_CharacterContainer.SetPlay(UICharacterContainer.ePlayType.Social);

        if (m_Creature.Info.TeamSkill != null)
        {
            if (m_TeamSkill.atlas.Contains(m_Creature.TeamSkill.Info.ID) == true)
            {
                m_TeamSkill.spriteName = m_Creature.TeamSkill.Info.ID;
            }
            else
            {
                m_TeamSkill.spriteName = "skill_default";
            }
            m_TeamSkill.gameObject.transform.parent.parent.gameObject.SetActive(true);
        }
        else
        {
            m_TeamSkill.gameObject.transform.parent.parent.gameObject.SetActive(false);
        }

        for (int i = 0; i < m_Stars.Length; ++i)
        {
            m_Stars[i].SetSpriteActive(m_Creature.Grade > i);
            m_Stars[i].gameObject.SetActive(m_Creature.Grade > i);
        }
        m_GridStars.Reposition();

        // equips
        if (m_Weapon == null)
        {
            m_Weapon = NGUITools.AddChild(m_WeaponIndicator, EquipItemPrefab).GetComponent <EquipItem>();
        }
        if (m_Armor == null)
        {
            m_Armor = NGUITools.AddChild(m_ArmorIndicator, EquipItemPrefab).GetComponent <EquipItem>();
        }
        m_Weapon.Init(m_Creature.Weapon);
        //m_WeaponParts.Init(m_Creature.Weapon);

        m_Armor.Init(m_Creature.Armor);
        //m_ArmorParts.Init(m_Creature.Armor);


        // skills
        List <Skill> active_skills = m_Creature.GetSkillsByType(eSkillType.active);

        for (int i = 0; i < m_ActiveSkills.Length; ++i)
        {
            bool active = i < active_skills.Count;
            m_ActiveSkills[i].gameObject.SetActive(active);
            if (active)
            {
                m_ActiveSkills[i].Init(active_skills[i]);
            }
        }

        List <Skill> passive_skills = m_Creature.GetSkillsByType(eSkillType.passive);

        for (int i = 0; i < m_PassiveSkills.Length; ++i)
        {
            bool active = i < passive_skills.Count;
            m_PassiveSkills[i].gameObject.SetActive(active);
            if (active)
            {
                m_PassiveSkills[i].Init(passive_skills[i]);
            }
        }


        bool move = m_Creatures != null && m_Creatures.Count > 0;

        m_ButtonLeft.SetActive(move);
        m_ButtonRight.SetActive(move);
        if (move)
        {
            UpdateNextCreatureIcon();
        }

        for (int i = 0; i < 10; ++i)
        {
            if (m_RuneList.Count <= i)
            {
                RuneItem item = RuneItemPrefab.GetNewObject <RuneItem>(m_GridRune.transform, Vector3.zero);
                m_RuneList.Add(item);
            }

            if (m_Creature.Runes.Count <= i)
            {
                m_RuneList[i].Init(null, m_Creature.RuneSlotCount <= i, null, i);
            }
            else
            {
                m_RuneList[i].Init(m_Creature.Runes[i], false, null, i);
            }
        }
        m_GridRune.Reposition();

        InitHeroInfo();
        InitSkillInfo();
        InitRuneInfo();
        InitEvolveInfo();
    }
コード例 #28
0
	void Start () {
		runeItem = null;
		runeItemPrefab = Resources.Load("Prefabs/RuneItemPrefab", typeof(GameObject)) as GameObject;
		grid = FindGameObject("Grid");
		StartCoroutine( DelaySetupUtilGrid() );
	}
コード例 #29
0
ファイル: Player.cs プロジェクト: Sixstring982/Orpheo
        public void RebuildRuneInventory()
        {
            RuneInventory.Clear();
            RuneItem ri = new RuneItem();
            ri.rune = new SoulAnchorRune(null, Vector2.Zero, 0.0f, 20, 10);
            ri.sparkColor = Color.White;
            RuneInventory.Add(ri);

            ri = new RuneItem();
            ri.rune = new MarkRune(this, null, Vector2.Zero, 32f, 0, this.getRuneAdjustment());
            ri.sparkColor = Color.Red;
            RuneInventory.Add(ri);
            speed = 3.0f;

            RuneItem rj = new RuneItem();
            rj.rune = new TeleportRune(this, null, Vector2.Zero);
            rj.sparkColor = Color.Magenta;
            RuneInventory.Add(rj);
            speed = 1.6f;

            ri = new RuneItem();
            ri.rune = new FreezeRune(null, Vector2.Zero, this.getRuneAdjustment());
            ri.sparkColor = Color.Teal;
            RuneInventory.Add(ri);
            speed = 1.2f;

            ri = new RuneItem();
            ri.rune = new RendRune(this, null, Vector2.Zero);
            ri.sparkColor = Color.YellowGreen;
            RuneInventory.Add(ri);
            speed = 2.0f;

            ri = new RuneItem();
            ri.rune = new VortexRune(null, Vector2.Zero, this.getRuneAdjustment());
            ri.sparkColor = Color.LemonChiffon;
            RuneInventory.Add(ri);
            speed = 2.0f;
        }
コード例 #30
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void OnClickRune(RuneItem rune)
    {
        if (is_sellmode == true)
        {
            int selected_node = m_selected_runes.FindIndex(r => r.Rune.RuneIdx == rune.Rune.RuneIdx);
            if (selected_node < 0)
            {
                rune.SetSelected(true);
                m_LabelTotalSellPrice.text = (int.Parse(m_LabelTotalSellPrice.text) + rune.Rune.Info.GradeInfo.SalePrice).ToString();
                m_selected_runes.Add(rune);
            }
            else
            {
                m_selected_runes[selected_node].SetSelected(false);
                m_LabelTotalSellPrice.text = (int.Parse(m_LabelTotalSellPrice.text) - rune.Rune.Info.GradeInfo.SalePrice).ToString();
                m_selected_runes.RemoveAt(selected_node);
            }
        }
        else
        {
            if (m_ToggleUpgrade.value == true)
            {
                if (rune.Rune.Info.Grade >= 6)
                {
                    Tooltip.Instance.ShowMessageKey("RuneMaxGrade");
                    return;
                }
                int selected_node = m_selected_runes.FindIndex(r => r.Rune.RuneIdx == rune.Rune.RuneIdx);
                if (selected_node < 0)
                {
                    if (rune.m_SpriteBlock.gameObject.activeSelf == true)
                    {
                        Tooltip.Instance.ShowMessageKey("RuneUpgradeTip");
                        return;
                    }

                    if (m_UpgradeRune.Rune == null)
                    {
                        m_UpgradeRune.RefreshUpgradeRune(rune.Rune, true);
                        int upgrade_cost = rune.Rune.Info.GradeInfo.UpgradeCost;
                        var event_info   = EventHottimeManager.Instance.GetInfoByID("rune_upgrade_discount");
                        if (event_info != null)
                        {
                            upgrade_cost = (int)(upgrade_cost * event_info.Percent);
                        }

                        m_UpgradePriceLabel.text = upgrade_cost.ToString();

                        m_Runes.ForEach(item => item.SetBlockSprite(item.Rune.Info.Grade != rune.Rune.Info.Grade));
                    }

                    foreach (RuneItem item in m_UpgradeMaterials)
                    {
                        if (item.Rune == null)
                        {
                            item.Init(rune.Rune, false, OnDeselectMaterial);
                            rune.SetSelected(true);
                            m_selected_runes.Add(rune);
                            return;
                        }
                    }
                    Tooltip.Instance.ShowMessageKey("RuneUpgradeFull");
                }
                else
                {
                    OnDeselectMaterial(rune);
                }
            }
            else
            {
                InitPopupRune(rune.Rune);
            }

            ReloadBlockCheckRunes();
        }
    }
コード例 #31
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
 void OnClickEquippedRune(RuneItem rune)
 {
     InitPopupEquippedRune(rune.Rune);
 }