Add more property data definitions
This commit is contained in:
parent
c61cd5cd47
commit
691220b5c8
|
@ -141,3 +141,150 @@ public class PropRenderType : Property
|
|||
mode = (Mode)reader.ReadUInt32();
|
||||
}
|
||||
}
|
||||
|
||||
public class PropSlayResult : Property
|
||||
{
|
||||
public enum Effect
|
||||
{
|
||||
Normal, NoEffect, Terminate, Destroy,
|
||||
}
|
||||
|
||||
public Effect effect;
|
||||
|
||||
public override void Read(BinaryReader reader)
|
||||
{
|
||||
base.Read(reader);
|
||||
effect = (Effect)reader.ReadUInt32();
|
||||
}
|
||||
}
|
||||
|
||||
public class PropInventoryType : Property
|
||||
{
|
||||
public enum Slot
|
||||
{
|
||||
Junk, Item, Weapon,
|
||||
}
|
||||
|
||||
public Slot type;
|
||||
|
||||
public override void Read(BinaryReader reader)
|
||||
{
|
||||
base.Read(reader);
|
||||
type = (Slot)reader.ReadUInt32();
|
||||
}
|
||||
}
|
||||
|
||||
public class PropCollisionType : Property
|
||||
{
|
||||
public bool Bounce;
|
||||
public bool DestroyOnImpact;
|
||||
public bool SlayOnImpact;
|
||||
public bool NoCollisionSound;
|
||||
public bool NoResult;
|
||||
public bool FullCollisionSound;
|
||||
|
||||
public override void Read(BinaryReader reader)
|
||||
{
|
||||
base.Read(reader);
|
||||
var flags = reader.ReadUInt32();
|
||||
Bounce = (flags & 0x1) != 0;
|
||||
DestroyOnImpact = (flags & (0x1 << 1)) != 0;
|
||||
SlayOnImpact = (flags & (0x1 << 2)) != 0;
|
||||
NoCollisionSound = (flags & (0x1 << 3)) != 0;
|
||||
NoResult = (flags & (0x1 << 4)) != 0;
|
||||
FullCollisionSound = (flags & (0x1 << 5)) != 0;
|
||||
}
|
||||
}
|
||||
|
||||
public class PropPosition : Property
|
||||
{
|
||||
public Vector3 Location;
|
||||
public Vector3 Rotation;
|
||||
|
||||
public override void Read(BinaryReader reader)
|
||||
{
|
||||
base.Read(reader);
|
||||
Location = reader.ReadVec3();
|
||||
reader.ReadBytes(4); // Runtime Cell/Hint in editor
|
||||
Rotation = reader.ReadRotation();
|
||||
}
|
||||
}
|
||||
|
||||
public class PropLight : Property
|
||||
{
|
||||
public float Brightness;
|
||||
public Vector3 Offset;
|
||||
public float Radius;
|
||||
public float InnerRadius;
|
||||
public bool QuadLit;
|
||||
|
||||
public override void Read(BinaryReader reader)
|
||||
{
|
||||
base.Read(reader);
|
||||
Brightness = reader.ReadSingle();
|
||||
Offset = reader.ReadVec3();
|
||||
Radius = reader.ReadSingle();
|
||||
QuadLit = reader.ReadBoolean();
|
||||
reader.ReadBytes(3);
|
||||
InnerRadius = reader.ReadSingle();
|
||||
}
|
||||
}
|
||||
|
||||
public class PropLightColor : Property
|
||||
{
|
||||
public float Hue;
|
||||
public float Saturation;
|
||||
|
||||
public override void Read(BinaryReader reader)
|
||||
{
|
||||
base.Read(reader);
|
||||
Hue = reader.ReadSingle();
|
||||
Saturation = reader.ReadSingle();
|
||||
}
|
||||
}
|
||||
|
||||
public class PropSpotlight : Property
|
||||
{
|
||||
public float InnerAngle;
|
||||
public float OuterAngle;
|
||||
|
||||
public override void Read(BinaryReader reader)
|
||||
{
|
||||
base.Read(reader);
|
||||
InnerAngle = reader.ReadSingle();
|
||||
OuterAngle = reader.ReadSingle();
|
||||
reader.ReadBytes(4); // Z is unused
|
||||
}
|
||||
}
|
||||
|
||||
public class PropSpotlightAndAmbient : Property
|
||||
{
|
||||
public float InnerAngle;
|
||||
public float OuterAngle;
|
||||
public float SpotBrightness;
|
||||
|
||||
public override void Read(BinaryReader reader)
|
||||
{
|
||||
base.Read(reader);
|
||||
InnerAngle = reader.ReadSingle();
|
||||
OuterAngle = reader.ReadSingle();
|
||||
SpotBrightness = reader.ReadSingle();
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Work out what this property actually does
|
||||
public class PropLightBasedAlpha : Property
|
||||
{
|
||||
public bool Enabled;
|
||||
public Vector2 AlphaRange;
|
||||
public Vector2 LightRange;
|
||||
|
||||
public override void Read(BinaryReader reader)
|
||||
{
|
||||
base.Read(reader);
|
||||
Enabled = reader.ReadBoolean();
|
||||
reader.ReadBytes(3);
|
||||
AlphaRange = reader.ReadVec2();
|
||||
LightRange = new Vector2(reader.ReadInt32(), reader.ReadInt32());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue