예제 #1
0
    /// <summary>
    /// Disable Vuforia
    /// Disables Vuforia behaviour.
    /// </summary>
    /// <param name="evt"></param>
    private void DisableVuforia(KIXEvent evt)
    {
        PositionalDeviceTracker _deviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();

        _deviceTracker?.Reset();
        VuforiaBehaviour.Instance.enabled = false;
    }
예제 #2
0
파일: KIX.cs 프로젝트: rackdoll/KIX
 /// <summary>
 /// Fire
 /// Fires an KIXEvent
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public void Fire(KIXEvent e, object sender = null)
 {
     OnEvent(e, sender);
     if (listeners_.ContainsKey(e.Type.ToString()))
     {
         FireEvent(e);
     }
 }
    void OnRecreate(KIXEvent evt)
    {
        Destroy(PlaneFinderOBJ.transform.GetComponent <PlaneFinderBehaviour>());

        var pfb = PlaneFinderOBJ.AddComponent <PlaneFinderBehaviour>();

        pfb.OnAutomaticHitTest = eventCallee;
        pfb.Height             = 1.4f;
        pfb.PlaneIndicator     = PlaneIndicatorPrefab;
        pfb.HitTestMode        = HitTestMode.AUTOMATIC;
    }
예제 #4
0
    /// <summary>
    /// Initialize Vuforia
    /// Resgisters a handler to Vuforia Started event.
    /// Initis Vuforia.
    /// </summary>
    void InitializeVuforia(KIXEvent evt)
    {
        VuforiaBehaviour.Instance.enabled = true;

        if (!_callBackRegistered)
        {
            Vuforia.VuforiaRuntime.Instance.InitVuforia();
        }

        _callBackRegistered = true;
    }
예제 #5
0
파일: KIX.cs 프로젝트: rackdoll/KIX
    public void Watch(object obj_to_track, string property_name, KIXEvent event_to_send)
    {
        Type         objType  = obj_to_track.GetType();
        PropertyInfo property = objType.GetProperty(property_name);

        var currentValue = property.GetValue(obj_to_track);
        var watchOBJ     = new KIXWatchObject {
            target = obj_to_track, targetType = obj_to_track.GetType(), value = currentValue, property = property, changeEvent = event_to_send
        };

        watchObjects_.Add(watchOBJ);
    }
예제 #6
0
파일: KIX.cs 프로젝트: rackdoll/KIX
    /// <summary>
    /// Fire Delayed Event
    /// Fires an Event after a MS delay
    /// </summary>
    /// <param name="evt">KIXEvent</param>
    /// <param name="delayInMS">int</param>
    /// <returns></returns>
    private static IEnumerator FireDelayedEvent(KIXEvent evt, int delayInMS)
    {
        int timer = delayInMS / 10;

        while (timer > 0)
        {
            yield return(new UnityEngine.WaitForSeconds(0.01f));

            --timer;
        }
        KIX.Instance.FireEvent(evt);
    }
예제 #7
0
파일: KIX.cs 프로젝트: rackdoll/KIX
 /// <summary>
 /// Fire Event
 /// Fires an KIXEvent to listeners that registered to that
 /// specific event.
 /// </summary>
 /// <param name="evt">KIXEvent</param>
 public void FireEvent(KIXEvent evt)
 {
     if (!listeners_.ContainsKey(evt.Type.ToString()))
     {
         KIX.Instance.Fire(evt, this);
     }
     else
     {
         var list = listeners_[evt.Type.ToString()].ToArray();
         for (int i = 0; i < list.Length; ++i)
         {
             list[i](evt);
         }
     }
 }
예제 #8
0
 void OnTrackerReset(KIXEvent evt)
 {
     _positionalDeviceTracker = TrackerManager.Instance.GetTracker <PositionalDeviceTracker>();
     _positionalDeviceTracker?.Reset();
 }
예제 #9
0
파일: KIXView.cs 프로젝트: rackdoll/KIX
 private void OnKIXShowEvent(KIXEvent evt)
 {
     ToggleViewVisibility(true);
 }
예제 #10
0
 private void OnSwitchToAutomatic(KIXEvent evt)
 {
     SwitchToAutomatic();
 }
예제 #11
0
 private void OnSwitchToInteractive(KIXEvent evt)
 {
     SwitchToInteractive();
 }
예제 #12
0
파일: KIX.cs 프로젝트: rackdoll/KIX
 public void FireDelayedKIXEvent(KIXEvent evt, int delayInMS)
 {
     KIX.Instance.FireDelayed(evt, delayInMS, this);
 }
예제 #13
0
파일: KIX.cs 프로젝트: rackdoll/KIX
 public void FireKIXEvent(KIXEvent evt)
 {
     KIX.Instance.FireEvent(evt);
 }
예제 #14
0
파일: KIX.cs 프로젝트: rackdoll/KIX
 /// <summary>
 /// On KIX Event
 /// Proxy method for all KIX events.
 /// and relays it to a method proxy.
 /// </summary>
 /// <param name="evt">KIXEvent</param>
 public virtual void OnKIXEvent(KIXEvent evt)
 {
     throw new NotImplementedException("OnKIXEvent has not yet been implmentented, please override and imnplement OnKIXEvent( KIXEvent evt );");
 }
예제 #15
0
파일: KIX.cs 프로젝트: rackdoll/KIX
    /// <summary>
    /// OnEvent
    /// Fired when an KIX event has occured.
    /// </summary>
    /// <param name="e"></param>
    private void OnEvent(KIXEvent e, object sender = null)
    {
        var handler = Events;

        handler?.Invoke(e);
    }
예제 #16
0
파일: KIXView.cs 프로젝트: rackdoll/KIX
 private void OnKIXHideEvent(KIXEvent evt)
 {
     ToggleViewVisibility(false);
 }
예제 #17
0
파일: KIX.cs 프로젝트: rackdoll/KIX
 /// <summary>
 /// Fire Delayed
 /// Fires an KIXEvent after a defined delay in ms.
 /// </summary>
 /// <param name="e">KIXEvent to fire</param>
 /// <param name="delayInMS">float</param>
 /// <param name="sender">object</param>
 public void FireDelayed(KIXEvent e, int delayInMS, UnityEngine.MonoBehaviour sender)
 {
     sender.StartCoroutine(FireDelayedEvent(e, delayInMS));
 }