public override void SetRegion(MSB2.Region bregion) { var region = (MSB2.Region.SFX)bregion; setBaseRegion(region); EffectID = region.EffectID; UnkT04 = region.UnkT04; }
public override void SetRegion(MSB2.Region bregion) { var region = (MSB2.Region.Fog)bregion; setBaseRegion(region); UnkT00 = region.UnkT00; UnkT04 = region.UnkT04; }
public override void SetRegion(MSB2.Region bregion) { var region = (MSB2.Region.EnvLight)bregion; UnkT00 = region.UnkT00; UnkT04 = region.UnkT04; UnkT08 = region.UnkT08; setBaseRegion(region); }
public override void SetRegion(MSB2.Region bregion) { var region = (MSB2.Region.Sound)bregion; setBaseRegion(region); UnkT00 = region.UnkT00; SoundID = region.SoundID; UnkT08 = region.UnkT08; }
public override void SetRegion(MSB2.Region bregion) { var region = (MSB2.Region.Light)bregion; setBaseRegion(region); UnkT00 = region.UnkT00; ColorT04 = new Color32(region.ColorT04.R, region.ColorT04.G, region.ColorT04.B, region.ColorT04.A); ColorT08 = new Color32(region.ColorT08.R, region.ColorT08.G, region.ColorT08.B, region.ColorT08.A); UnkT0C = region.UnkT0C; }
//public UnityEngine.Vector3 Rotation; public void setBaseRegion(MSB2.Region region) { Unk08 = region.Unk08; Unk0E = region.Unk0E; if (region.Shape is MSB2.Shape.Point || region.Shape is MSB2.Shape.Circle) { IsPointOrCircle = true; } //Rotation = new UnityEngine.Vector3(region.Rotation.X, region.Rotation.Y, region.Rotation.Z); }
public override void SetRegion(MSB2.Region bregion) { var region = (MSB2.Region.Wind)bregion; setBaseRegion(region); UnkT00 = region.UnkT00; UnkT04 = region.UnkT04; UnkT08 = region.UnkT08; UnkT0C = region.UnkT0C; UnkT10 = region.UnkT10; UnkT14 = region.UnkT14; UnkT18 = region.UnkT18; }
public override void SetRegion(MSB2.Region region) { setBaseRegion(region); }
internal void _Serialize(MSB2.Region region, GameObject parent) { region.Name = parent.name; var pos = new System.Numerics.Vector3(); pos.X = parent.transform.position.x; pos.Y = parent.transform.position.y; pos.Z = parent.transform.position.z; region.Position = pos; //var rot = ConvertEuler(parent.transform.rotation.eulerAngles); region.Rotation = EulerUtils.quaternion2EulerDeg(parent.transform.rotation.normalized, EulerUtils.RotSeq.yzx); /*if (Mathf.Abs(Rotation.x - region.Rotation.X) > 0.01f || * Mathf.Abs(Rotation.y - region.Rotation.Y) > 0.01f || * Mathf.Abs(Rotation.z - region.Rotation.Z) > 0.01f) * { * Debug.Log($@"{region.Name}: {Rotation}, {parent.transform.eulerAngles} -> {region.Rotation} Q: {parent.transform.rotation.normalized}"); * }*/ region.Unk08 = Unk08; region.Unk0E = Unk0E; if (parent.GetComponent <SphereCollider>() != null && IsPointOrCircle) { region.Shape = new MSB2.Shape.Point(); } else if (parent.GetComponent <CapsuleCollider>() != null && IsPointOrCircle) { var shape = new MSB2.Shape.Circle(); var col = parent.GetComponent <CapsuleCollider>(); shape.Radius = col.radius; region.Shape = shape; } else if (parent.GetComponent <BoxCollider>() != null) { var shape = new MSB2.Shape.Box(); var col = parent.GetComponent <BoxCollider>(); shape.Width = col.size.x; shape.Height = col.size.y; shape.Depth = col.size.z; region.Shape = shape; } else if (parent.GetComponent <CapsuleCollider>() != null) { var shape = new MSB2.Shape.Cylinder(); var col = parent.GetComponent <CapsuleCollider>(); shape.Radius = col.radius; shape.Height = col.height; region.Shape = shape; } else if (parent.GetComponent <SphereCollider>() != null) { var shape = new MSB2.Shape.Sphere(); var col = parent.GetComponent <SphereCollider>(); shape.Radius = col.radius; region.Shape = shape; } else { throw new Exception($@"Region {parent.name} has no shape. Attach a spherical, box, or capsule collider."); } }
public abstract void SetRegion(MSB2.Region region);