Esempio n. 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);
        }
Esempio n. 2
0
        private void LoadFieldData(bool loadItem)
        {
            _lstFieldData.Clear();
            float x, y, lastY = 0;
            int   type = 0, item = 0;

            BattleFieldData data = new BattleFieldData(0, 0, 0, 0);

            _lstFieldData.Add(data);
            for (int i = 0; i < Stairs; ++i)
            {
                x    = _rand.Next(-5, 6) / 2f;
                y    = lastY - _rand.Next(4, 8) / 2f;
                type = _rand.Next(0, ApplicationConst.iPlatTypeCount);
                item = loadItem && _rand.Next(0, 100) < 10 ? _rand.Next(1, 2) : 0;

                lastY = y;
                data  = new BattleFieldData(x, y, type, item);
                _lstFieldData.Add(data);
            }
        }