Exemple #1
0
 private bool InitSubStatMeta()
 {
     try
     {
         GoogleSheetReader sheetReader = new GoogleSheetReader(GameManager.GOOGLESHEET_ID, GameManager.GOOGLESHEET_API_KEY);
         sheetReader.Load("meta_item_equip_substat");
         foreach (GoogleSheetReader.Row row in sheetReader)
         {
             EquipItem.Meta meta = ItemManager.Instance.FindMeta <EquipItem.Meta>(row.GetString("item_id"));
             meta.sub_stats.Add(new EquipItemStatMeta()
             {
                 type           = row.GetEnum <StatType>("stat_type"),
                 base_value     = row.GetFloat("base_value"),
                 max_value      = row.GetFloat("max_value"),
                 rand_stat_meta = new RandomStatMeta()
                 {
                     type      = row.GetEnum <StatType>("stat_type"),
                     min_value = row.GetFloat("rand_min_value"),
                     max_value = row.GetFloat("rand_max_value"),
                     interval  = row.GetFloat("interval"),
                 }
             });
         }
     }
     catch (System.Exception e)
     {
         GameManager.Instance.ui_textbox.on_close = () =>
         {
             Application.Quit();
         };
         GameManager.Instance.ui_textbox.AsyncWrite("error: " + e.Message + "\n" + e.ToString(), false);
         return(false);
     }
     return(true);
 }
Exemple #2
0
    private bool InitItemMeta()
    {
        try
        {
            GoogleSheetReader sheetReader = new GoogleSheetReader(GameManager.GOOGLESHEET_ID, GameManager.GOOGLESHEET_API_KEY);
            sheetReader.Load("meta_item_equip");
            foreach (GoogleSheetReader.Row row in sheetReader)
            {
                EquipItem.Meta meta = new EquipItem.Meta();
                meta.id        = row.GetString("item_id");
                meta.name      = row.GetString("item_name");
                meta.part      = row.GetEnum <EquipItem.Part>("equip_part");
                meta.price     = row.GetInt32("price");
                meta.weight    = row.GetFloat("weight");
                meta.type      = Item.Type.Equipment;
                meta.main_stat = new EquipItemStatMeta()
                {
                    type           = row.GetEnum <StatType>("main_stat_type"),
                    base_value     = row.GetFloat("main_base_value"),
                    max_value      = 0.0f,
                    rand_stat_meta = new RandomStatMeta()
                    {
                        type      = row.GetEnum <StatType>("main_stat_type"),
                        min_value = 0,
                        max_value = row.GetFloat("main_rand_value"),
                        interval  = 0.01f
                    }
                };

                meta.main_skill = null;
                if ("" != row.GetString("skill_id"))
                {
                    meta.main_skill = SkillManager.Instance.FindMeta <Skill.Meta>(row.GetString("skill_id"));
                }
                meta.sprite_path = row.GetString("sprite_path");
                meta.description = row.GetString("description");

                item_metas[(int)EquipItem.Part.Invalid].Add(meta);
                item_metas[(int)meta.part].Add(meta);
                ItemManager.Instance.AddItemMeta(meta);
            }
        }
        catch (System.Exception e)
        {
            GameManager.Instance.ui_textbox.on_close = () =>
            {
                Application.Quit();
            };
            GameManager.Instance.ui_textbox.AsyncWrite("error: " + e.Message + "\n" + e.ToString(), false);
            return(false);
        }
        return(true);
    }
Exemple #3
0
    public override void CalculateStat()
    {
        base.CalculateStat();
        start_item_count = (int)stats.GetStat(StatType.StartItemCount);
        float weight = 0.0f;

        foreach (var itr in equip_items)
        {
            if (null != itr.Value)
            {
                EquipItem.Meta meta = (EquipItem.Meta)itr.Value.meta;
                weight += meta.weight;
            }
        }
        speed = Mathf.Round(speed * 100 / (100 + weight));
        speed = Stat.Truncate(speed, 0.01f);

        max_stamina = (int)(stats.GetStat(StatType.Stamina) + (stats.GetStat(StatType.Stamina) * stats.GetStat(StatType.Stamina_Rate) / 100));
        Util.EventSystem.Publish(EventID.Player_Stat_Change);
    }
Exemple #4
0
 private bool InitSkillMeta()
 {
     try
     {
         GoogleSheetReader sheetReader = new GoogleSheetReader(GameManager.GOOGLESHEET_ID, GameManager.GOOGLESHEET_API_KEY);
         sheetReader.Load("meta_item_equip_skill");
         foreach (GoogleSheetReader.Row row in sheetReader)
         {
             EquipItem.Meta meta = ItemManager.Instance.FindMeta <EquipItem.Meta>(row.GetString("item_id"));
             meta.rand_skill.Add(SkillManager.Instance.FindMeta <Skill.Meta>(row.GetString("skill_id")));
         }
     }
     catch (System.Exception e)
     {
         GameManager.Instance.ui_textbox.on_close = () =>
         {
             Application.Quit();
         };
         GameManager.Instance.ui_textbox.AsyncWrite("error: " + e.Message + "\n" + e.ToString(), false);
         return(false);
     }
     return(true);
 }
Exemple #5
0
 public EquipItem CreateRandomItem(EquipItem.Part part = EquipItem.Part.Invalid)
 {
     EquipItem.Meta meta = GetRandomMeta(part);
     return(meta.CreateInstance() as EquipItem);
 }
Exemple #6
0
 public EquipItem(EquipItem.Meta meta) : base(meta)
 {
     part = meta.part;
 }