Example #1
0
        /// <summary>
        /// Remove the provided gesture from the remote self instance.
        /// </summary>
        /// <param name="a_Gesture"></param>
        public void RemoveGesture(IGesture a_Gesture)
        {
            string gestureKey = a_Gesture.GetGestureId() + "/" + a_Gesture.GetInstanceId();

            if (m_Gestures.ContainsKey(gestureKey))
            {
                if (a_Gesture.OnStop())
                {
                    m_Gestures.Remove(gestureKey);
                    m_Overrides.Remove(gestureKey);

                    Dictionary <string, object> register = new Dictionary <string, object>();
                    register["event"]      = "remove_gesture_proxy";
                    register["gestureId"]  = a_Gesture.GetGestureId();
                    register["instanceId"] = a_Gesture.GetInstanceId();

                    TopicClient.Instance.Publish("gesture-manager", Json.Serialize(register));
                    Log.Status("GestureManager", "Gesture {0} removed.", gestureKey);
                }
            }
        }