public class SetupAnchors : MonoBehaviour {
public UIWidget myWidget;
public string leftAnchorTarget;
public string rightAnchorTarget;
public string topAnchorTarget;
public string bottomAnchorTarget;
public int leftAnchorValue;
public int rightAnchorValue;
public int topAnchorValue;
public int bottomAnchorValue;
public float leftAnchorRelativeValue;
public float rightAnchorRelativeValue;
public float topAnchorRelativeValue;
public float bottomAnchorRelativeValue;
public int width;
public int height;
public Vector3 localPos;
void Awake()
{
}
void Start()
{
SetupAnchorsForWidget();
}
public void SetupAnchorsForWidget()
{
transform.localPosition = localPos;
myWidget.width = width;
myWidget.height = height;
GameObject leftAnchorTargetObj = GameObject.Find(leftAnchorTarget);
if( leftAnchorTargetObj != null )
{
myWidget.leftAnchor.target = leftAnchorTargetObj.transform;
myWidget.leftAnchor.absolute = leftAnchorValue;
myWidget.leftAnchor.relative = leftAnchorRelativeValue;
}
GameObject rightAnchorTargetObj = GameObject.Find(rightAnchorTarget);
if( rightAnchorTargetObj != null )
{
myWidget.rightAnchor.target = rightAnchorTargetObj.transform;
myWidget.rightAnchor.absolute = rightAnchorValue;
myWidget.rightAnchor.relative = rightAnchorRelativeValue;
}
GameObject topAnchorTargetObj = GameObject.Find(topAnchorTarget);
if( topAnchorTargetObj != null )
{
myWidget.topAnchor.target = topAnchorTargetObj.transform;
myWidget.topAnchor.absolute = topAnchorValue;
myWidget.topAnchor.relative = topAnchorRelativeValue;
}
GameObject bottomAnchorTargetObj = GameObject.Find(bottomAnchorTarget);
if( bottomAnchorTargetObj != null )
{
myWidget.bottomAnchor.target = bottomAnchorTargetObj.transform;
myWidget.bottomAnchor.absolute = bottomAnchorValue;
myWidget.bottomAnchor.relative = bottomAnchorRelativeValue;
}
myWidget.ResetAnchors();
myWidget.UpdateAnchors();
}
public void RecordAnchors()
{
localPos = transform.localPosition;
if( myWidget == null )
{
myWidget = transform.GetComponent<UIWidget>();
if( myWidget == null )
{
Debug.Log("Error. You need a widget on this object.");
}
}
if( myWidget.leftAnchor.target != null )
{
leftAnchorTarget = myWidget.leftAnchor.target.gameObject.name;
leftAnchorValue = myWidget.leftAnchor.absolute;
leftAnchorRelativeValue = myWidget.leftAnchor.relative;
}
if( myWidget.rightAnchor.target != null )
{
rightAnchorTarget = myWidget.rightAnchor.target.gameObject.name;
rightAnchorValue = myWidget.rightAnchor.absolute;
rightAnchorRelativeValue = myWidget.rightAnchor.relative;
}
if( myWidget.topAnchor.target != null )
{
topAnchorTarget = myWidget.topAnchor.target.gameObject.name;
topAnchorValue = myWidget.topAnchor.absolute;
topAnchorRelativeValue = myWidget.topAnchor.relative;
}
if( myWidget.bottomAnchor.target != null )
{
bottomAnchorTarget = myWidget.bottomAnchor.target.gameObject.name;
bottomAnchorValue = myWidget.bottomAnchor.absolute;
bottomAnchorRelativeValue = myWidget.bottomAnchor.relative;
}
width = myWidget.width;
height = myWidget.height;
Debug.Log("Anchors have been recorded.");
}
// Update is called once per frame
void Update () {
}
}