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
19
Source : Script.cs
with GNU General Public License v3.0
from arycama
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
with GNU Lesser General Public License v2.1
from BepInEx
void ICacheable.Load(BinaryReader br) => IncompatibilityGUID = br.ReadString();
See More Examples