Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        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;
                }
            }
        }