void Update()
{
KinectManager.Status status = _KinectManager.Update();
_State.updates2++;
switch (status)
{
case KinectManager.Status.ZeroBody:
//Debug.Log("ZeroBody?");
_State.handsEnabled = false;
_State.updates++;
return;
case KinectManager.Status.MultiBody:
case KinectManager.Status.OneBody:
break;
}
_State.updates++;
bool leftStatus, rightStatus;
Kinect.CameraSpacePoint leftTip, rightTip;
_StickRecognizer.FindTip(_KinectManager, out leftTip, out rightTip, out leftStatus, out rightStatus);
if (leftStatus && rightStatus)
{
counter--;
if (counter > 0)
{
return;
}
switch (_State.MainStatus)
{
case State.Status.Initial:
Motion.onStartPlaying(_KinectManager);
_DisplayManager.CreateHands();
_State.MainStatus = State.Status.Menu;
_DisplayManager.ChangeDrum(_State.MainStatus, _KinectManager.JointData[Kinect.JointType.Neck].Position);
break;
default:
break;
}
// 플레이어는 항상 display 돼야 함
_DisplayManager.DisplayPlayer(_KinectManager, leftTip, rightTip);
Motion.Update(_KinectManager, leftTip, rightTip);
_State.handsEnabled = true;
}
else
{
_State.handsEnabled = false;
}
}