private DraggedObject CreateDraggedObject(GameObject attachpoint) { var part = attachpoint.transform.parent.gameObject; var bpi = part.GetComponent <BodypartInfo>(); List <DraggedSubObject> dsos = new List <DraggedSubObject>(); Vector2 mp = Camera.main.ScreenToWorldPoint(Input.mousePosition); foreach (var metapart in bpi.MetaBody) { var mbpi = metapart.GetComponent <BodypartInfo>(); Vector2 pp = metapart.transform.position; DraggedSubObject dso = new DraggedSubObject() { Obj = metapart, PosDiff = pp - mp }; dsos.Add(dso); } return(new DraggedObject() { Items = dsos, AttachPoint = attachpoint }); }
private void AddAllDraggedParts(List <DraggedSubObject> dsos, GameObject obj) { var bpi = obj.GetComponent <BodypartInfo>(); Vector2 mp = Camera.main.ScreenToWorldPoint(Input.mousePosition); foreach (var part in bpi.MetaBody) { Vector2 pp = part.transform.position; DraggedSubObject dso = new DraggedSubObject() { Obj = part, PosDiff = pp - mp }; dsos.Add(dso); } }