Example #1
0
    public override void SetRegion(MSB2.Region bregion)
    {
        var region = (MSB2.Region.SFX)bregion;

        setBaseRegion(region);
        EffectID = region.EffectID;
        UnkT04   = region.UnkT04;
    }
Example #2
0
    public override void SetRegion(MSB2.Region bregion)
    {
        var region = (MSB2.Region.Fog)bregion;

        setBaseRegion(region);
        UnkT00 = region.UnkT00;
        UnkT04 = region.UnkT04;
    }
Example #3
0
    public override void SetRegion(MSB2.Region bregion)
    {
        var region = (MSB2.Region.EnvLight)bregion;

        UnkT00 = region.UnkT00;
        UnkT04 = region.UnkT04;
        UnkT08 = region.UnkT08;
        setBaseRegion(region);
    }
Example #4
0
    public override void SetRegion(MSB2.Region bregion)
    {
        var region = (MSB2.Region.Sound)bregion;

        setBaseRegion(region);
        UnkT00  = region.UnkT00;
        SoundID = region.SoundID;
        UnkT08  = region.UnkT08;
    }
Example #5
0
    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;
    }
Example #6
0
    //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);
    }
Example #7
0
    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;
    }
Example #8
0
 public override void SetRegion(MSB2.Region region)
 {
     setBaseRegion(region);
 }
Example #9
0
    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.");
        }
    }
Example #10
0
 public abstract void SetRegion(MSB2.Region region);