Пример #1
0
    public void Initialize(DataItemParam _param, MasterItemParam _master)
    {
        m_tempDataParam = _param;

        m_txtName.text = _master.name;

        m_txtDetail.text = _master.detail;

        m_imgIcon.sprite = SpriteManager.Instance.Get(_master.sprite_holder, _master.sprite_name);
        m_imgIcon.color  = _master.GetSpriteColor();


        string strNum = "";

        if (_master.item_id / MasterItem.LargeCategory <= MasterItem.CategoryMagic)
        {
            strNum = string.Format("[{0}]", _param.num);
        }
        else
        {
            strNum = string.Format("[{1}{0}]", _param.craft_count < _master.limit ? _param.craft_count.ToString() : "★", "+");
        }
        m_txtNum.text = strNum;

        m_imgIcon.sprite = SpriteManager.Instance.Get(_master.sprite_holder, _master.sprite_name);
        m_imgIcon.color  = _master.GetSpriteColor();
    }
Пример #2
0
        public override void OnEnter()
        {
            base.OnEnter();

            DataItemParam data_item = DataManager.Instance.dataItem.list.Find(p => p.item_id == Defines.ITEM_ID_GEM_BOOK);

            //Debug.Log(data_item.num);
            if (0 < data_item.num)
            {
                data_item.num -= 1;
            }
            DataManager.Instance.dataItem.Save();

            GameMain.Instance.ShortcutRefresh(data_item.serial);


            if (false == GameMain.Instance.ShowAd(add_num.Value))
            {
                GameMain.Instance.panelCaution.Show("注意", "現在秘伝書は使えません。\nしばらく時間をあけてください");
            }
            else
            {
            }

            Finish();
        }
Пример #3
0
    public void Initialize(DataItemParam _param, MasterItemParam _master)
    {
        m_dataItem = _param;

        string strName = _master.name;

        if (0 < _param.craft_count)
        {
            strName = string.Format("{0}+{1}", _master.name, _param.craft_count);
        }
        m_textName.text  = strName;
        m_txtDetail.text = _master.detail;

        m_imgIcon.sprite = SpriteManager.Instance.Get(_master.sprite_holder, _master.sprite_name);
        m_imgIcon.color  = _master.GetSpriteColor();

        if (m_btn == null)
        {
            m_btn = gameObject.GetComponent <Button>();
            m_btn.onClick.AddListener(() =>
            {
                HandleBannerEvent.Invoke(m_dataItem);
            });
        }
    }
Пример #4
0
    public void Refresh()
    {
        int iItemSerial = DataManager.Instance.user_data.ReadInt(DataManager.Instance.GetShortcutKey(m_iBtnIndex));

        // なんか外れてた場合のフォロー
        DataItemParam data = DataManager.Instance.dataItem.list.Find(p => p.serial == iItemSerial);

        if (data == null)
        {
            iItemSerial = 0;
            //Debug.Log("not found shortcut serial");
        }


        //Debug.Log(string.Format("index:{0} serial:{1}", m_iBtnIndex, iItemSerial));
        if (m_iItemSerial != iItemSerial)
        {
            SetShortcut(iItemSerial);
        }
        else if ((m_dataSetItemParam != null && m_dataSetItemParam.num != m_iItemNum))
        {
            NumUpdate();
        }
        else
        {
        }
    }
Пример #5
0
        private void OnSelectArrowIndex(int arg0)
        {
            bool bOK = false;

            int key_item_id = GetKeyItemId(arg0);

            if (key_item_id == 0)
            {
                bOK = true;
            }
            else
            {
                DataItemParam item = DataManagerGame.Instance.dataItem.list.Find(p => p.item_id == key_item_id && p.status == (int)DataItem.STATUS.STANDBY);
                if (item != null)
                {
                    bOK = true;
                }
                else
                {
                    Debug.Log("アイテムがないため進行出来ません");
                }
            }
            if (bOK)
            {
                target_corridor_index.Value       = arg0;
                charaControl.m_btnGo.interactable = true;
            }
        }
Пример #6
0
    public void Initialize(MasterMedalPrizeParam _master)
    {
        MasterItemParam prize_item = DataManager.Instance.masterItem.list.Find(p => p.item_id == _master.prize_item_id);

        m_txtPrizeName.text   = prize_item.name;
        m_imgPrizeItem.sprite = SpriteManager.Instance.Get(prize_item.sprite_name);
        MasterItemParam master_token_item = DataManager.Instance.masterItem.list.Find(p => p.item_id == _master.item_id_medal);

        m_imgPrizeToken.sprite = SpriteManager.Instance.Get(master_token_item.sprite_name);
        DataItemParam data_token_item = DataManager.Instance.dataItem.list.Find(p => p.item_id == _master.item_id_medal);

        int token_num = 0;

        if (data_token_item != null)
        {
            token_num = data_token_item.num;
        }
        //Debug.Log(_master.medal_num);
        if (_master.medal_num <= token_num)
        {
            m_txtCost.text = string.Format("{0} → {1}", token_num, token_num - _master.medal_num);

            m_btnYes.interactable = true;
        }
        else
        {
            m_txtCost.text        = "<color=red>メダルが足りません</color>";
            m_btnYes.interactable = false;
        }
    }
Пример #7
0
    void Update()
    {
        m_fTime -= Time.deltaTime;
        if (m_fTime < 0.0f)
        {
            m_fTime += m_fInterval;

            if (DataManager.Instance.dataChara.hp < DataManager.Instance.dataChara.hp_max / 2)
            {
                DataItemParam potion = DataManager.Instance.dataItem.list.Find(p => p.item_id == 10101 && 0 < p.num);
                if (potion != null)
                {
                    if (potion.Use())
                    {
                        potion.num -= 1;

                        GameMain.Instance.ShortcutRefresh(potion.serial);
                    }
                }
            }
            if (DataManager.Instance.dataChara.hunger < DataManager.Instance.dataChara.hunger_max / 3)
            {
                DataItemParam bread = DataManager.Instance.dataItem.list.Find(p => p.item_id == 10201 && 0 < p.num);
                if (bread != null)
                {
                    if (bread.Use())
                    {
                        bread.num -= 1;
                        GameMain.Instance.ShortcutRefresh(bread.serial);
                    }
                }
            }
        }
    }
Пример #8
0
    public void Initialize(DataItemParam _get_item)
    {
        MasterItemParam master = DataManager.Instance.masterItem.list.Find(p => p.item_id == _get_item.item_id);

        m_imgIcon.sprite = m_spriteAtlas.GetSprite(master.sprite_name);
        m_txtNum.text    = string.Format("x{0}", _get_item.num);
    }
Пример #9
0
 private void OnDecide()
 {
     if (target_corridor_index.Value != 0)
     {
         bool bFinish     = false;
         int  key_item_id = GetKeyItemId(target_corridor_index.Value);
         if (key_item_id == 0)
         {
             bFinish = true;
         }
         else
         {
             DataItemParam item = DataManagerGame.Instance.dataItem.list.Find(p => p.item_id == key_item_id && p.status == (int)DataItem.STATUS.STANDBY);
             if (item != null)
             {
                 // ここでアイテム消費
                 bFinish = true;
             }
             else
             {
                 Debug.Log("アイテムがないため進行出来ません");
             }
         }
         if (bFinish)
         {
             Finish();
         }
     }
 }
Пример #10
0
    public int GetDropItemId()
    {
        int iRet = 0;

        int[] drop_prob_arr = new int[7]
        {
            drop_prob,                          // セットされたアイテム
            1000,                               // ドロップCoin
            20,                                 // ドロップGem
            10,                                 // ドロップGemの秘伝書
            drop_prob,                          // dtop_item_id_2
            drop_prob,                          // dtop_item_id_3
            15,                                 // なんかメダルが設定されてたら
        };

        int [] drop_item_id_arr = new int[7]
        {
            drop_item_id,
            1,
            2,
            3,
            drop_item_id_2,
            drop_item_id_3,
            1,                          // 差し替え必須
        };

        // Gemの秘伝書が3つ以上ある場合はそれ以上ドロップさせない
        DataItemParam gem_book_check = DataManager.Instance.dataItem.list.Find(p => p.item_id == Defines.ITEM_ID_GEM_BOOK && Defines.GEM_BOOK_DROP_LIMIT < p.num);

        if (gem_book_check != null)
        {
            drop_prob_arr[3] = 0;
        }

        MasterDungeonParam dungeon = DataManager.Instance.masterDungeon.list.Find(p => p.dungeon_id == Defines.CurrentDungeonID);

        //Debug.Log(dungeon.dungeon_label);
        if (dungeon.item_id_medal != 0)
        {
            drop_item_id_arr[6] = dungeon.item_id_medal;
        }


        int iResultIndex = UtilRand.GetIndex(drop_prob_arr);

        iRet = drop_item_id_arr[iResultIndex];

        /*
         * if(iResultIndex== 0 )
         * {
         *      iRet = drop_item_id;
         * }
         * else
         * {
         *      iRet = iResultIndex;
         * }
         */
        return(iRet);
    }
Пример #11
0
    public void Initialize(DataItemParam _param)
    {
        MasterItemParam masterItemParam = DataManager.Instance.masterItem.Get(_param.item_id);

        m_imgIcon.sprite = SpriteManager.Instance.LoadSprite(string.Format("texture/{0}", masterItemParam.filename));
        m_txtName.text   = masterItemParam.name_ja;
        m_txtNum.text    = string.Format("x{0}", _param.num);
    }
Пример #12
0
        protected bool CanUseBook()
        {
            DataItemParam data_item = DataManager.Instance.dataItem.list.Find(p => p.item_id == Defines.ITEM_ID_GEM_BOOK && 0 < p.num);

            if (data_item != null && Advertisement.IsReady())
            {
                return(true);
            }
            return(false);
        }
Пример #13
0
        public override void OnEnter()
        {
            base.OnEnter();

            DataItemParam data_item = DataManagerGame.Instance.dataItem.list.Find(p => p.serial == item_serial.Value);

            data_item.status = (int)DataItem.STATUS.REMOVE;

            Finish();
        }
Пример #14
0
        public override void OnEnter()
        {
            base.OnEnter();
            DataItemParam   data_item   = DataManagerGame.Instance.dataItem.list.Find(p => p.serial == item_serial.Value);
            MasterItemParam master_item = DataManagerGame.Instance.masterItem.list.Find(p => p.item_id == data_item.item_id);

            item_id.Value = master_item.item_id;

            m_bSituationAllow = master_item.CheckSituation(itemMain.situation);

            itemMain.m_panelItemDetail.gameObject.SetActive(true);
            itemMain.m_panelItemDetail.Initialize(master_item);

            chara_id.Value = 0;

            itemMain.m_panelItemDetail.m_partyHolder.OnClickIcon.AddListener((CharaIcon icon) =>
            {
                chara_id.Value = icon.m_masterChara.chara_id;

                // あまり良くないけどこっちが呼ばれるってことはキャラ選択が必要だったってわけ
                GameMain.Instance.m_panelGameControlButtons.ShowButtonNum(
                    2,
                    new string[2] {
                    "使う", "キャンセル"
                },
                    new bool[2] {
                    m_bSituationAllow, true
                });

                itemMain.m_panelItemDetail.m_partyHolder.Cover(icon.m_masterChara.chara_id);
            });


            // 見づらい2項演算子になってすまん
            GameMain.Instance.m_panelGameControlButtons.ShowButtonNum(
                2,
                new string[2] {
                "使う", "キャンセル"
            },
                new bool[2] {
                m_bSituationAllow?!itemMain.m_panelItemDetail.m_partyHolder.gameObject.activeSelf:false, true
            });
            GameMain.Instance.m_panelGameControlButtons.OnClickButton.AddListener((int _iIndex) =>
            {
                if (_iIndex == 0)
                {
                    Fsm.Event("use");
                }
                else
                {
                    Fsm.Event("cancel");
                }
            });
        }
Пример #15
0
        public override void OnEnter()
        {
            base.OnEnter();

            DataItemParam data = DataManager.Instance.dataItem.list.Find(p => p.serial == item_serial.Value);

            data.num -= 1;

            // 効果が発生する以外は使うと変わらないのね
            Finish();
        }
Пример #16
0
    public void ShowUpdate()
    {
        DataItemParam item_medal = DataManager.Instance.dataItem.list.Find(p => p.item_id == medal_item_id);

        int num = 0;

        if (item_medal != null)
        {
            num = item_medal.num;
        }
        m_txtNum.text = string.Format("x{0}", num);
    }
Пример #17
0
        public override void OnEnter()
        {
            base.OnEnter();

            DataItemParam data = DataManager.Instance.dataItem.list.Find(p => p.serial == item_serial.Value);

            MasterItemParam master_now  = DataManager.Instance.masterItem.list.Find(p => p.item_id == data.item_id);
            MasterItemParam master_next = DataManager.Instance.masterItem.list.Find(p => p.item_id == master_now.next_item_id);

            int iAddCraftCount = panel.m_iCraftBulkCount;

            if (master_now.limit < data.craft_count + iAddCraftCount)
            {
                iAddCraftCount = master_now.limit - data.craft_count;
            }

            if (data.craft_count < master_now.limit)
            {
                data.craft_count += iAddCraftCount;
            }

            int iRequestGem = master_now.craft_gem_num * iAddCraftCount;


            string strResult = "success";

            if (master_now.limit <= data.craft_count && master_next != null)
            {
                data.item_id     = master_next.item_id;
                data.craft_count = 0;
            }
            else if (master_now.limit <= data.craft_count && master_next == null)
            {
                strResult = "failed";
            }


            if (strResult != "failed")
            {
                DataItemParam data_element = DataManager.Instance.dataItem.list.Find(p => p.item_id == element_item_id.Value);
                data_element.num -= iAddCraftCount;

                DataManager.Instance.user_data.AddInt(Defines.KeyGem, -1 * iRequestGem);

                DataManager.Instance.dataItem.Save();
                DataManager.Instance.user_data.Save();

                DataManager.Instance.dataChara.RefreshEquip();
            }

            Fsm.Event(strResult);
        }
Пример #18
0
    public void Initialize(DataItemParam _data, MasterItemParam _master)
    {
        dataItem         = _data;
        masterItem       = _master;
        m_imgIcon.sprite = SpriteManager.Instance.Get(_master.sprite_name);
        m_txtName.text   = _master.name;

        m_btn.onClick.RemoveAllListeners();
        m_btn.onClick.AddListener(() =>
        {
            OnClickBanner.Invoke(dataItem.serial);
        });
    }
Пример #19
0
    public void Empty()
    {
        m_imgIcon.sprite = m_sprEmpty;
        m_txtNum.text    = "";

        m_iItemSerial      = 0;
        m_dataSetItemParam = null;

        if (accessaryBase != null)
        {
            accessaryBase.accessary = null;
        }
    }
Пример #20
0
    void OnTriggerEnter2D(Collider2D _collision)
    {
        if (m_bGet == false && _collision.gameObject.tag == "Chara")
        {
            m_bGet = true;

            if (m_masterItemParam.item_id == Defines.ITEM_ID_DROP_COIN)
            {
                DataManager.Instance.user_data.AddInt(Defines.KeyCoin, 5);
                DataManager.Instance.user_data.Save();
                SEControl.Instance.Play("Coins 03");
            }
            else if (m_masterItemParam.item_id == Defines.ITEM_ID_DROP_GEM)
            {
                DataManager.Instance.user_data.AddInt(Defines.KeyGem, 1);
                DataManager.Instance.user_data.Save();
                SEControl.Instance.Play("eat");
            }
            else if (m_masterItemParam.item_id == Defines.ITEM_ID_DROP_GEM_BOOK)
            {
                int             iGetItemId = Defines.ITEM_ID_GEM_BOOK;
                MasterItemParam gem_book   = DataManager.Instance.masterItem.list.Find(p => p.item_id == iGetItemId);

                DataManager.Instance.dataItem.AddItem(iGetItemId, 1);
                DataItemParam data_param = DataManager.Instance.dataItem.list.Find(p => p.item_id == iGetItemId);
                GameMain.Instance.ShortcutRefresh(data_param.serial);
                DataManager.Instance.dataItem.Save();
                GameMain.Instance.BattleLog(string.Format("<color=#00ffff>{0}</color>を手に入れた", gem_book.name));
                SEControl.Instance.Play("eat");
            }
            else
            {
                DataManager.Instance.dataItem.AddItem(m_masterItemParam.item_id, 1);
                DataItemParam data_param = DataManager.Instance.dataItem.list.Find(p => p.item_id == m_masterItemParam.item_id);

                GameMain.Instance.ShortcutRefresh(data_param.serial);
                GameMain.Instance.btn_medal.ShowUpdate();

                DataManager.Instance.dataItem.Save();
                GameMain.Instance.BattleLog(string.Format("<color=#00ffff>{0}</color>を手に入れた", m_masterItemParam.name));
                SEControl.Instance.Play("eat");
            }

            Destroy(gameObject.GetComponent <Rigidbody2D>());
            //gameObject.GetComponent<BoxCollider2D>().isTrigger = true; ;

            gameObject.GetComponent <Animator>().SetTrigger("get");

            Destroy(gameObject, 1.0f);
        }
    }
Пример #21
0
        public void Create(int _iScrollId, int _iNum)
        {
            // idは消費する方のid
            DataItemParam data = DataManager.Instance.dataItem.list.Find(p => p.item_id == _iScrollId);
            DataItemParam next = DataManager.Instance.dataItem.list.Find(p => p.item_id == _iScrollId + 1);

            data.num -= _iNum * 10;
            next.num += _iNum;

            DataManager.Instance.dataItem.Save();

            ScrollInfoUpdate();
            ButtonInteractable();
        }
Пример #22
0
        private void OnEquip(DataItemParam arg0)
        {
            int iSetSerial = 0;

            if (arg0 != null)
            {
                iSetSerial = arg0.serial;
            }
            DataManager.Instance.user_data.WriteInt(MasterItem.GetEquipIndexName(equip_index.Value), iSetSerial);

            //Debug.Log(MasterItem.GetEquipIndexName(equip_index.Value));
            DataManager.Instance.user_data.Save();
            Fsm.Event("equip");
        }
Пример #23
0
        public override void OnEnter()
        {
            base.OnEnter();

            DataItemParam data = DataManager.Instance.dataItem.list.Find(p => p.serial == item_serial.Value);

            // ここの効果別の処理
            if (data.Use())
            {
                data.num -= 1;
                GameMain.Instance.ShortcutRefresh(data.serial);
            }

            Finish();
        }
Пример #24
0
        private void OnClickBanner(DataItemParam arg0)
        {
            //Debug.Log(arg0);
            item_serial.Value = arg0.serial;

            DataItemParam   data       = DataManager.Instance.dataItem.list.Find(p => p.serial == item_serial.Value);
            MasterItemParam master_now = DataManager.Instance.masterItem.list.Find(p => p.item_id == data.item_id);

            //int item_category = master_now.item_id / MasterItem.LargeCategory;

            // これは良くないですね
            element_item_id.Value = master_now.craft_item_id;

            Fsm.Event("select");
        }
Пример #25
0
    public void Initialize(MasterSkinParam _master)
    {
        skin_id = _master.skin_id;

        MasterItemParam item = DataManager.Instance.masterItem.list.Find(p => p.item_id == _master.item_id);

        m_imgIcon.sprite = SpriteManager.Instance.Get(item.sprite_holder, item.sprite_name);
        m_txtName.text   = _master.skin_name;

        bool bShow = false;

        if (skin_id == 1)
        {
            bShow = true;
        }
        else if (_master.limit == false)
        {
            // なんか素直なプログラムじゃない
            // 制限されてないものは表示対象
            bShow = true;
        }
        else
        {
            DataItemParam item_skin = DataManager.Instance.dataItem.list.Find(p => p.item_id == _master.item_id && 0 < p.num);
            if (item_skin != null)
            {
                bShow = true;
            }
        }

        if (bShow == false)
        {
            m_txtDetail.text = string.Format("<color=red>未所持</color>:{0}", _master.skin_outline);
        }
        else
        {
            m_txtDetail.text = string.Format("{0}", _master.skin_outline);
        }

        m_btn.interactable = bShow;



        m_btn.onClick.AddListener(() =>
        {
            OnClickSkin.Invoke(skin_id);
        });
    }
Пример #26
0
    public void Initialize(DataItemParam _data)
    {
        m_iItemSerial = _data.serial;

        int  iIndex = 0;
        bool exist  = GameMain.Instance.panelStatus.m_panelShortcuts.CheckSerial(m_iItemSerial, ref iIndex);

        // 外すは例外
        if (_data.item_id == 0)
        {
            exist = false;
        }
        m_goSet.SetActive(exist);

        if (_data.item_id == 0)
        {
            m_imgIcon.sprite = SpriteManager.Instance.Get("UI_Icon_GenderMale2");
            m_imgIcon.color  = Color.white;

            m_txtNum.text    = "はずす";
            m_txtName.text   = "ショートカットを\n未設定状態にします";
            m_txtDetail.text = "";

            return;
        }


        MasterItemParam master = DataManager.Instance.masterItem.list.Find(p => p.item_id == _data.item_id);

        m_imgIcon.sprite = SpriteManager.Instance.Get(master.sprite_holder, master.sprite_name);
        m_imgIcon.color  = master.GetSpriteColor();

        string strNum = "";

        if (master.item_id / MasterItem.LargeCategory <= MasterItem.CategoryMagic)
        {
            strNum = string.Format("[{0}]", _data.num);
        }
        else
        {
            strNum = string.Format("[{1}{0}]", _data.craft_count < master.limit ? _data.craft_count.ToString() : "★", "+");
        }

        m_txtNum.text = strNum;

        m_txtName.text   = master.name;
        m_txtDetail.text = master.detail;
    }
Пример #27
0
    public bool UseItem()
    {
        bool          bRet   = false;
        DataItemParam potion = DataManager.Instance.dataItem.list.Find(p => p.item_id == accessary.use_item_id && 0 < p.num);

        if (potion != null)
        {
            if (potion.Use())
            {
                potion.num -= 1;
                GameMain.Instance.ShortcutRefresh(potion.serial);
                bRet = true;
            }
        }
        return(bRet);
    }
Пример #28
0
        public override void OnEnter()
        {
            base.OnEnter();

            MasterMedalPrizeParam prize = DataManager.Instance.masterMedalPrize.list.Find(p => p.medal_prize_id == medal_prize_id.Value);

            DataItemParam medal_param = DataManager.Instance.dataItem.list.Find(p => p.item_id == prize.item_id_medal);

            medal_param.num -= prize.medal_num;

            DataManager.Instance.dataItem.AddItem(prize.prize_item_id, 1);

            DataManager.Instance.dataItem.Save();

            Finish();
        }
Пример #29
0
    public void Initialize(DataItemParam _data)
    {
        MasterItemParam master = DataManager.Instance.masterItem.list.Find(p => p.item_id == _data.item_id);

        m_txtName.text   = master.name;
        m_txtDetail.text = master.detail;

        m_imgIcon.sprite = SpriteManager.Instance.Get(master.sprite_holder, master.sprite_name);
        m_imgIcon.color  = master.GetSpriteColor();

        m_data = _data;
        m_btn.onClick.AddListener(() =>
        {
            OnBannerEvent.Invoke(m_data);
        });
    }
Пример #30
0
    public void SetShortcut(int _iItemSerial)
    {
        m_iItemSerial = _iItemSerial;
        //Debug.Log(m_iItemSerial);
        if (m_iItemSerial == 0)
        {
            Empty();
            return;
        }

        m_dataSetItemParam   = DataManager.Instance.dataItem.list.Find(p => p.serial == _iItemSerial);
        m_masterSetItemParam = DataManager.Instance.masterItem.list.Find(p => p.item_id == m_dataSetItemParam.item_id);

        NumUpdate();

        m_imgIcon.sprite = SpriteManager.Instance.Get(m_masterSetItemParam.sprite_holder, m_masterSetItemParam.sprite_name);
        m_imgIcon.color  = m_masterSetItemParam.GetSpriteColor();
    }