예제 #1
0
    // Use this for initialization
    void Start()
    {
        airsigManager = GameObject.Find("AirSigManager").GetComponent <AirSigManager> ();
        Application.SetStackTraceLogType(LogType.Log, StackTraceLogType.None);

        // Configure AirSig by specifying target
        airsigManager.SetMode(AirSigManager.Mode.DeveloperDefined);
        airsigManager.SetClassifier("AtDefThrow", "");
        airsigManager.SetDeveloperDefinedTarget(new List <string> {
            "C", "AttackPunchSimple", "DefenseShieldCross"
        });                                                                                                                   // Just in case the order here matters, list them in the order they were added to the pack on the AirSig website.
        developerDefined = new AirSigManager.OnDeveloperDefinedMatch(HandleOnDeveloperDefinedMatch);
        airsigManager.onDeveloperDefinedMatch += developerDefined;
        checkDbExist();

        // Set each controller as an AirSig gesture trigger, and which button activates the recording
        airsigManager.SetTriggerStartKeys(
            AirSigManager.Controller.RIGHT_HAND,
            SteamVR_Controller.ButtonMask.Trigger,
            AirSigManager.PressOrTouch.PRESS);

        airsigManager.SetTriggerStartKeys(
            AirSigManager.Controller.LEFT_HAND,
            SteamVR_Controller.ButtonMask.Trigger,              // NOTE: Potential gesture bar fix by putting this line in with case 2 below vvvvvv
            AirSigManager.PressOrTouch.PRESS);                  // NOTE: May also break AirSig, who knows?

        if (SceneManager.GetActiveScene().name == "VRPUNScene")
        {
            UnlockNext(0);
        }
    }
    // Use this for initialization
    void Awake()
    {
        Application.SetStackTraceLogType(LogType.Log, StackTraceLogType.None);

        spellEngine       = gameObject.GetComponent <SpellEngine>();
        airsigManager     = gameObject.GetComponent <AirSigManager>();
        masterGameManager = GameObject.FindWithTag("GameController").GetComponent <MasterGameManager>();
        // Update the display text
        //textMode.text = string.Format("Mode: {0}", AirSigManager.Mode.DeveloperDefined.ToString());
        //textResult.text = defaultResultText = "Pressing trigger and write symbol in the air\nReleasing trigger when finish";
        //textResult.alignment = TextAnchor.UpperCenter;
        //instruction.SetActive(false);
        //ToggleGestureImage("All");

        // Configure AirSig by specifying target
        developerDefined = new AirSigManager.OnDeveloperDefinedMatch(HandleOnDeveloperDefinedMatch);
        airsigManager.onDeveloperDefinedMatch += developerDefined;
        airsigManager.SetMode(AirSigManager.Mode.DeveloperDefined);
        List <string> temp = new List <string>();

        temp.Add("Dot");
        temp.Add("Line");
        temp.Add("Circle");
        //temp.Add("Square");
        temp.Add("Triangle");

        airsigManager.SetDeveloperDefinedTarget(temp);
        airsigManager.SetClassifier("FinalGestureProfile", "");

        //airsigManager.SetDeveloperDefinedTarget(spellEngine.getCompleteSpellPartsNameList());
        //airsigManager.SetClassifier("GestureProfile1", "");
        //airsigManager.SetClassifier("SpellCoresV1", "");

        /*developerDefinedCore = new AirSigManager.OnDeveloperDefinedMatch(HandleOnDeveloperDefinedMatchCore);
         * airsigManager.onDeveloperDefinedMatch += developerDefinedCore;
         * airsigManager.SetMode(AirSigManager.Mode.DeveloperDefined);
         * airsigManager.SetDeveloperDefinedTarget(spellEngine.getCompleteSpellPartsNameList());
         * airsigManager.SetClassifier("GestureProfile1", "");*/



        //checkDbExist();

        airsigManager.SetTriggerStartKeys(
            AirSigManager.Controller.RIGHT_HAND,
            SteamVR_Controller.ButtonMask.Trigger,
            AirSigManager.PressOrTouch.PRESS);


        airsigManager.SetTriggerStartKeys(
            AirSigManager.Controller.LEFT_HAND,
            SteamVR_Controller.ButtonMask.Touchpad,
            AirSigManager.PressOrTouch.PRESS);
    }
예제 #3
0
 void OnEnable()
 {
     if (!rightGrab)
     {
         rightGrab = GameObject.Find("Controller (right)").GetComponent <ViveController>();
     }
     //if (!airsigManager)
     // {
     airsigManager = GameObject.Find("AirSigManager").GetComponent <AirSigManager>();
     // }
     airsigManager.SetMode(AirSigManager.Mode.DeveloperDefined);
     //airsigManager.SetDeveloperDefinedTarget(List<string> "Pickaxe");
     airsigManager.SetClassifier(
         "Pickaxe", "");
     airsigManager.SetTriggerStartKeys(
         AirSigManager.Controller.RIGHT_HAND,
         SteamVR_Controller.ButtonMask.Trigger,
         AirSigManager.PressOrTouch.PRESS);
     airsigManager.SetDeveloperDefinedTarget(
         new List <string> {
         "Pickaxe",
         "DOWN"
     }
         );
     developerGesture =
         new AirSigManager.OnDeveloperDefinedMatch(
             HandleOnDeveloperDefinedMatch);
     airsigManager.onDeveloperDefinedMatch +=
         developerGesture;
 }
예제 #4
0
    // Use this for initialization
    void Awake()
    {
        Application.SetStackTraceLogType(LogType.Log, StackTraceLogType.None);

        // Registering callback events
        playerSignatureMatch  = new AirSigManager.OnPlayerSignatureMatch(HandleOnPlayerSignatureMatch);
        signatureTrained      = new AirSigManager.OnPlayerSignatureTrained(HandleOnPlayerSignatureTrained);
        playerGestureMatch    = new AirSigManager.OnPlayerGestureMatch(HandleOnPlayerGestureMatch);
        playerGestureAdd      = new AirSigManager.OnPlayerGestureAdd(HandleOnPlayerGestureAdd);
        developerDefined      = new AirSigManager.OnDeveloperDefinedMatch(HandleOnDeveloperDefinedMatch);
        smartDeveloperDefined = new AirSigManager.OnSmartIdentifyDeveloperDefinedMatch(HandleOnSmartDeveloperDefinedMatch);

        airsigManager.onPlayerSignatureMatch               += playerSignatureMatch;
        airsigManager.onPlayerSignatureTrained             += signatureTrained;
        airsigManager.onPlayerGestureMatch                 += playerGestureMatch;
        airsigManager.onPlayerGestureAdd                   += playerGestureAdd;
        airsigManager.onDeveloperDefinedMatch              += developerDefined;
        airsigManager.onSmartIdentifyDeveloperDefinedMatch += smartDeveloperDefined;

        airsigManager.SetMode(availableMode[currentModeIndex]);
        textMode.text = availableMode[currentModeIndex].ToString();
        setModeNone();

        checkDbExist();

        airsigManager.SetTriggerStartKeys(
            AirSigManager.Controller.RIGHT_HAND,
            SteamVR_Controller.ButtonMask.Trigger,
            AirSigManager.PressOrTouch.PRESS);


        airsigManager.SetTriggerStartKeys(
            AirSigManager.Controller.LEFT_HAND,
            SteamVR_Controller.ButtonMask.Touchpad,
            AirSigManager.PressOrTouch.PRESS);
    }
예제 #5
0
    private void OnEnable()
    {
        controllerManager = rightHandControl.GetComponent <ControllerManager>();

        developerDefined = new AirSigManager.OnDeveloperDefinedMatch(HandleOnDeveloperDefinedMatch);
        airsigManager.onDeveloperDefinedMatch += developerDefined;
        airsigManager.SetDeveloperDefinedTarget(new List <string> {
            "BOTRN", "DOWN"
        });
        airsigManager.SetClassifier("FrostGestureProfile", "");

        airsigManager.SetTriggerStartKeys(
            AirSigManager.Controller.RIGHT_HAND,
            SteamVR_Controller.ButtonMask.Trigger,
            AirSigManager.PressOrTouch.PRESS);

        trackedObj = GetComponent <SteamVR_TrackedObject>();
    }