public static MyWorldObject Create(WorldObject wo)
		{
			MyWorldObject mwo = new MyWorldObject();

			Dictionary<int, bool> boolValues = new Dictionary<int,bool>();
			Dictionary<int, double> doubleValues = new Dictionary<int,double>();
			Dictionary<int, int> intValues = new Dictionary<int, int>();
			Dictionary<int, string> stringValues = new Dictionary<int,string>();
			List<int> activeSpells = new List<int>();
			List<int> spells = new List<int>();

			foreach (var key in wo.BoolKeys)
				boolValues.Add(key, wo.Values((BoolValueKey)key));

			foreach (var key in wo.DoubleKeys)
				doubleValues.Add(key, wo.Values((DoubleValueKey)key));

			foreach (var key in wo.LongKeys)
				intValues.Add(key, wo.Values((LongValueKey)key));

			foreach (var key in wo.StringKeys)
				stringValues.Add(key, wo.Values((StringValueKey)key));

			for (int i = 0 ; i < wo.ActiveSpellCount ; i++)
				activeSpells.Add(wo.ActiveSpell(i));

			for (int i = 0; i < wo.SpellCount; i++)
				spells.Add(wo.Spell(i));

			mwo.Init(wo.HasIdData, wo.Id, wo.LastIdTime, (int)wo.ObjectClass, boolValues, doubleValues, intValues, stringValues, activeSpells, spells);

			return mwo;
		}
		public static MyWorldObject Combine(MyWorldObject older, WorldObject newer)
		{
			if (!older.HasIdData || newer.HasIdData)
				return Create(newer);

			MyWorldObject mwo = Create(newer);

			older.AddTo(mwo.BoolValues, mwo.DoubleValues, mwo.IntValues, mwo.StringValues);

			return older;
		}
示例#3
0
        public static MyWorldObject Combine(MyWorldObject older, WorldObject newer)
        {
            if (!older.HasIdData || newer.HasIdData)
            {
                return(Create(newer));
            }

            MyWorldObject mwo = Create(newer);

            older.AddTo(mwo.BoolValues, mwo.DoubleValues, mwo.IntValues, mwo.StringValues);

            return(older);
        }
示例#4
0
        public static MyWorldObject Create(WorldObject wo)
        {
            MyWorldObject mwo = new MyWorldObject();

            Dictionary <int, bool>   boolValues   = new Dictionary <int, bool>();
            Dictionary <int, double> doubleValues = new Dictionary <int, double>();
            Dictionary <int, int>    intValues    = new Dictionary <int, int>();
            Dictionary <int, string> stringValues = new Dictionary <int, string>();
            List <int> activeSpells = new List <int>();
            List <int> spells       = new List <int>();

            foreach (var key in wo.BoolKeys)
            {
                boolValues.Add(key, wo.Values((BoolValueKey)key));
            }

            foreach (var key in wo.DoubleKeys)
            {
                doubleValues.Add(key, wo.Values((DoubleValueKey)key));
            }

            foreach (var key in wo.LongKeys)
            {
                intValues.Add(key, wo.Values((LongValueKey)key));
            }

            foreach (var key in wo.StringKeys)
            {
                stringValues.Add(key, wo.Values((StringValueKey)key));
            }

            for (int i = 0; i < wo.ActiveSpellCount; i++)
            {
                activeSpells.Add(wo.ActiveSpell(i));
            }

            for (int i = 0; i < wo.SpellCount; i++)
            {
                spells.Add(wo.Spell(i));
            }

            mwo.Init(wo.HasIdData, wo.Id, wo.LastIdTime, (int)wo.ObjectClass, boolValues, doubleValues, intValues, stringValues, activeSpells, spells);

            return(mwo);
        }
示例#5
0
 public ItemInfo(MyWorldObject myWorldObject)
 {
     mwo = myWorldObject;
 }
示例#6
0
		public ItemInfo(WorldObject worldObject)
		{
			wo = worldObject;
			mwo = MyWorldObjectCreator.Create(worldObject);
		}