示例#1
0
        internal HolofunkState(
            Clock clock,
            HolofunkSceneGraph sceneGraph, 
            HolofunkBass bass, 
            HolofunKinect kinect,
            float initialBPM)
        {
            m_clock = clock;
            m_sceneGraph = sceneGraph;
            m_bass = bass;
            m_kinect = kinect;

            m_requestedBPM = initialBPM;

            m_player0 = new PlayerModel(0, HolofunkBassAsio.AsioInputChannelId0, this);
            m_player1 = new PlayerModel(1, HolofunkBassAsio.AsioInputChannelId1, this);
        }
 public PlayerHandModel(PlayerModel parent, bool isRight)
 {
     m_parent = parent;
     m_isRightHand = isRight;
     m_stateMachine = new HolofunkMachine(new LoopieEvent(), LoopieStateMachine.Instance, this);
 }
        /// <summary>Update the scene's background based on the current beat, and the positions of
        /// the two hands based on the latest data polled from Kinect.</summary>
        /// <remarks>We pass in the current value of "now" to ensure consistent
        /// timing between the PlayerState update and the scene graph udpate.</remarks>
        internal void Update(
            PlayerModel playerState,
            HolofunKinect kinect,
            Moment now)
        {
            m_headGroup.LocalTransform = new Transform(
                kinect.GetJointViewportPosition(PlayerIndex, JointType.Head) + MagicNumbers.ScreenHandAdjustment,
                new Vector2(1f));

            m_headMikeSignal.Update(now, false, playerState.PlayerColor);

            m_leftHandSceneGraph.Update(playerState.LeftHandModel, kinect, now);
            m_rightHandSceneGraph.Update(playerState.RightHandModel, kinect, now);
        }
 internal void Update(
     PlayerModel playerState,
     HolofunKinect kinect,
     Moment now)
 {
 }