Esempio n. 1
0
    private void ChangeInfoMonsInfoView()
    {
        //変数宣言
        Monster monsterInfo = targetMonsterObj.GetComponent <IconInformation>().monsterInfo;
        int     No          = monsterInfo.No;

        BaseStatsData.Param baseStats = baseStatsData.sheets[0].list[No - 1];
        Sprite monsterSprite          = Resources.Load <Sprite>("Img_Monster/" + No);;
        string name    = baseStats.Name;
        int    level   = monsterInfo.level;
        int    hp      = baseStats.Hp;
        int    attack  = baseStats.Attack;
        int    defense = baseStats.Defense;
        int    speed   = baseStats.Speed;

        //変数代入
        monsterspriteObj.GetComponent <Image>().sprite = monsterSprite;
        txt_name.GetComponent <Text>().text            = name;
        txt_level.GetComponent <Text>().text           = "LV:" + level.ToString() + "/100";
        txt_hp.GetComponent <Text>().text      = hp.ToString();
        txt_attack.GetComponent <Text>().text  = attack.ToString();
        txt_defense.GetComponent <Text>().text = defense.ToString();
        txt_speed.GetComponent <Text>().text   = speed.ToString();
    }
    public void Display()
    {
        //初期化
        nowSkillBtnNum    = -1;
        nowNewSkillBtnNum = -1;

        //モンスター情報の表示
        //変数宣言
        int No = mons.No;

        BaseStatsData.Param baseStats = baseStatsData.sheets[0].list[No - 1];
        Sprite monsterSprite          = Resources.Load <Sprite>("Img_Monster/" + No);
        string name    = baseStats.Name;
        int    level   = mons.level;
        int    hp      = baseStats.Hp;
        int    attack  = baseStats.Attack;
        int    defense = baseStats.Defense;
        int    speed   = baseStats.Speed;

        //変数代入
        img_Monster.GetComponent <Image>().sprite = monsterSprite;
        txt_Name.GetComponent <Text>().text       = name;
        txt_Level.GetComponent <Text>().text      = "LV:" + level.ToString() + "/100";
        txt_Hp.GetComponent <Text>().text         = hp.ToString();
        txt_Attack.GetComponent <Text>().text     = attack.ToString();
        txt_Defense.GetComponent <Text>().text    = defense.ToString();
        txt_Speed.GetComponent <Text>().text      = speed.ToString();

        //おぼえているスキルの表示
        for (int i = 0; i < 4; i++)
        {
            int        skillNum      = mons.skills[i];
            GameObject skillBtn      = containerSkill.transform.GetChild(i).gameObject;
            GameObject skillBtnImage = skillBtn.transform.GetChild(1).gameObject;
            GameObject skillBtnFrame = skillBtn.transform.GetChild(0).gameObject;
            GameObject skillTxt      = skillBtn.transform.GetChild(2).gameObject;

            skillBtnFrame.SetActive(false);
            if (skillNum == 0)
            {
                //スキルなしの場合
                skillBtnImage.GetComponent <Image>().color = new Color(0.5f, 0.5f, 0.5f);
                skillTxt.GetComponent <Text>().text        = "スキルなし";
            }
            else
            {
                string type      = skillData.sheets[0].list[skillNum - 1].Type;
                string skillName = skillData.sheets[0].list[skillNum - 1].Name;
                string explain   = skillData.sheets[0].list[skillNum - 1].Explain;

                skillBtnImage.GetComponent <Image>().color = GetTypeColor(type);
                skillTxt.GetComponent <Text>().text        = skillName;
            }
        }

        //新しいスキルの表示
        //一旦前のやつを削除
        for (int i = 0; i < containerSkillBtn.transform.childCount; i++)
        {
            Destroy(containerSkillBtn.transform.GetChild(i).gameObject);
        }
        //表示
        int totalCount = learnSkillData.sheets[No - 1].list.Count;

        for (int i = 0; i < totalCount; i++)
        {
            int    skillNum   = learnSkillData.sheets[No - 1].list[i].SkillNum;
            int    learnLevel = learnSkillData.sheets[No - 1].list[i].Level;
            string type       = skillData.sheets[0].list[skillNum - 1].Type;
            string skillName  = skillData.sheets[0].list[skillNum - 1].Name;
            string explain    = skillData.sheets[0].list[skillNum - 1].Explain;

            GameObject skillBtn = (GameObject)Instantiate(skillBtnPrefab);
            skillBtn.transform.SetParent(containerSkillBtn.transform);
            skillBtn.GetComponent <RectTransform>().localScale = new Vector3(1, 1, 1);
            GameObject frame          = skillBtn.transform.GetChild(0).gameObject;
            GameObject bg             = skillBtn.transform.GetChild(1).gameObject;
            GameObject txt_learnLevel = skillBtn.transform.GetChild(2).gameObject;
            GameObject txt_skillName  = skillBtn.transform.GetChild(3).gameObject;
            GameObject black          = skillBtn.transform.GetChild(4).gameObject;

            bg.GetComponent <Image>().color           = GetTypeColor(type);
            txt_learnLevel.GetComponent <Text>().text = "Lv. " + learnLevel.ToString();
            txt_skillName.GetComponent <Text>().text  = skillName;
            if (learnLevel > level)
            {
                black.SetActive(true);
            }

            //オブジェクトにButtonInScrollViewがない時はアタッチしてあげる
            if (skillBtn.GetComponent <ButtonInScrollView>() == null)
            {
                skillBtn.AddComponent <ButtonInScrollView>();
            }
            skillBtn.GetComponent <ButtonInScrollView>().onclick = () => {
                OnClickNewSkill(skillBtn, skillNum);
            };
        }
    }
    static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
    {
        foreach (string asset in importedAssets)
        {
            if (!filePath.Equals(asset))
            {
                continue;
            }

            BaseStatsData data = (BaseStatsData)AssetDatabase.LoadAssetAtPath(exportPath, typeof(BaseStatsData));
            if (data == null)
            {
                data = ScriptableObject.CreateInstance <BaseStatsData> ();
                AssetDatabase.CreateAsset((ScriptableObject)data, exportPath);
                data.hideFlags = HideFlags.NotEditable;
            }

            data.sheets.Clear();
            using (FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) {
                IWorkbook book = null;
                if (Path.GetExtension(filePath) == ".xls")
                {
                    book = new HSSFWorkbook(stream);
                }
                else
                {
                    book = new XSSFWorkbook(stream);
                }

                foreach (string sheetName in sheetNames)
                {
                    ISheet sheet = book.GetSheet(sheetName);
                    if (sheet == null)
                    {
                        Debug.LogError("[QuestData] sheet not found:" + sheetName);
                        continue;
                    }

                    BaseStatsData.Sheet s = new BaseStatsData.Sheet();
                    s.name = sheetName;

                    for (int i = 1; i <= sheet.LastRowNum; i++)
                    {
                        IRow  row  = sheet.GetRow(i);
                        ICell cell = null;

                        BaseStatsData.Param p = new BaseStatsData.Param();

                        cell = row.GetCell(0); p.No = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(1); p.Name = (cell == null ? "" : cell.StringCellValue);
                        cell = row.GetCell(2); p.Type = (cell == null ? "" : cell.StringCellValue);
                        cell = row.GetCell(3); p.Hp = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(4); p.Attack = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(5); p.Defense = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(6); p.Speed = (int)(cell == null ? 0 : cell.NumericCellValue);
                        s.list.Add(p);
                    }
                    data.sheets.Add(s);
                }
            }

            ScriptableObject obj = AssetDatabase.LoadAssetAtPath(exportPath, typeof(ScriptableObject)) as ScriptableObject;
            EditorUtility.SetDirty(obj);
        }
    }