Exemple #1
0
 //
 public void Update(PlayBandData data, float currentForce, Vector2 forceDirection, float forceAngel)
 {
     this.data.Update(data);
     force = currentForce;
     direction.Set(forceDirection.x, forceDirection.y);
     angel = forceAngel;
 }
 public void Update(PlayBandData data)
 {
     Rotation.Set(data.Rotation.x, data.Rotation.y, data.Rotation.z, data.Rotation.w);
     EulerAngles.Set(data.EulerAngles.x, data.EulerAngles.y, data.EulerAngles.z);
     Acceleration.Set(data.Acceleration.x, data.Acceleration.y, data.Acceleration.z);
     FixedAcceleration.Set(data.FixedAcceleration.x, data.FixedAcceleration.y, data.FixedAcceleration.z);
 }
Exemple #3
0
 //--------------------------------------------------------------------
 private void DecideWayTriggerZ(PlayBandData data, float currentForce, Vector2 forceDirection)
 {
     if (currentForce >= triggerForce)
     {
         triggerLockOffZ = false;
         OnZWayTriggerEvent(DecideZWay(forceDirection), data);
         Invoke("UnlockWayTriggerZ", triggerLockTime);
     }
 }
Exemple #4
0
    // 4way
    void DisplayWay(PlayBandDirection dir, PlayBandData data)
    {
        int ptr = (int)dir;

        if (OpenCheck)
        {
            if (Time.time < nextTime)
            {
                switch (ptr)
                {
                case 1:
                    ShakeWay = 1;
                    break;

                case 2:
                    ShakeWay = 2;
                    break;

                case 3:
                    ShakeWay = 3;
                    break;

                case 4:
                    ShakeWay = 4;
                    break;

                case 5:
                    ShakeWay = 5;
                    break;

                case 6:
                    ShakeWay = 6;
                    break;

                case 7:
                    ShakeWay = 7;
                    break;

                case 8:
                    ShakeWay = 8;
                    break;
                }
                OpenCheck = false;
                CheckAnswer();
            }
        }
    }
Exemple #5
0
    //
    private void DecideWayTrigger(PlayBandData data, float currentForce, Vector2 forceDirection, float forceAngel)
    {
        //
        if (currentForce >= triggerForce)
        {
            //
            if (exactAngleMode)
            {
                if (!CorrectAngleDecide(dataCacheStream [0], dataCacheStream [2]))
                {
                    return;
                }
            }
            //
            triggerLockOff = false;

            if (On4WayTriggerEvent != null)
            {
                On4WayTriggerEvent(Decide4Way(forceDirection, forceAngel), data);
            }
            if (On8WayTriggerEvent != null)
            {
                On8WayTriggerEvent(Decide8Way(forceDirection, forceAngel), data);
            }
            if (OnYWayTriggerEvent != null)
            {
                OnYWayTriggerEvent(DecideYWay(forceDirection), data);
            }
            if (OnXWayTriggerEvent != null)
            {
                OnXWayTriggerEvent(DecideXWay(forceDirection), data);
            }
            if (OnXYAngleTriggerEvent != null)
            {
                OnXYAngleTriggerEvent(forceAngel, forceDirection, data);
            }
            if (OnShakeTriggerEvent != null)
            {
                OnShakeTriggerEvent(data);
            }


            Invoke("UnlockWayTrigger", triggerLockTime);
        }
        //
    }
Exemple #6
0
 private void UpdateMouseCursor(PlayBandData data)
 {
     if (!enableMouse)
     {
         return;
     }
     //
     correctAngle.x       = (bandData.EulerAngles.x <= 180f) ? bandData.EulerAngles.x : bandData.EulerAngles.x - 360f;
     correctAngle.y       = (bandData.EulerAngles.y <= 180f) ? bandData.EulerAngles.y : bandData.EulerAngles.y - 360f;
     anglePosition.x      = (mouseAngleMax.y + correctAngle.y) / (mouseAngleMax.y + mouseAngleMax.y);
     anglePosition.y      = (mouseAngleMax.x + correctAngle.x) / (mouseAngleMax.x + mouseAngleMax.x);
     anglePosition.y      = 1f - anglePosition.y;
     anglePosition.x      = Mathf.Clamp(anglePosition.x, 0.02f, 0.98f);
     anglePosition.y      = Mathf.Clamp(anglePosition.y, 0.02f, 0.98f);
     anglePosition.z      = mouseCamera.nearClipPlane;
     anglePosition        = Vector3.Lerp(anglePosition, anglePositionCache, 0.5f);
     mouseCursor.position = mouseCamera.ViewportToWorldPoint(anglePosition);
     anglePositionCache   = anglePosition;
 }
Exemple #7
0
 private void DecidePeakTrigger(PlayBandData data, float currentForce, Vector2 forceDirection, float forceAngel)
 {
     if (currentForce < minPeakGate)
     {
         return;
     }
     if (currentForce < lastForce)
     {
         if (lastForce >= maxPeakGate)
         {
             OnPeak(forceDirection, forceAngel);
         }
         OnPeakEnd();
     }
     else
     {
         dataStream.Add(data.Clone());
         lastForce = currentForce;
     }
 }
Exemple #8
0
 //--------------------------------------------------------------------
 private void DecidePeakTriggerZ(PlayBandData data, float currentForce, Vector2 forceDirection)
 {
     if (currentForce < minPeakGate)
     {
         return;
     }
     if (currentForce < lastForceZ)
     {
         if (lastForceZ >= maxPeakGate)
         {
             //OnZWayPeakEvent (DecideZWay (forceDirection), (PlayBandData[])dataStreamZ.ToArray (typeof(PlayBandData)));
             OnZWayPeakEvent(DecideZWay(forceDirection), dataStreamZ.ToArray());
         }
         OnPeakEndZ();
     }
     else
     {
         dataStreamZ.Add(data.Clone());
         lastForceZ = currentForce;
     }
     //
 }
Exemple #9
0
 //
 //--------------------------------------------------------------------
 private void PushDataCache(PlayBandData data, float currentForce, Vector2 forceDirection, float forceAngel)
 {
     dataCacheStream [2].Update(dataCacheStream [1]);
     dataCacheStream [1].Update(dataCacheStream [0]);
     dataCacheStream [0].Update(data, currentForce, forceDirection, forceAngel);
 }
 public void ReceiveData(PlayBandData data)
 {
     obj3d.rotation = data.Rotation;
     res_Data       = data.ToString();
 }
Exemple #11
0
 //
 public PlayBandData(PlayBandData data)
 {
     Update(data);
 }