public void AddPlat() { if (++_iPlatIndex > BattleManager.GetInst().Stairs) { return; } BattleFieldData field = BattleManager.GetInst().GetFieldData(_iPlatIndex); BattlePlat plat = ResourceMgr.PopBox(SceneId, field.Type); plat.Index = _iPlatIndex; plat.X = field.X; plat.Y = field.Y; plat.m_Transform.SetParent(ForegroundTran); plat.m_Transform.localPosition = new Vector3(field.X, field.Y, 0f); plat.m_Transform.localScale = Vector3.one; if (field.Item > 0) { string itemId = ConfigData.GetValue("Scene_Common", SceneId.ToString(), string.Format("Item{0}", field.Item)); if (itemId != "-1") { int id = int.Parse(itemId); BattleItem item = ResourceMgr.PopItem(id); item.Type = id; item.m_Transform.SetParent(plat.m_Transform, false); } } _dicPlat.Add(_iPlatIndex, plat); }
public static void PushItem(BattleItem item) { int type = item.Type; if (!_dicItems[type].Contains(item)) { item.m_Transform.SetParent(BattleManager.GetInst().BattlePoorTran); item.m_Transform.localPosition = PositionMgr.vecHidePos; _dicItems[type].Push(item); } }
public static BattleItem PopItem(int type) { if (!_dicItems.ContainsKey(type)) { _dicItems.Add(type, new Stack <BattleItem>()); } if (_dicItems[type].Count > 0) { return(_dicItems[type].Pop()); } BattleItem item = (Object.Instantiate(_items[type]) as GameObject).GetComponent <BattleItem>(); return(item); }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.CompareTag("Role")) { collision.GetComponent <BattleHero>().ReduceHp(1); } else { BattlePlat plat = collision.GetComponent <BattlePlat>(); if (plat != null) { TriggerCbFunc(plat); return; } BattleItem item = collision.GetComponent <BattleItem>(); if (item != null) { ResourceMgr.PushItem(item); return; } } }