Beispiel #1
0
        public void GetAttribute(string type, string message, GetSessionAttributesEventData eventData)
        {
            Dictionary <string, string> messageToAlexa = new Dictionary <string, string>();

            Vessel vessel = this.vessel;

            switch (message)
            {
            case "mass":
                messageToAlexa.Add("object", vessel.RevealMass().ToString());
                break;

            case "altitude":
                messageToAlexa.Add("object", vessel.RevealAltitude().ToString());
                break;

            case "body":
                messageToAlexa.Add("object", vessel.mainBody.ToString());
                break;

            case "velocity":
                messageToAlexa.Add("object", vessel.RevealSpeed().ToString());
                break;

            default:
                messageToAlexa.Add("object", "nothing");
                break;
            }
            alexaManager.SendToAlexaSkill(messageToAlexa, OnMessageSent);
        }
Beispiel #2
0
    private void OnAlexaMessage(HandleMessageEventData eventData)
    {
        //Listen for new messages from the Alexa skill
        Debug.Log("OnAlexaMessage");

        Dictionary <string, object> message = eventData.Message;

        //Get Session Attributes with in-line defined callback
        switch (message["type"] as string)
        {
        case "AlexaUserId":
            Debug.Log("AlexaUserId: " + message["message"]);
            alexaManager.alexaUserDynamoKey = message["message"] as string;
            break;
        }

        alexaManager.GetSessionAttributes((result) =>
        {
            if (result.IsError)
            {
                Debug.LogError(eventData.Exception.Message);
            }
            GameManager gm = FindObjectOfType <GameManager>();
            switch (message["type"] as string)
            {
            case "AlexaUserId":
                ConfirmSetup(result);
                break;

            case "PlaceRequest":
                alexaManager.SendToAlexaSkill(gm.onMoveCommand(message["ship"] as string, message["col"] as string, message["row"] as string, message["orientation"] as string), null);
                break;

            case "ConfirmPlacement":
                alexaManager.SendToAlexaSkill(gm.onConfirmPlacementCommand(), null);
                break;

            case "FireRequest":
                alexaManager.SendToAlexaSkill(gm.onFireCommand(message["col"] as string, message["row"] as string), null);
                break;

            default:
                alexaManager.SendToAlexaSkill("Unrecognized message type!", null);
                break;
            }
        });
    }
Beispiel #3
0
    private void OnAlexaMessage(HandleMessageEventData eventData)
    {
        //Listen for new messages from the Alexa skill
        Debug.Log("OnAlexaMessage");

        Dictionary <string, object> message = eventData.Message;

        //Get Session Attributes with in-line defined callback
        switch (message["type"] as string)
        {
        case "AlexaUserId":
            Debug.Log("AlexaUserId: " + message["message"]);
            alexaManager.alexaUserDynamoKey = message["message"] as string;
            break;
        }

        alexaManager.GetSessionAttributes((result) =>
        {
            if (result.IsError)
            {
                Debug.LogError(eventData.Exception.Message);
            }

            switch (message["type"] as string)
            {
            case "AlexaUserId":
                ConfirmSetup(result);
                break;

            case "DestroyRequest":
                Destroy(GameObject.Find("Ship"));
                alexaManager.SendToAlexaSkill("BOOM!", null);
                break;

            default:
                alexaManager.SendToAlexaSkill("Unrecognized message type!", null);
                break;
            }
        });
    }
Beispiel #4
0
    private void OnAlexaMessage(HandleMessageEventData eventData)
    {
        //Listen for new messages from the Alexa skill
        Debug.Log("OnAlexaMessage");

        Dictionary <string, object> message = eventData.Message;

        //Get Session Attributes with in-line defined callback
        switch (message["type"] as string)
        {
        case "AlexaUserId":
            Debug.Log("AlexaUserId: " + message["message"]);
            alexaManager.alexaUserDynamoKey = message["message"] as string;
            break;
        }

        alexaManager.GetSessionAttributes((result) =>
        {
            if (result.IsError)
            {
                Debug.LogError(eventData.Exception.Message);
            }

            switch (message["type"] as string)
            {
            case "AlexaUserId":
                ConfirmSetup(result);
                break;

            case "StartRequest":
                alexaManager.SendToAlexaSkill(StartGame(), null);
                break;

            case "NextGameRequest":
                alexaManager.SendToAlexaSkill(NextGame(), null);
                break;

            case "MathGameAnswer":
                string answer = message["answer"] as string;
                alexaManager.SendToAlexaSkill(onMathAnswer(answer), null);
                break;

            case "ColorGameAnswer":
                string response = onColorAnswer(message["color1"] as string, message["color2"] as string, message["color3"] as string, message["color4"] as string, message["color5"] as string);
                alexaManager.SendToAlexaSkill(response, null);
                break;

            case "HelpRequest":
                alexaManager.SendToAlexaSkill(onHelpRequest(), null);
                break;

            default:
                alexaManager.SendToAlexaSkill("Unrecognized message type!", null);
                break;
            }
        });
    }
    private void GetObjectInDirection(string type, string message)
    {
        //Get the object in a specific direction (Note: For this demo, there is only one object, the cube)
        RaycastHit hit;
        Dictionary <string, string> messageToAlexa = new Dictionary <string, string>();
        Vector3 forward = camera.transform.forward * 10;

        messageToAlexa.Add("object", "nothing");

        if (Physics.Raycast(camera.transform.position, forward, out hit, (float)15.0))
        {
            if (hit.rigidbody)
            {
                messageToAlexa.Remove("object");
                messageToAlexa.Add("object", hit.rigidbody.name);
            }
        }

        alexaManager.SendToAlexaSkill(messageToAlexa, OnMessageSent);
    }