コード例 #1
0
ファイル: ItemFactory.cs プロジェクト: blockspacer/MMXLegacy
        public static Potion CreatePotion(EPotionType p_type, Int32 p_modelLevel)
        {
            List <PotionStaticData> list = new List <PotionStaticData>(StaticDataHandler.GetIterator <PotionStaticData>(EDataType.POTION));

            if (m_potionTempFilter == null)
            {
                m_potionTempFilter = new List <Int32>();
            }
            m_potionTempFilter.Clear();
            for (Int32 i = 0; i < list.Count; i++)
            {
                PotionStaticData potionStaticData = list[i];
                if (potionStaticData.Type == p_type && potionStaticData.ModelLevel == p_modelLevel)
                {
                    m_potionTempFilter.Add(i);
                }
            }
            if (m_potionTempFilter.Count > 0)
            {
                Int32 index  = Random.Range(0, m_potionTempFilter.Count);
                Int32 index2 = m_potionTempFilter[index];
                return(CreateItem <Potion>(list[index2].StaticID));
            }
            throw new NotSupportedException("Potion Data not found! " + p_type);
        }
コード例 #2
0
 public override void Init(Int32 p_staticID)
 {
     m_staticData = StaticDataHandler.GetStaticData <PotionStaticData>(EDataType.POTION, p_staticID);
     m_properties = new Dictionary <String, String>();
     InitIncreasingProperties();
     InitRemovingProperties();
 }