Readd missing import files
This commit is contained in:
@@ -0,0 +1,168 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using Wing.Gizmos;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class Sample : MonoBehaviour
|
||||
{
|
||||
public GameObject Target;
|
||||
private GameObject mCurrentGizmos;
|
||||
|
||||
public Dropdown GizmosTypes;
|
||||
public Toggle SpanToggle;
|
||||
public InputField Precision;
|
||||
public GameObject SnapPanel;
|
||||
|
||||
private EGizmosType mGizmosType = EGizmosType.Move;
|
||||
private bool mMoveInitialed = false;
|
||||
private bool mScaleInitialed = false;
|
||||
private bool mRotateInitialed = false;
|
||||
|
||||
// Use this for initialization
|
||||
void Start()
|
||||
{
|
||||
onTypeChanged((int)mGizmosType);
|
||||
onSnapEnableChanged(false);
|
||||
|
||||
GizmosTypes.onValueChanged.AddListener(onTypeChanged);
|
||||
SpanToggle.onValueChanged.AddListener(onSnapEnableChanged);
|
||||
Precision.onValueChanged.AddListener(onPrecisionChanged);
|
||||
}
|
||||
|
||||
private void onTypeChanged(int id)
|
||||
{
|
||||
mGizmosType = (EGizmosType)id;
|
||||
SetGizmos(mGizmosType);
|
||||
|
||||
switch (mGizmosType)
|
||||
{
|
||||
case EGizmosType.Move:
|
||||
Precision.text = SnapFactory.Instance.Get(ESnapType.Move).Precision.ToString();
|
||||
break;
|
||||
case EGizmosType.Scale:
|
||||
Precision.text = SnapFactory.Instance.Get(ESnapType.Scale).Precision.ToString();
|
||||
break;
|
||||
case EGizmosType.Rotate:
|
||||
Precision.text = SnapFactory.Instance.Get(ESnapType.Rotate).Precision.ToString();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void onPrecisionChanged(string value)
|
||||
{
|
||||
float result = 0;
|
||||
if (float.TryParse(value, out result))
|
||||
{
|
||||
switch (mGizmosType)
|
||||
{
|
||||
case EGizmosType.Move:
|
||||
SnapFactory.Instance.Get(ESnapType.Move).Precision = result;
|
||||
break;
|
||||
case EGizmosType.Scale:
|
||||
SnapFactory.Instance.Get(ESnapType.Scale).Precision = result;
|
||||
break;
|
||||
case EGizmosType.Rotate:
|
||||
SnapFactory.Instance.Get(ESnapType.Rotate).Precision = result;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void onSnapEnableChanged(bool value)
|
||||
{
|
||||
SnapFactory.Instance.Get(ESnapType.Move).Enable = value;
|
||||
SnapFactory.Instance.Get(ESnapType.Scale).Enable = value;
|
||||
SnapFactory.Instance.Get(ESnapType.Rotate).Enable = value;
|
||||
|
||||
SnapPanel.SetActive(value);
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
#region Gizmos
|
||||
|
||||
private void SetGizmos(EGizmosType gtype)
|
||||
{
|
||||
if (mCurrentGizmos != null)
|
||||
{
|
||||
mCurrentGizmos.SetActive(false);
|
||||
}
|
||||
|
||||
switch (gtype)
|
||||
{
|
||||
case EGizmosType.Move:
|
||||
mCurrentGizmos = SetMove();
|
||||
break;
|
||||
case EGizmosType.Scale:
|
||||
mCurrentGizmos = SetScale();
|
||||
break;
|
||||
case EGizmosType.Rotate:
|
||||
mCurrentGizmos = SetRotate();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (mCurrentGizmos != null)
|
||||
{
|
||||
mCurrentGizmos.transform.position = Target.transform.position;
|
||||
mCurrentGizmos.transform.localRotation = Target.transform.localRotation;
|
||||
mCurrentGizmos.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
private GameObject SetMove()
|
||||
{
|
||||
var move = GizmosManager.Instance.GetSingleMove();
|
||||
if (!mMoveInitialed)
|
||||
{
|
||||
move.OnMove += (dx, dy, dz) =>
|
||||
{
|
||||
Target.transform.Translate(dx, dy, dz);
|
||||
};
|
||||
mMoveInitialed = true;
|
||||
}
|
||||
|
||||
return move.gameObject;
|
||||
}
|
||||
|
||||
private GameObject SetScale()
|
||||
{
|
||||
var scale = GizmosManager.Instance.GetSingleScale();
|
||||
if (!mScaleInitialed)
|
||||
{
|
||||
scale.OnScale += (dx, dy, dz) =>
|
||||
{
|
||||
Target.transform.localScale += new Vector3(dx, dy, dz);
|
||||
};
|
||||
mScaleInitialed = true;
|
||||
}
|
||||
|
||||
return scale.gameObject;
|
||||
}
|
||||
|
||||
private GameObject SetRotate()
|
||||
{
|
||||
var rotate = GizmosManager.Instance.GetSingleRotate();
|
||||
rotate.EnableFreeRotate = true;
|
||||
if (!mRotateInitialed)
|
||||
{
|
||||
rotate.OnRotate += (dx, dy, dz) =>
|
||||
{
|
||||
Target.transform.Rotate(new Vector3(dx, dy, dz));
|
||||
};
|
||||
mRotateInitialed = true;
|
||||
}
|
||||
return rotate.gameObject;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
Reference in New Issue
Block a user