public override ObjectModel Disassemble(Transform source, DisassemblyContext context) { Vector3Assembler assembler = new Vector3Assembler(); return(new ObjectModel( new ObjectField("Position", assembler.DisassembleValue(source.localPosition, context)), new ObjectField("Rotation", assembler.DisassembleValue(source.localRotation.eulerAngles, context)), new ObjectField("Scale", assembler.DisassembleValue(source.localScale, context)) )); }
public override void Assemble(ObjectModel model, Transform target, AssemblyContext context) { Vector3Assembler assembler = new Vector3Assembler(); Vector3 position = assembler.AssembleValue(model.GetObject("Position"), context); Vector3 rotation = assembler.AssembleValue(model.GetObject("Rotation"), context); Vector3 scale = assembler.AssembleValue(model.GetObject("Scale"), context); target.localPosition = position; target.localRotation = Quaternion.Euler(rotation); target.localScale = scale; }