System.IO.BinaryReader.ReadString()

Here are the examples of the csharp api System.IO.BinaryReader.ReadString() taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

827 Examples 7

19 Source : Script.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.ScriptHeader:
						scriptHeader = new ScriptHeader(reader);
						name = scriptHeader.Name;
						break;
					case SubRecordType.ScriptVariable:
						CreateScriptVariables(reader.ReadBytes(size));
						break;
					case SubRecordType.ScriptData:
						CreateScriptData(reader.ReadBytes(size));
						break;
					case SubRecordType.ScriptText:
						scriptText = reader.ReadString(size);
						break;
				}
			}
		}

19 Source : AlchemyRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			var enchantments = new List<EnchantmentEffect>();

			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.Text:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.AlchemyData:
						data = new AlchemyRecordData(reader);
						break;
					case SubRecordType.Enchantment:
						enchantments.Add(new EnchantmentEffect(reader));
						break;
				}
			}

			this.enchantments = enchantments.ToArray();
		}

19 Source : ApparatusRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.ItemTexture:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.ApparatusData:
						data = new ApparatusRecordData(reader);
						break;
				}
			}
		}

19 Source : ArmorRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			var armorParts = new List<ApparelRecordPiece>();

			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.ItemTexture:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.Enchantment:
						enchantment = Record.GetRecord<EnchantmentData>(reader.ReadString(size));
						break;
					case SubRecordType.Index:
						armorParts.Add(new ApparelRecordPiece());
						armorParts[armorParts.Count - 1].Index = (BipedPart)reader.ReadByte();
						break;
					case SubRecordType.BodyName:
						armorParts[armorParts.Count - 1].MalePart = BodyPartRecord.Get(reader.ReadString(size));
						break;
					case SubRecordType.CreatureName:
						armorParts[armorParts.Count - 1].FemalePart = BodyPartRecord.Get(reader.ReadString(size));
						break;
					case SubRecordType.ArmorData:
						data = new ArmorRecordData(reader);
						break;
				}
			}

			this.armorParts = armorParts.ToArray();
		}

19 Source : BookRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.ItemTexture:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.Enchantment:
						enchantment = Record.GetRecord<EnchantmentData>(reader.ReadString(size));
						break;
					case SubRecordType.BookData:
						data = new BookRecordData(reader);
						break;
					case SubRecordType.Text:
						text = reader.ReadString(size);
						break;
				}
			}
		}

19 Source : ClothingRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			var clothingParts = new List<ApparelRecordPiece>();

			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.ItemTexture:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.Enchantment:
						enchantment = Record.GetRecord<EnchantmentData>(reader.ReadString(size));
						break;
					case SubRecordType.Index:
						clothingParts.Add(new ApparelRecordPiece());
						clothingParts[clothingParts.Count - 1].Index = (BipedPart)reader.ReadByte();
						break;
					case SubRecordType.BodyName:
						clothingParts[clothingParts.Count - 1].MalePart = BodyPartRecord.Get(reader.ReadString(size));
						break;
					case SubRecordType.CreatureName:
						clothingParts[clothingParts.Count - 1].FemalePart = BodyPartRecord.Get(reader.ReadString(size));
						break;
					case SubRecordType.ClothingData:
						data = new ClothingRecordData(reader);
						break;
				}
			}

			this.clothingParts = clothingParts.ToArray();
		}

19 Source : IngredientRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.ItemTexture:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.IngredientData:
						data = new IngredientRecordData(reader);
						break;
				}
			}
		}

19 Source : LeveledItemRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			var index = 0;
			ItemRecord item = null;
			var itemChance = 0;

			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Data:
						data = new LeveledItemRecordData(reader);
						break;
					case SubRecordType.NextName:
						chanceNone = reader.ReadByte();
						break;
					case SubRecordType.Index:
						count = reader.ReadInt32();
						items = new Tuple<ItemRecord, int>[count];
						break;
					case SubRecordType.ItemName:
						item = Record.GetRecord<ItemRecord>(reader.ReadString(size));
						break;
					case SubRecordType.IntValue:
						itemChance = reader.ReadInt16();
						items[index] = new Tuple<ItemRecord, int>(item, itemChance);
						index++;
						break;
				}
			}
		}

19 Source : LightRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.ItemTexture:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.LightData:
						data = new LightRecordData(reader);
						break;
					case SubRecordType.SoundName:
						sound = Record.GetRecord<SoundRecord>(reader.ReadString(size));
						break;
				}
			}
		}

19 Source : LockpickRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.ItemTexture:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.LockpickData:
						data = new LockpickRecordData(reader);
						break;
				}
			}
		}

19 Source : MiscItemRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.ItemTexture:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.MiscItemData:
						data = new MiscItemRecordData(reader, fullName);
						break;
				}
			}
		}

19 Source : ProbeRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.ItemTexture:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.ProbeData:
						data = new ProbeRecordData(reader);
						break;
				}
			}
		}

19 Source : RepairItemRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.ItemTexture:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.RepairItemData:
						data = new RepairItemRecordData(reader);
						break;
				}
			}
		}

19 Source : WeaponRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Model:
						model = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.Script:
						script = Script.Get(reader.ReadString(size));
						break;
					case SubRecordType.ItemTexture:
						CreateSprite(reader.ReadString(size));
						break;
					case SubRecordType.Enchantment:
						enchantment = Record.GetRecord<EnchantmentData>(reader.ReadString(size));
						break;
					case SubRecordType.WeaponData:
						data = new WeaponRecordData(reader);
						break;
				}
			}
		}

19 Source : EnchantmentData.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.EnchantmentData:
						data = new EnchantmentRecordData(reader);
						break;
					case SubRecordType.Enchantment:
						effects.Add(new EnchantmentEffect(reader));
						break;
				}
			}
		}

19 Source : SpellRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						name = reader.ReadString(size);
						break;
					case SubRecordType.Name:
						fullName = reader.ReadString(size);
						break;
					case SubRecordType.SpellData:
						spellData = new SpellData(reader);
						break;
					case SubRecordType.Enchantment:
						effects.Add(new EnchantmentEffect(reader));
						break;
				}
			}
		}

19 Source : Record.cs
with GNU General Public License v3.0
from arycama

public static void Create(BinaryReader reader)
	{
		var header = new RecordHeader(reader);

		switch (header.Type)
		{
			case RecordType.BirthSign:
				BirthSignRecord.Create(reader, header);
				break;
			case RecordType.BodyPart:
				BodyPartRecord.Create(reader, header);
				break;
			case RecordType.Cell:
				CellRecord.Create(reader, header);
				break;
			case RecordType.Dialogue:
				DialogRecord.Create(reader, header);
				break;
			case RecordType.GameSetting:
				GameSetting.Create(reader, header);
				break;
			case RecordType.Info:
				InfoRecord.Create(reader, header);
				break;
			case RecordType.Land:
				LandRecord.Create(reader, header);
				break;
			case RecordType.LandTexture:
				LandTextureRecord.Create(reader, header);
				break;
			case RecordType.MagicEffect:
				MagicEffectRecord.Create(reader, header);
				break;
			case RecordType.PathGrid:
				Pathgrid.Create(reader, header);
				break;
			case RecordType.Script:
				Script.Create(reader, header);
				break;
			case RecordType.Skill:
				SkillRecord.Create(reader, header);
				break;
			case RecordType.SoundGenerator:
				SoundGenerator.Create(reader, header);
				break;
			case RecordType.Tes3:
				Tes3Record.Create(reader, header);
				break;
			default:
				{
					var size = GotoSubrecord(SubRecordType.Id, header);
					var id = reader.ReadString(size);
					reader.BaseStream.Position = header.DataOffset + header.DataSize;
					var recordData = CreateRecordData(header.Type);
					recordData.Header = header;
					Records.Add(id, recordData);
					break;
				}
		}
	}

19 Source : LandTextureRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						id = reader.ReadString(size);
						break;
					case SubRecordType.IntValue:
						index = reader.ReadInt32();
						break;
					case SubRecordType.Data:
						texture = reader.ReadString(size);
						break;
				}
			}

			records.Add(index, this);
		}

19 Source : CellRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(BinaryReader reader, RecordHeader header)
	{
		string name = null;
		CellData cellData = null;

		while (reader.BaseStream.Position < header.DataEndPos)
		{
			var type = (SubRecordType)reader.ReadInt32();
			var size = reader.ReadInt32();

			if (type == SubRecordType.Id)
			{
				name = reader.ReadString(size);
			}
			else if(type == SubRecordType.Data)
			{
				cellData = new CellData(reader);
				break;
			}
		}

		if (cellData.IsInterior)
			interiorCellHeaders.Add(name, header);
		else
			exteriorCellHeaders.Add(cellData.Coordinates, header);

		reader.BaseStream.Position = header.DataEndPos + 4;
	}

19 Source : CellRecord.cs
with GNU General Public License v3.0
from arycama

public override void Deserialize(BinaryReader reader, RecordHeader header)
	{
		while (reader.BaseStream.Position < header.DataEndPos)
		{
			var type = (SubRecordType)reader.ReadInt32();
			var size = reader.ReadInt32();

			switch (type)
			{
				case SubRecordType.Id:
					name = reader.ReadString(size);
					break;
				case SubRecordType.Data:
					cellData = new CellData(reader);
					break;
				case SubRecordType.RegionName:
					region = Record.GetRecord<Region>(reader.ReadString(size));
					break;
				case SubRecordType.Name0:
					objectCount = reader.ReadInt32();
					break;
				case SubRecordType.Name5:
					mapColor = reader.ReadColor32();
					break;
				case SubRecordType.AmbientData:
					ambientData = new AmbientData(reader);
					break;
				case SubRecordType.ReferenceData:
					referenceData.Add(new ReferenceData(reader));
					break;
				case SubRecordType.IntValue:
					waterHeight = reader.ReadInt32();
					break;
			}
		}
	}

19 Source : Pathgrid.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
		{
			while (reader.BaseStream.Position < header.DataEndPos)
			{
				var type = (SubRecordType)reader.ReadInt32();
				var size = reader.ReadInt32();

				switch (type)
				{
					case SubRecordType.Id:
						Cellname = reader.ReadString(size);
						break;
					case SubRecordType.Data:
						data = new PathgridData(reader);
						break;
					case SubRecordType.PathgridPoint:
						points = new PathgridPoint[data.PointCount];
						for (var i = 0; i < points.Length; i++)
						{
							points[i] = new PathgridPoint(reader);
						}
						break;
					case SubRecordType.PathgridConnection:
						for (var i = 0; i < size / 4; i++)
						{
							pathgridConnections.Add(reader.ReadInt32());
						}
						break;
				}
			}

			GenerateConnections();

			//pathGrids.Add(id, this);
			if (data.x != 0 && data.y != 0)
			{
				records.Add(new Tuple<int, int>(data.x, data.y), this);
			}
		}

19 Source : ActivatorRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
	{
		while (reader.BaseStream.Position < header.DataEndPos)
		{
			var type = (SubRecordType)reader.ReadInt32();
			var size = reader.ReadInt32();

			switch (type)
			{
				case SubRecordType.Id:
					name = reader.ReadString(size);
					break;
				case SubRecordType.Model:
					model = reader.ReadString(size);
					break;
				case SubRecordType.Name:
					fullName = reader.ReadString(size);
					break;
				case SubRecordType.Script:
					script = Script.Get(reader.ReadString(size));
					break;
			}
		}
	}

19 Source : ContainerRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(BinaryReader reader, RecordHeader header)
	{
		while (reader.BaseStream.Position < header.DataEndPos)
		{
			var type = (SubRecordType)reader.ReadInt32();
			var size = reader.ReadInt32();

			switch (type)
			{
				case SubRecordType.Id:
					name = reader.ReadString(size);
					break;
				case SubRecordType.Model:
					model = reader.ReadString(size);
					break;
				case SubRecordType.Name:
					fullName = reader.ReadString(size);
					break;
				case SubRecordType.Script:
					script = Script.Get(reader.ReadString(size));
					break;
				case SubRecordType.ContainerData:
					data = new ContainerRecordData(reader);
					break;
				case SubRecordType.Flag:
					flags = (ContainerFlags)reader.ReadInt32();
					break;
				case SubRecordType.InventoryItem:
					items.Add(new InventoryItem(reader));
					break;
			}
		}
	}

19 Source : DoorRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
	{
		while (reader.BaseStream.Position < header.DataEndPos)
		{
			var type = (SubRecordType)reader.ReadInt32();
			var size = reader.ReadInt32();

			switch (type)
			{
				case SubRecordType.Id:
					name = reader.ReadString(size);
					break;
				case SubRecordType.Model:
					model = reader.ReadString(size);
					break;
				case SubRecordType.Name:
					fullName = reader.ReadString(size);
					break;
				case SubRecordType.Script:
					script = Script.Get(reader.ReadString(size));
					break;
				case SubRecordType.SoundName:
					openSound = Record.GetRecord<SoundRecord>(reader.ReadString(size));
					break;
				case SubRecordType.Anam:
					closeSound = Record.GetRecord<SoundRecord>(reader.ReadString(size));
					break;
			}
		}
	}

19 Source : StaticRecord.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(System.IO.BinaryReader reader, RecordHeader header)
	{
		while (reader.BaseStream.Position < header.DataEndPos)
		{
			var type = (SubRecordType)reader.ReadInt32();
			var size = reader.ReadInt32();

			switch (type)
			{
				case SubRecordType.Id:
					name = reader.ReadString(size);
					break;
				case SubRecordType.Model:
					model = reader.ReadString(size);
					break;
			}
		}
	}

19 Source : GameSetting.cs
with GNU General Public License v3.0
from arycama

public override void Initialize(BinaryReader reader, RecordHeader header)
	{
		while (reader.BaseStream.Position < header.DataEndPos)
		{
			var type = (SubRecordType)reader.ReadInt32();
			var size = reader.ReadInt32();

			switch (type)
			{
				case SubRecordType.Id:
					name = reader.ReadString(size);
					break;
				case SubRecordType.StringValue:
					stringValue = reader.ReadString(size);
					break;
				case SubRecordType.IntValue:
					intValue = reader.ReadInt32();
					break;
				case SubRecordType.FloatValue:
					floatValue = reader.ReadSingle();
					break;
			}
		}
	}

19 Source : Model.cs
with GNU General Public License v2.0
from Asixa

public static Hitable Load(string path, Shader[] shader, Vector3 scale)
        {
            var modellist=new List<Hitable>();
            var binary_reader = new BinaryReader(new FileStream(path, FileMode.Open));
            var typecode = binary_reader.ReadString();
            var objectcount = binary_reader.ReadInt32();

            for (int j = 0; j < objectcount; j++)
            {
                var materialID = binary_reader.ReadInt32();
                var count = binary_reader.ReadInt32();
                var vertices = new List<Vertex>();
                for (var i = 0; i < count; i++)
                {
                    var p = new Vector3(binary_reader.ReadSingle(), binary_reader.ReadSingle(),
                                binary_reader.ReadSingle()) * scale;
                    var n = new Vector3(binary_reader.ReadSingle(), binary_reader.ReadSingle(),
                        binary_reader.ReadSingle());
                    var uv = new Vector2(binary_reader.ReadSingle(), binary_reader.ReadSingle());
                    vertices.Add(new Vertex(p, n, uv.x, uv.y));
                }
                //binary_reader.Close();
                for (var i = 0; i < vertices.Count; i += 3)
                {
                    // Edges of the triangle : position delta
                    var deltaPos1 = vertices[i + 1].point - vertices[i + 0].point;
                    var deltaPos2 = vertices[i + 2].point - vertices[i + 0].point;

                    // UV delta
                    var deltaUV1 = vertices[i + 1].uv - vertices[i + 0].uv;
                    var deltaUV2 = vertices[i + 2].uv - vertices[i + 0].uv;

                    var r = 1.0f / (deltaUV1.x * deltaUV2.y - deltaUV1.y * deltaUV2.x);
                    var tangent = (deltaPos1 * deltaUV2.y - deltaPos2 * deltaUV1.y) * r;
                    var bitangent = (deltaPos2 * deltaUV1.x - deltaPos1 * deltaUV2.x) * r;

                    vertices[i + 0].tangent = vertices[i + 1].tangent = vertices[i + 2].tangent = tangent;
                    vertices[i + 0].bitangent = vertices[i + 1].bitangent = vertices[i + 2].bitangent = bitangent;

                }

                //
                modellist.Add(Mesh.Create(vertices.ToArray(), shader[materialID]));
            }
            binary_reader.Close();
            return new BVHNode(modellist.ToArray(),modellist.Count,0,1);
            //return Mesh.Create(vertices.ToArray(), shader);
        }

19 Source : PropertiesSerializer.cs
with Apache License 2.0
from aspnet

public static AuthenticationProperties Read(BinaryReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }

            if (reader.ReadInt32() != FormatVersion)
            {
                return null;
            }
            int count = reader.ReadInt32();
            var extra = new Dictionary<string, string>(count);
            for (int index = 0; index != count; ++index)
            {
                string key = reader.ReadString();
                string value = reader.ReadString();
                extra.Add(key, value);
            }
            return new AuthenticationProperties(extra);
        }

19 Source : TicketSerializer.cs
with Apache License 2.0
from aspnet

public static AuthenticationTicket Read(BinaryReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }

            if (reader.ReadInt32() != FormatVersion)
            {
                return null;
            }

            string authenticationType = reader.ReadString();
            string nameClaimType = ReadWithDefault(reader, DefaultValues.NameClaimType);
            string roleClaimType = ReadWithDefault(reader, DefaultValues.RoleClaimType);
            int count = reader.ReadInt32();
            var claims = new Claim[count];
            for (int index = 0; index != count; ++index)
            {
                string type = ReadWithDefault(reader, nameClaimType);
                string value = reader.ReadString();
                string valueType = ReadWithDefault(reader, DefaultValues.StringValueType);
                string issuer = ReadWithDefault(reader, DefaultValues.LocalAuthority);
                string originalIssuer = ReadWithDefault(reader, issuer);
                claims[index] = new Claim(type, value, valueType, issuer, originalIssuer);
            }
            var idenreplacedy = new ClaimsIdenreplacedy(claims, authenticationType, nameClaimType, roleClaimType);
            int bootstrapContextSize = reader.ReadInt32();
            if (bootstrapContextSize > 0)
            {
                idenreplacedy.BootstrapContext = reader.ReadString();
            }

            AuthenticationProperties properties = PropertiesSerializer.Read(reader);
            return new AuthenticationTicket(idenreplacedy, properties);
        }

19 Source : RequestTokenSerializer.cs
with Apache License 2.0
from aspnet

public static RequestToken Read(BinaryReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }

            if (reader.ReadInt32() != FormatVersion)
            {
                return null;
            }

            string token = reader.ReadString();
            string tokenSecret = reader.ReadString();
            bool callbackConfirmed = reader.ReadBoolean();
            AuthenticationProperties properties = PropertiesSerializer.Read(reader);
            if (properties == null)
            {
                return null;
            }

            return new RequestToken { Token = token, TokenSecret = tokenSecret, CallbackConfirmed = callbackConfirmed, Properties = properties };
        }

19 Source : TicketSerializer.cs
with Apache License 2.0
from aspnet

private static string ReadWithDefault(BinaryReader reader, string defaultValue)
        {
            string value = reader.ReadString();
            if (string.Equals(value, DefaultValues.DefaultStringPlaceholder, StringComparison.Ordinal))
            {
                return defaultValue;
            }
            return value;
        }

19 Source : SerializationUtility.cs
with Apache License 2.0
from awslabs

public static string ReadNullableString(this BinaryReader reader)
        {
            bool isnull = reader.ReadBoolean();
            if (isnull)
                return null;
            else
                return reader.ReadString();
        }

19 Source : MeshSerializerImpl.cs
with GNU Lesser General Public License v2.1
from axiom3d

protected void ReadMeshDependency(BinaryReader reader, DependencyInfo depends)
        {
            int count = reader.ReadInt16();
            for (var i = 0; i < count; ++i)
            {
                var name = reader.ReadString();
                depends.meshes.Add(name);
            }
        }

19 Source : MeshSerializerImpl.cs
with GNU Lesser General Public License v2.1
from axiom3d

protected void ReadSkeletonDependency(BinaryReader reader, DependencyInfo depends)
        {
            int count = reader.ReadInt16();
            for (var i = 0; i < count; ++i)
            {
                var name = reader.ReadString();
                depends.skeletons.Add(name);
            }
        }

19 Source : MeshSerializerImpl.cs
with GNU Lesser General Public License v2.1
from axiom3d

protected void ReadMaterialDependency(BinaryReader reader, DependencyInfo depends)
        {
            int count = reader.ReadInt16();
            for (var i = 0; i < count; ++i)
            {
                var name = reader.ReadString();
                depends.materials.Add(name);
            }
        }

19 Source : LocalFileSystemTests.cs
with MIT License
from azist

[Run]
        public void CreateWriteReadFile_1()
        {
            using(var fs = new LocalFileSystem(NOPApplication.Instance))
            {


              var session = fs.StartSession();

              var dir = session[LOCAL_ROOT] as FileSystemDirectory;

              using (var file = dir.CreateFile(FN2))
              {
                var str = file.FileStream;

                var wri = new BinaryWriter(str);

                wri.Write( "Hello!" );
                wri.Write( true );
                wri.Write( 27.4d );
                wri.Close();
              }

              using (var file = session[fs.CombinePaths(LOCAL_ROOT, FN2)] as FileSystemFile)
              {
                var str = file.FileStream;

                var rdr = new BinaryReader(str);

                Aver.AreEqual( "Hello!", rdr.ReadString());
                Aver.AreEqual( true,     rdr.ReadBoolean());
                Aver.AreEqual( 27.4d,    rdr.ReadDouble());
              }
            }
        }

19 Source : LocalFileSystemTests.cs
with MIT License
from azist

[Run]
        public void CreateWriteCopyReadFile()
        {
            using(var fs = new LocalFileSystem(NOPApplication.Instance))
            {
              var session = fs.StartSession();

              var dir = session[LOCAL_ROOT] as FileSystemDirectory;

              using (var file = dir.CreateFile(FN2))
              {
                var str = file.FileStream;

                var wri = new BinaryWriter(str);

                wri.Write( "Hello!" );
                wri.Write( true );
                wri.Write( 27.4d );
                wri.Close();
              }

              //FN3 copied from FN2 and made readonly
              Aver.IsNotNull( dir.CreateFile(FN3, Path.Combine(LOCAL_ROOT, FN2), true) );


              using (var file = session[fs.CombinePaths(LOCAL_ROOT, FN3)] as FileSystemFile)
              {
                Aver.IsTrue( file.ReadOnly);
                Aver.IsTrue( file.IsReadOnly);

                var str = file.FileStream;

                var rdr = new BinaryReader(str);

                Aver.AreEqual( "Hello!", rdr.ReadString());
                Aver.AreEqual( true,     rdr.ReadBoolean());
                Aver.AreEqual( 27.4d,    rdr.ReadDouble());

                file.ReadOnly = false;

                Aver.IsFalse( file.ReadOnly);
                Aver.IsFalse( file.IsReadOnly);

              }
            }
        }

19 Source : WDB.cs
with The Unlicense
from BAndysc

public override void ReadHeader(ref BinaryReader dbReader, string signature)
        {
            Signature = signature;
            Build = dbReader.ReadInt32();

            if (Build >= 4500) // 1.6.0
                Locale = dbReader.ReadString(4).Reverse().ToString();

            RecordSize = dbReader.ReadUInt32();
            RecordVersion = dbReader.ReadInt32();

            if (Build >= 9506) // 3.0.8
                CacheVersion = dbReader.ReadInt32();
        }

19 Source : HTFX.cs
with The Unlicense
from BAndysc

public override void ReadHeader(ref BinaryReader dbReader, string signature)
        {
            Signature = signature;
            Locale = dbReader.ReadInt32();
            Build = dbReader.ReadInt32();

            string tempHeader = dbReader.ReadString(4);
            dbReader.BaseStream.Position -= 4;

            if (tempHeader != "XFTH")
                Hashes = dbReader.ReadBytes(32);

            while (dbReader.BaseStream.Position < dbReader.BaseStream.Length)
                Entries.Add(new HotfixEntry(dbReader));

            Entries.RemoveAll(x => x.IsValid != 1); //Remove old hotfix entries
        }

19 Source : DBReader.cs
with The Unlicense
from BAndysc

private DBHeader ExtractHeader(BinaryReader dbReader)
        {
            DBHeader header = null;
            string signature = dbReader.ReadString(4);

            if (string.IsNullOrWhiteSpace(signature))
                return null;

            if (signature[0] != 'W')
                signature = signature.Reverse().ToString();

            switch (signature)
            {
                case "WDBC":
                    header = new WDBC();
                    break;
                case "WDB2":
                case "WCH2":
                    header = new WDB2();
                    break;
                case "WDB5":
                    header = new WDB5();
                    break;
                case "WDB6":
                    header = new WDB6();
                    break;
                case "WCH5":
                    header = new WCH5(fileName);
                    break;
                case "WCH7":
                    header = new WCH7(fileName);
                    break;
                case "WCH8":
                    header = new WCH8(fileName);
                    break;
                case "WDC1":
                    header = new WDC1();
                    break;
                case "WDC2":
                    header = new WDC2();
                    break;
                case "WMOB":
                case "WGOB":
                case "WQST":
                case "WIDB":
                case "WNDB":
                case "WITX":
                case "WNPC":
                case "WPTX":
                case "WRDN":
                    header = new WDB();
                    break;
                case "HTFX":
                    header = new HTFX();
                    break;
            }

            header?.ReadHeader(ref dbReader, signature);
            return header;
        }

19 Source : BaseCharacter.cs
with MIT License
from barncastle

internal void Deserialize(BinaryReader br)
        {
            Build = br.ReadInt32();
            Clreplaced = br.ReadByte();
            DisplayId = br.ReadUInt32();
            Face = br.ReadByte();
            FacialHair = br.ReadByte();
            Gender = br.ReadByte();
            Guid = br.ReadUInt64();
            HairColor = br.ReadByte();
            HairStyle = br.ReadByte();

            Location = new Location()
            {
                X = br.ReadSingle(),
                Y = br.ReadSingle(),
                Z = br.ReadSingle(),
                O = br.ReadSingle(),
                Map = br.ReadUInt32(),
            };

            Name = br.ReadString();
            PowerType = br.ReadByte();
            Race = br.ReadByte();
            Skin = br.ReadByte();
            Zone = br.ReadUInt32();
            Scale = br.ReadSingle();
            IsFlying = br.ReadBoolean();
        }

19 Source : BinaryObjectReader.cs
with MIT License
from BayatGames

public virtual object Read ( Type type )
		{
			object result = null;
			if ( type == null )
			{
				result = null;
			}
			else if ( type.IsPrimitive || type == typeof ( string ) || type == typeof ( decimal ) )
			{
				if ( type == typeof ( string ) )
				{
					result = m_Reader.ReadString ();
				}
				else if ( type == typeof ( decimal ) )
				{
					result = m_Reader.ReadDecimal ();
				}
				else if ( type == typeof ( short ) )
				{
					result = m_Reader.ReadInt16 ();
				}
				else if ( type == typeof ( int ) )
				{
					result = m_Reader.ReadInt32 ();
				}
				else if ( type == typeof ( long ) )
				{
					result = m_Reader.ReadInt64 ();
				}
				else if ( type == typeof ( ushort ) )
				{
					result = m_Reader.ReadUInt16 ();
				}
				else if ( type == typeof ( uint ) )
				{
					result = m_Reader.ReadUInt32 ();
				}
				else if ( type == typeof ( ulong ) )
				{
					result = m_Reader.ReadUInt64 ();
				}
				else if ( type == typeof ( double ) )
				{
					result = m_Reader.ReadDouble ();
				}
				else if ( type == typeof ( float ) )
				{
					result = m_Reader.ReadSingle ();
				}
				else if ( type == typeof ( byte ) )
				{
					result = m_Reader.ReadByte ();
				}
				else if ( type == typeof ( sbyte ) )
				{
					result = m_Reader.ReadSByte ();
				}
				else if ( type == typeof ( char ) )
				{
					result = m_Reader.ReadChar ();
				}
				else if ( type == typeof ( bool ) )
				{
					result = m_Reader.ReadBoolean ();
				}
			}
			else if ( type.IsEnum )
			{
				result = Enum.Parse ( type, m_Reader.ReadString () );
			}
			else if ( type == typeof ( DateTime ) )
			{
				result = DateTime.FromBinary ( m_Reader.ReadInt64 () );
			}
			else if ( type == typeof ( TimeSpan ) )
			{
				result = TimeSpan.Parse ( m_Reader.ReadString () );
			}
			else if ( type.IsArray )
			{
				Type elementType = type.GetElementType ();
				int rank = m_Reader.ReadInt32 ();
				int [] lengths = new int[rank];
				for ( int i = 0; i < rank; i++ )
				{
					lengths [ i ] = m_Reader.ReadInt32 ();
				}
				Array array = Array.CreateInstance ( elementType, lengths );
				int [] indices = new int[rank];
				for ( int i = 0; i < rank; i++ )
				{
					for ( int j = 0; j < lengths [ i ]; j++ )
					{
						indices [ i ] = j;
						array.SetValue ( Read ( elementType ), indices );
					}
				}
				result = array;
			}
			else if ( type.IsGenericType && type.GetGenericTypeDefinition () == typeof ( KeyValuePair<,> ) )
			{
				PropertyInfo key = type.GetProperty ( "Key" );
				PropertyInfo value = type.GetProperty ( "Value" );
				key.SetValue ( result, Read ( key.PropertyType ), BindingFlags.Default, null, null, null );
				value.SetValue ( result, Read ( value.PropertyType ), BindingFlags.Default, null, null, null );
			}
			else if ( type.IsGenericType && type.GetGenericTypeDefinition () == typeof ( List<> ) )
			{
				Type [] genericArgs = type.GetGenericArguments ();
				IList list = ( IList )type.GetConstructor ( Type.EmptyTypes ).Invoke ( null );
				int length = m_Reader.ReadInt32 ();
				for ( int i = 0; i < length; i++ )
				{
					list.Add ( Read ( genericArgs [ 0 ] ) );
				}
				result = list;
			}
			else if ( type.IsGenericType && type.GetGenericTypeDefinition () == typeof ( Dictionary<,> ) )
			{
				Type [] genericArgs = type.GetGenericArguments ();
				IDictionary dictionary = ( IDictionary )type.GetConstructor ( Type.EmptyTypes ).Invoke ( null );
				int length = m_Reader.ReadInt32 ();
				for ( int i = 0; i < length; i++ )
				{
					dictionary.Add ( Read ( genericArgs [ 0 ] ), Read ( genericArgs [ 1 ] ) );
				}
				result = dictionary;
			}
			else
			{
				result = ReadObject ( type );
			}
			if ( result is IDeserializationCallback )
			{
				( result as IDeserializationCallback ).OnDeserialization ( this );
			}
			return result;
		}

19 Source : BinaryObjectReader.cs
with MIT License
from BayatGames

protected virtual object ReadObject ( Type type )
		{
			object result = null;
			if ( type.IsValueType )
			{
				result = Activator.CreateInstance ( type );
			}
			else
			{
				result = FormatterServices.GetUninitializedObject ( type );
			}
			ISurrogateSelector selector = null;
			SerializationInfo info = null;
			ISerializationSurrogate surrogate = null;
			if ( m_SurrogateSelector != null )
			{
				surrogate = m_SurrogateSelector.GetSurrogate ( type, m_Context, out selector );
				if ( surrogate != null )
				{
					info = new SerializationInfo ( type, new FormatterConverter () );
				}
			}
			if ( result != null )
			{
				int length = m_Reader.ReadInt32 ();
				for ( int i = 0; i < length; i++ )
				{
					string name = m_Reader.ReadString ();
					FieldInfo field = type.GetField ( name );
					if ( field != null )
					{
						if ( info != null )
						{
							info.AddValue ( name, Read ( field.FieldType ), field.FieldType );
						}
						else
						{
							field.SetValue ( result, Read ( field.FieldType ) );
						}
					}
				}
				length = m_Reader.ReadInt32 ();
				for ( int i = 0; i < length; i++ )
				{
					string name = m_Reader.ReadString ();
					PropertyInfo property = type.GetProperty ( name );
					if ( property != null )
					{
						if ( info != null )
						{
							info.AddValue ( name, Read ( property.PropertyType ), property.PropertyType );
						}
						else
						{
							property.SetValue ( result, Read ( property.PropertyType ), BindingFlags.Default, null, null, null );
						}
					}
				}
			}
			if ( surrogate != null )
			{
				surrogate.SetObjectData ( result, info, m_Context, selector );
			}
			return result;
		}

19 Source : MessageChecker.cs
with MIT License
from bdfzchen2015

private bool ChatText(ref BinaryReader reader, int playerNumber)
		{
			int playerID = reader.ReadByte();
			if (Main.netMode == 2)
			{
				playerID = playerNumber;
			}
			Color c = reader.ReadRGB();
			if (Main.netMode == 2)
			{
				c = new Color(255, 255, 255);
			}
			string text = reader.ReadString();
			if (Main.netMode == 1)
			{
				string text2 = text.Substring(text.IndexOf('>') + 1);
				if (playerID < 255)
				{
					Main.player[playerID].chatOverhead.NewMessage(text2, Main.chatLength / 2);
				}
				Main.NewTextMultiline(text, false, c, -1);
			}
			else
			{
				Player p = Main.player[playerID];
				ServerPlayer player = p.GetServerPlayer();
				Group group = player.PermissionGroup;
				string prefix = "[" + group.ChatPrefix + "] ";
				c = group.ChatColor;
				NetMessage.SendData(25, -1, -1, NetworkText.FromLiteral(prefix + "<" + p.name + "> " + text), playerID, (float)c.R, (float)c.G, (float)c.B, 0, 0, 0);
				if (Main.dedServ)
				{
					Console.WriteLine("{0}<" + Main.player[playerID].name + "> " + text, prefix);
				}
			}
			return true;
		}

19 Source : ServerSideCharacter.cs
with MIT License
from bdfzchen2015

public override void HandlePacket(BinaryReader reader, int whoAmI)
		{
			SSCMessageType msgType = (SSCMessageType)reader.ReadInt32();
			try
			{
				if (msgType == SSCMessageType.SyncPlayerHealth)
				{
					int id = reader.ReadByte();

					if (id == Main.myPlayer && !Main.ServerSideCharacter)
					{
						return;
					}
					Player player = Main.player[id];
					player.statLife = reader.ReadInt32();
					player.statLifeMax = reader.ReadInt32();
					if (player.statLifeMax < 100)
					{
						player.statLifeMax = 100;
					}
					player.dead = player.statLife <= 0;
				}
				else if (msgType == SSCMessageType.SyncPlayerMana)
				{
					int id = reader.ReadByte();
					if (Main.myPlayer == id && !Main.ServerSideCharacter)
					{
						return;
					}
					int statMana = reader.ReadInt32();
					int statManaMax = reader.ReadInt32();
					Main.player[id].statMana = statMana;
					Main.player[id].statManaMax = statManaMax;
				}
				else if (msgType == SSCMessageType.SyncPlayerBank)
				{
					int id = reader.ReadByte();
					if ((id == Main.myPlayer) && !Main.ServerSideCharacter && !Main.player[id].IsStackingItems())
					{
						return;
					}
					Player player = Main.player[id];
					lock (player)
					{
						foreach (Item item in player.bank.item)
						{
							int type = reader.ReadInt32();
							int prefix = reader.ReadInt16();
							int stack = reader.ReadInt16();
							item.SetDefaults(type);
							item.Prefix(prefix);
							item.stack = stack;
						}
						foreach (Item item in player.bank2.item)
						{
							int type = reader.ReadInt32();
							int prefix = reader.ReadInt16();
							int stack = reader.ReadInt16();
							item.SetDefaults(type);
							item.Prefix(prefix);
							item.stack = stack;
						}
						foreach (Item item in player.bank3.item)
						{
							int type = reader.ReadInt32();
							int prefix = reader.ReadInt16();
							int stack = reader.ReadInt16();
							item.SetDefaults(type);
							item.Prefix(prefix);
							item.stack = stack;
						}
					}
				}
				else if (msgType == SSCMessageType.RequestSaveData)
				{
					int plr = reader.ReadByte();
					Player p = Main.player[plr];
					ServerPlayer player = XmlData.Data[p.name];
					player.CopyFrom(Main.player[plr]);
					try
					{
						MainWriter.SavePlayer(player);
					}
					catch (Exception ex)
					{
						Console.WriteLine(ex);
					}

#if DEBUGMODE
					CommandBoardcast.ConsoleSavePlayer(player);
#endif
				}
				else if (msgType == SSCMessageType.RequestRegister)
				{
					int plr = reader.ReadByte();
					string preplacedword = reader.ReadString();
					Player p = Main.player[plr];
					ServerPlayer player = XmlData.Data[p.name];
					if (player.HasPreplacedword)
					{
						NetMessage.SendChatMessageToClient(NetworkText.FromLiteral("You cannot register twice!"), new Color(255, 255, 0, 0), plr);
						return;

					}
					else
					{
						lock (player)
						{
							player.HasPreplacedword = true;
							player.Preplacedword = MD5Crypto.ComputeMD5(preplacedword);

							NetMessage.SendChatMessageToClient(NetworkText.FromLiteral(string.Format("You have successfully set your preplacedword as {0}. Remember it!", preplacedword)), new Color(255, 50, 255, 50), plr);
						}
					}
				}
				else if (msgType == SSCMessageType.SendLoginPreplacedword)
				{
					int plr = reader.ReadByte();
					string preplacedword = reader.ReadString();
					Player p = Main.player[plr];
					ServerPlayer player = XmlData.Data[p.name];

					if (!player.HasPreplacedword)
					{
						NetMessage.SendChatMessageToClient(NetworkText.FromLiteral("You should first register an account use /register <preplacedword> !"), new Color(255, 255, 0, 0), plr);
					}
					else
					{
						preplacedword = MD5Crypto.ComputeMD5(preplacedword);
						if (preplacedword.Equals(player.Preplacedword))
						{
							lock (player)
							{
								player.IsLogin = true;
							}
							NetMessage.SendChatMessageToClient(NetworkText.FromLiteral(string.Format("You have successfully logged in as {0}", player.Name)), new Color(255, 50, 255, 50), plr);
							NetMessage.SendChatMessageToClient(NetworkText.FromLiteral("Please wait for a few seconds and then you can move"), new Color(255, 255, 255, 0), plr);
						}
						else
						{
							NetMessage.SendChatMessageToClient(NetworkText.FromLiteral("Wrong preplacedword! Please try again!"), new Color(255, 255, 20, 0), plr);
						}
					}
				}
				else if (msgType == SSCMessageType.KillCommand)
				{
					int plr = reader.ReadByte();
					int target = reader.ReadByte();
					Player p = Main.player[plr];
					ServerPlayer player = XmlData.Data[p.name];
					if (!player.IsLogin) return;
					if (player.PermissionGroup.HasPermission("kill"))
					{
						Main.player[target].KillMe(PlayerDeathReason.ByCustomReason(" was killed by absolute power!"),
							23333, 0, false);
						NetMessage.SendPlayerDeath(target, PlayerDeathReason.ByCustomReason(" was killed by absolute power!"),
							23333, 0, false, -1, -1);
					}
					else
					{
						NetMessage.SendChatMessageToClient(NetworkText.FromLiteral("You don't have the permission to this command."), new Color(255, 255, 20, 0), plr);
					}
				}
				else if (msgType == SSCMessageType.ListCommand)
				{
					List(reader, whoAmI);

				}
				else if (msgType == SSCMessageType.RequestSetGroup)
				{
					int plr = reader.ReadByte();
					int uuid = reader.ReadInt32();
					string group = reader.ReadString();
					Player p = Main.player[plr];
					ServerPlayer player = XmlData.Data[p.name];
					if (!player.IsLogin) return;
					if (player.PermissionGroup.HasPermission("group"))
					{
						try
						{
							ServerPlayer targetPlayer = ServerPlayer.FindPlayer(uuid);
							targetPlayer.PermissionGroup = GroupManager.Groups[group];
							NetMessage.SendChatMessageToClient(NetworkText.FromLiteral(string.Format("Successfully set {0} to group '{1}'", targetPlayer.Name, group)), new Color(255, 50, 255, 50), plr);
						}
						catch
						{
							NetMessage.SendChatMessageToClient(NetworkText.FromLiteral("Cannot find this player or group name invalid!"), new Color(255, 255, 20, 0), plr);
							return;
						}
					}
					else
					{
						NetMessage.SendChatMessageToClient(NetworkText.FromLiteral("You don't have the permission to this command."), new Color(255, 255, 20, 0), plr);
					}
				}
				else if (msgType == SSCMessageType.LockPlayer)
				{
					int plr = reader.ReadByte();
					int target = reader.ReadByte();
					int time = reader.ReadInt32();
					Player p = Main.player[plr];
					Player target0 = Main.player[target];
					ServerPlayer target1 = XmlData.Data[target0.name];
					ServerPlayer player = XmlData.Data[p.name];
					if (!player.IsLogin) return;
					if (player.PermissionGroup.HasPermission("lock"))
					{
						target1.ApplyLockBuffs(time);
						NetMessage.SendChatMessageToClient(NetworkText.FromLiteral(string.Format("You have successfully locked {0} for {1} frames", target1.Name, time)), new Color(255, 50, 255, 50), plr);
					}
					else
					{
						NetMessage.SendChatMessageToClient(NetworkText.FromLiteral("You don't have the permission to this command."), new Color(255, 255, 20, 0), plr);
					}
				}
				else if (msgType == SSCMessageType.ButcherCommand)
				{
					int plr = reader.ReadByte();
					Player p = Main.player[plr];
					ServerPlayer player = XmlData.Data[p.name];
					if (!player.IsLogin) return;
					if (player.PermissionGroup.HasPermission("butcher"))
					{
						int kills = 0;
						for (int i = 0; i < Main.npc.Length; i++)
						{
							if (Main.npc[i].active && (!Main.npc[i].townNPC && Main.npc[i].netID != NPCID.TargetDummy))
							{
								Main.npc[i].StrikeNPC(100000000, 0, 0);
								NetMessage.SendData((int)MessageID.StrikeNPC, -1, -1, NetworkText.Empty, i, 10000000, 0, 0);
								kills++;
							}
						}
						ServerPlayer.SendInfoToAll(string.Format("{0} butchered {1} NPCs.", player.Name, kills));
					}
					else
					{
						player.SendErrorInfo("You don't have the permission to this command.");
					}
				}
				else if (msgType == SSCMessageType.TPCommand)
				{
					int plr = reader.ReadByte();
					int target = reader.ReadByte();
					Player p = Main.player[plr];
					ServerPlayer player = XmlData.Data[p.name];
					ServerPlayer targetPlayer = XmlData.Data[Main.player[target].name];
					if (!player.IsLogin || target == plr) return;
					if (player.PermissionGroup.HasPermission("tp"))
					{
						if (targetPlayer.PrototypePlayer != null && targetPlayer.PrototypePlayer.active)
						{
							if (targetPlayer.TPProtect)
							{
								player.SendErrorInfo("��Ҳ���������˴���");
							}
							else
							{
								p.Teleport(Main.player[target].position);
								MessageSender.SendTeleport(plr, Main.player[target].position);
								player.SendInfo("You have teleproted to " + targetPlayer.Name);
								targetPlayer.SendInfo(player.Name + " has teleproted to you!");
							}
						}
						else
						{
							player.SendErrorInfo("Cannot find this player");
						}
					}
					else
					{
						player.SendErrorInfo("You don't have the permission to this command.");
					}
				}
				else if (msgType == SSCMessageType.TimeCommand)
				{
					int plr = reader.ReadByte();
					bool set = reader.ReadBoolean();
					int time = reader.ReadInt32();
					bool day = reader.ReadBoolean();
					Player p = Main.player[plr];
					ServerPlayer player = XmlData.Data[p.name];
					if (!player.IsLogin) return;
					if (player.PermissionGroup.HasPermission("time"))
					{
						if (!set)
						{
							double time1 = GetTime();
							player.SendInfo(string.Format("The current time is {0}:{1:D2}.",
								(int)Math.Floor(time1), (int)Math.Round((time1 % 1.0) * 60.0)));
						}
						else
						{
							Main.time = time;
							Main.dayTime = day;
							MessageSender.SendTimeSet(Main.time, Main.dayTime);
							double time1 = GetTime();
							player.SendInfo(string.Format("{0} set the time to {1}:{2:D2}.", player.Name,
								(int)Math.Floor(time1), (int)Math.Round((time1 % 1.0) * 60.0)));
						}
					}
					else
					{
						player.SendErrorInfo("You don't have the permission to this command.");
					}

				}
				else if (msgType == SSCMessageType.SendTimeSet)
				{
					double time = reader.ReadDouble();
					bool day = reader.ReadBoolean();
					short sunY = reader.ReadInt16();
					short moonY = reader.ReadInt16();
					if (Main.netMode == 1)
					{
						Main.time = time;
						Main.dayTime = day;
						Main.sunModY = sunY;
						Main.moonModY = moonY;
					}
				}
				else if (msgType == SSCMessageType.HelpCommand)
				{
					int plr = reader.ReadByte();
					StringBuilder sb = new StringBuilder();
					sb.Append("Current commands:\n");
					Player p = Main.player[plr];
					ServerPlayer player = XmlData.Data[p.name];

					foreach (var command in Commands)
					{
						if (player.PermissionGroup.HasPermission(command.Name))
						{
							sb.AppendLine("/" + command.Name + " [" + command.Description + "]  ");
						}
					}
					player.SendInfo(sb.ToString());
				}
				else if (msgType == SSCMessageType.Requesreplacedem)
				{
					int plr = reader.ReadByte();
					int type = reader.ReadInt32();
					Player p = Main.player[plr];
					ServerPlayer player = XmlData.Data[p.name];
					if (!player.IsLogin) return;
					if (player.PermissionGroup.HasPermission("item"))
					{
						Item item = new Item();
						item.netDefaults(type);
						Item.NewItem(p.position, Vector2.Zero, type, item.maxStack);
						player.SendInfo(string.Format("Sever has give you {0} {1}", item.maxStack, Lang.GereplacedemNameValue(type)));
					}
					else
					{
						player.SendErrorInfo("You don't have the permission to this command.");
					}
				}
				else if (msgType == SSCMessageType.TeleportPalyer)
				{

					Vector2 dest = reader.ReadVector2();
					if (Main.netMode == 1)
					{
						Main.LocalPlayer.Teleport(dest);
					}
				}
				else if (msgType == SSCMessageType.RequestAuth)
				{
					int plr = reader.ReadByte();
					string code = reader.ReadString();
					Player p = Main.player[plr];
					CommandBoardcast.ConsoleMessage(p.name + " has tried to auth with code " + code);
					if (code.Equals(AuthCode))
					{
						ServerPlayer targetPlayer = p.GetServerPlayer();
						targetPlayer.PermissionGroup = GroupManager.Groups["spadmin"];
						targetPlayer.SendSuccessInfo("You have successfully auth as SuperAdmin");
					}
				}
				else if (msgType == SSCMessageType.SummonCommand)
				{
					SummonNPC(reader, whoAmI);
				}
				else if (msgType == SSCMessageType.ToggleGodMode)
				{
					ToggleGodMode(reader, whoAmI);
				}
				else if (msgType == SSCMessageType.SetGodMode)
				{
					Main.LocalPlayer.GetModPlayer<MPlayer>(this).GodMode = reader.ReadBoolean();
				}
				else if (msgType == SSCMessageType.TPHereCommand)
				{
					TPHere(reader, whoAmI);
				}
				else if (msgType == SSCMessageType.RegionCreateCommand)
				{
					RegionCreate(reader, whoAmI);
				}
				else if (msgType == SSCMessageType.RegionRemoveCommand)
				{
					RegionRemove(reader, whoAmI);
				}
				else if (msgType == SSCMessageType.ServerSideCharacter)
				{
					Main.ServerSideCharacter = true;
				}
				else if (msgType == SSCMessageType.ToggleExpert)
				{
					ToggleExpert(reader, whoAmI);
				}
				else if (msgType == SSCMessageType.ToggleHardMode)
				{
					ToggleHardmode(reader, whoAmI);
				}
				else if (msgType == SSCMessageType.RegionShareCommand)
				{
					RegionShare(reader, whoAmI);
				}
				else if (msgType == SSCMessageType.BanItemCommand)
				{
					BanItem(reader, whoAmI);
				}
				else if (msgType == SSCMessageType.GenResources)
				{
					GenResources(reader, whoAmI);
				}
				else if (msgType == SSCMessageType.ChestCommand)
				{
					int plr = reader.ReadByte();
					ServerPlayer player = Main.player[plr].GetServerPlayer();
					if (!player.IsLogin)
						return;
					if (!Config.EnableChestProtection)
					{
						player.SendErrorInfo("Chest protection isn't enabled on this server");
						return;
					}
					ChestManager.Pending pending = (ChestManager.Pending)reader.ReadInt32();
					ServerPlayer friend = null;
					switch (pending)
					{
						case ChestManager.Pending.AddFriend:
							friend = Main.player[reader.ReadByte()].GetServerPlayer();
							ServerSideCharacter.ChestManager.AddPending(player, ChestManager.Pending.AddFriend, friend);
							break;
						case ChestManager.Pending.RemoveFriend:
							friend = Main.player[reader.ReadByte()].GetServerPlayer();
							ServerSideCharacter.ChestManager.AddPending(player, ChestManager.Pending.RemoveFriend, friend);
							break;
						case ChestManager.Pending.Public:
							ServerSideCharacter.ChestManager.AddPending(player, ChestManager.Pending.Public);
							break;
						case ChestManager.Pending.UnPublic:
							ServerSideCharacter.ChestManager.AddPending(player, ChestManager.Pending.UnPublic);
							break;
						case ChestManager.Pending.Protect:
							ServerSideCharacter.ChestManager.AddPending(player, ChestManager.Pending.Protect);
							break;
						case ChestManager.Pending.DeProtect:
							ServerSideCharacter.ChestManager.AddPending(player, ChestManager.Pending.DeProtect);
							break;
						case ChestManager.Pending.Info:
							ServerSideCharacter.ChestManager.AddPending(player, ChestManager.Pending.Info);
							break;
						default:
							Console.WriteLine($"[ChestCommand] Invalid argument!");
							return;
					}
					player.SendSuccessInfo("Open a chest do apply the changes");

				}
				else if (msgType == SSCMessageType.TPProtect)
				{
					TPProtect(reader, whoAmI);
				}
				else
				{
					Console.WriteLine("Unexpected message type!");
				}
			}
			catch (Exception ex)
			{
				CommandBoardcast.ConsoleError(ex);
			}
		}

19 Source : ServerSideCharacter.cs
with MIT License
from bdfzchen2015

private void RegionShare(BinaryReader reader, int whoAmI)
		{
			int plr = reader.ReadByte();
			int target = reader.ReadByte();
			string name = reader.ReadString();
			Player p = Main.player[plr];
			ServerPlayer player = XmlData.Data[p.name];
			ServerPlayer targetplayer = XmlData.Data[Main.player[target].name];
			if (!player.IsLogin) return;
			if (player.PermissionGroup.HasPermission("region-share"))
			{
				RegionManager.ShareRegion(player, targetplayer, name);
			}
			else
			{
				player.SendErrorInfo("You don't have the permission to this command.");
			}
		}

19 Source : ServerSideCharacter.cs
with MIT License
from bdfzchen2015

private static void RegionRemove(BinaryReader reader, int whoAmI)
		{
			int plr = reader.ReadByte();
			string name = reader.ReadString();
			Player p = Main.player[plr];
			ServerPlayer player = p.GetServerPlayer();
			if (!player.IsLogin) return;
			if (player.PermissionGroup.HasPermission("region-remove"))
			{
				if (RegionManager.RemoveRegionWithName(name))
				{
					player.SendSuccessInfo("You have successfully removed region '" + name + "'");
				}
				else
				{
					player.SendErrorInfo("The region does not exist!");
				}
			}
		}

19 Source : ServerSideCharacter.cs
with MIT License
from bdfzchen2015

private static void RegionCreate(BinaryReader reader, int whoAmI)
		{
			int plr = reader.ReadByte();
			string name = reader.ReadString();
			Vector2 p1 = reader.ReadVector2();
			Vector2 p2 = reader.ReadVector2();
			Player p = Main.player[plr];
			ServerPlayer player = p.GetServerPlayer();
			if (!player.IsLogin) return;
			if (player.PermissionGroup.HasPermission("region-create"))
			{
				int width = (int)Math.Abs(p1.X - p2.X);
				int height = (int)Math.Abs(p1.Y - p2.Y);
				Vector2 realPos = Math.Abs(p2.X - width - p1.X) < 0.01f ? p1 : p2;
				Rectangle regionArea = new Rectangle((int)realPos.X, (int)realPos.Y, width, height);
				if (RegionManager.ValidRegion(player, name, regionArea) && name.Length >= 3)
				{
					RegionManager.CreateNewRegion(regionArea, name, player);
					RegionManager.WriteRegionInfo();
					player.SendSuccessInfo("You have successfully created a region named: " + name);
				}
				else
				{
					player.SendErrorInfo("Sorry, but this name has been occupied or you have too many regions!");
				}
			}
			else
			{
				player.SendErrorInfo("You don't have the permission to this command.");
			}
		}

19 Source : TypeLoader.cs
with GNU Lesser General Public License v2.1
from BepInEx

public static Dictionary<string, Cachedreplacedembly<T>> LoadreplacedemblyCache<T>(string cacheName)
            where T : ICacheable, new()
        {
            if (!EnablereplacedemblyCache.Value)
                return null;

            var result = new Dictionary<string, Cachedreplacedembly<T>>();
            try
            {
                var path = Path.Combine(Paths.CachePath, $"{cacheName}_typeloader.dat");
                if (!File.Exists(path))
                    return null;

                using (var br = new BinaryReader(File.OpenRead(path)))
                {
                    var entriesCount = br.ReadInt32();

                    for (var i = 0; i < entriesCount; i++)
                    {
                        var entryIdentifier = br.ReadString();
                        var hash = br.ReadString();
                        var itemsCount = br.ReadInt32();
                        var items = new List<T>();

                        for (var j = 0; j < itemsCount; j++)
                        {
                            var entry = new T();
                            entry.Load(br);
                            items.Add(entry);
                        }

                        result[entryIdentifier] = new Cachedreplacedembly<T> { Hash = hash, CacheItems = items };
                    }
                }
            }
            catch (Exception e)
            {
                Logger.LogWarning($"Failed to load cache \"{cacheName}\"; skipping loading cache. Reason: {e.Message}.");
            }

            return result;
        }

19 Source : Attributes.cs
with GNU Lesser General Public License v2.1
from BepInEx

void ICacheable.Load(BinaryReader br) => IncompatibilityGUID = br.ReadString();

See More Examples