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); }
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); }
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); }
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); }
public EquipItem CreateRandomItem(EquipItem.Part part = EquipItem.Part.Invalid) { EquipItem.Meta meta = GetRandomMeta(part); return(meta.CreateInstance() as EquipItem); }
public EquipItem(EquipItem.Meta meta) : base(meta) { part = meta.part; }