/* public static void Read(ref Weapon weapon, ref BinaryReader reader) * { * PhysicalObjectHandler.Read(weapon, ref reader); * weapon.changeDirCounter = reader.ReadInt32(); * weapon.closestCritDist = reader.ReadSingle(); * weapon.exitThrownModeSpeed = reader.ReadSingle(); * weapon.firstFrameTraceFromPos = Vector2NHandler.Read(ref reader); * //Weapon.Mode lastMode = (Weapon.Mode)reader.ReadInt32(); * Weapon.Mode mode = (Weapon.Mode)reader.ReadInt32(); * if (mode != weapon.mode) * { * //weapon.ChangeOverlap(true); * weapon.ChangeMode(mode); * } * if (mode == Weapon.Mode.Thrown && weapon.grabbedBy.Count > 0) * { * weapon.AllGraspsLetGoOfThisObject(false); * } * //weapon.lastMode = lastMode; * weapon.mode = mode; * weapon.rotation = Vector2Handler.Read(ref reader); * weapon.rotationSpeed = reader.ReadSingle(); * weapon.throwModeFrames = reader.ReadInt32(); * weapon.thrownBy = DistHandler.ReadCreature(ref weapon.thrownBy, ref reader, weapon.room); * weapon.thrownClosestToCreature = DistHandler.ReadCreature(ref weapon.thrownClosestToCreature, ref reader, weapon.room); * weapon.thrownPos = Vector2Handler.Read(ref reader); * } */ public static void Read(Weapon weapon, ref BinaryReader reader) { PhysicalObjectHandler.Read(weapon, ref reader); weapon.changeDirCounter = reader.ReadInt32(); weapon.closestCritDist = reader.ReadSingle(); weapon.exitThrownModeSpeed = reader.ReadSingle(); weapon.firstFrameTraceFromPos = Vector2NHandler.Read(ref reader); //Weapon.Mode lastMode = (Weapon.Mode)reader.ReadInt32(); Weapon.Mode mode = (Weapon.Mode)reader.ReadInt32(); if (mode != weapon.mode) { //weapon.ChangeOverlap(true); weapon.ChangeMode(mode); } if (mode == Weapon.Mode.Thrown && weapon.grabbedBy.Count > 0) { weapon.AllGraspsLetGoOfThisObject(false); } //weapon.lastMode = lastMode; weapon.mode = mode; weapon.rotation = Vector2Handler.Read(ref reader); weapon.rotationSpeed = reader.ReadSingle(); weapon.throwModeFrames = reader.ReadInt32(); weapon.thrownBy = DistHandler.ReadCreature(ref weapon.thrownBy, ref reader, weapon.room); weapon.thrownClosestToCreature = DistHandler.ReadCreature(ref weapon.thrownClosestToCreature, ref reader, weapon.room); weapon.thrownPos = Vector2Handler.Read(ref reader); // return weapon; }
public static Spear Read(Spear spear, ref BinaryReader reader) { spear.stuckInWall = Vector2NHandler.Read(ref reader); WeaponHandler.Read(spear, ref reader); spear.alwaysStickInWalls = reader.ReadBoolean(); spear.pinToWallCounter = reader.ReadInt32(); spear.spearDamageBonus = reader.ReadSingle(); spear.stuckInObject = DistHandler.ReadPhysicalObject(ref spear.stuckInObject, ref reader, spear.room); spear.stuckInWall = Vector2NHandler.Read(ref reader); spear.stuckRotation = reader.ReadSingle(); return(spear); }