/// <summary> /// adds a new object to dataWatcher to watch, to update an already existing object see updateObject. Arguments: data /// Value Id, Object to add /// </summary> public virtual void AddObject(int par1, object par2Obj) { int?integer = null; if (DataTypes.ContainsKey(par2Obj.GetType())) { integer = DataTypes[par2Obj.GetType()]; } if (integer == null) { throw new System.ArgumentException((new StringBuilder()).Append("Unknown data type: ").Append(par2Obj.GetType()).ToString()); } if (par1 > 31) { throw new System.ArgumentException((new StringBuilder()).Append("Data value id is too big with ").Append(par1).Append("! (Max is ").Append(31).Append(")").ToString()); } if (WatchedObjects.ContainsKey(par1)) { throw new System.ArgumentException((new StringBuilder()).Append("Duplicate id value for ").Append(par1).Append("!").ToString()); } else { WatchableObject watchableobject = new WatchableObject((int)integer, par1, par2Obj); WatchedObjects[par1] = watchableobject; return; } }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public static List readWatchableObjects(NetworkStream par0NetworkStream) throws IOException public static List <WatchableObject> ReadWatchableObjects(BinaryReader par0NetworkStream) { List <WatchableObject> arraylist = null; for (byte byte0 = par0NetworkStream.ReadByte(); byte0 != 127; byte0 = par0NetworkStream.ReadByte()) { if (arraylist == null) { arraylist = new List <WatchableObject>(); } int i = (byte0 & 0xe0) >> 5; int j = byte0 & 0x1f; WatchableObject watchableobject = null; switch (i) { case 0: watchableobject = new WatchableObject(i, j, Convert.ToByte(par0NetworkStream.ReadByte())); break; case 1: watchableobject = new WatchableObject(i, j, Convert.ToInt16(par0NetworkStream.ReadInt16())); break; case 2: watchableobject = new WatchableObject(i, j, Convert.ToInt32(par0NetworkStream.ReadInt32())); break; case 3: watchableobject = new WatchableObject(i, j, Convert.ToSingle(par0NetworkStream.ReadSingle())); break; case 4: watchableobject = new WatchableObject(i, j, Packet.ReadString(par0NetworkStream, 64)); break; case 5: short word0 = par0NetworkStream.ReadInt16(); byte byte1 = par0NetworkStream.ReadByte(); short word1 = par0NetworkStream.ReadInt16(); watchableobject = new WatchableObject(i, j, new ItemStack(word0, byte1, word1)); break; case 6: int k = par0NetworkStream.ReadInt32(); int l = par0NetworkStream.ReadInt32(); int i1 = par0NetworkStream.ReadInt32(); watchableobject = new WatchableObject(i, j, new ChunkCoordinates(k, l, i1)); break; } arraylist.Add(watchableobject); } return(arraylist); }
/// <summary> /// updates an already existing object /// </summary> public virtual void UpdateObject(int par1, object par2Obj) { WatchableObject watchableobject = (WatchableObject)WatchedObjects[par1]; if (!par2Obj.Equals(watchableobject.GetObject())) { watchableobject.SetObject(par2Obj); watchableobject.SetWatching(true); ObjectChanged = true; } }
public virtual void UpdateWatchedObjectsFromList(List <WatchableObject> par1List) { foreach (WatchableObject watchableobject in par1List) { WatchableObject watchableobject1 = WatchedObjects[Convert.ToInt32(watchableobject.GetDataValueId())]; if (watchableobject1 != null) { watchableobject1.SetObject(watchableobject.GetObject()); } } }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: private static void writeWatchableObject(DataOutputStream par0DataOutputStream, WatchableObject par1WatchableObject) throws IOException private static void WriteWatchableObject(BinaryWriter par0DataOutputStream, WatchableObject par1WatchableObject) { int i = (par1WatchableObject.GetObjectType() << 5 | par1WatchableObject.GetDataValueId() & 0x1f) & 0xff; par0DataOutputStream.Write((byte)i); switch (par1WatchableObject.GetObjectType()) { case 0: par0DataOutputStream.Write((byte)par1WatchableObject.GetObject()); break; case 1: par0DataOutputStream.Write((short)par1WatchableObject.GetObject()); break; case 2: par0DataOutputStream.Write((int)par1WatchableObject.GetObject()); break; case 3: par0DataOutputStream.Write((float)par1WatchableObject.GetObject()); break; case 4: Packet.WriteString((string)par1WatchableObject.GetObject(), par0DataOutputStream); break; case 5: ItemStack itemstack = (ItemStack)par1WatchableObject.GetObject(); par0DataOutputStream.Write(itemstack.GetItem().ShiftedIndex); par0DataOutputStream.Write(itemstack.StackSize); par0DataOutputStream.Write(itemstack.GetItemDamage()); break; case 6: ChunkCoordinates chunkcoordinates = (ChunkCoordinates)par1WatchableObject.GetObject(); par0DataOutputStream.Write(chunkcoordinates.PosX); par0DataOutputStream.Write(chunkcoordinates.PosY); par0DataOutputStream.Write(chunkcoordinates.PosZ); break; } }