예제 #1
0
    public void CheckOnClick(Vector3 position, string layerName)
    {
        if (!GameController.instance.IsGameSceneEnabled)
        {
            return;
        }

        int        layerTouchable = LayerMask.GetMask(layerName);
        RaycastHit hit;
        Ray        ray = Camera.main.ScreenPointToRay(position);

        if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerTouchable))
        {
            if (hit.transform.GetComponent <ITouchable>() != null && GameController.instance.IsGameSceneEnabled)
            {
                ITouchable objectTouched = hit.transform.GetComponent <ITouchable>();

                HelpPanel panel = GameObject.FindObjectOfType <HelpPanel>();
                if (!panel.IsPointerOverPanel())
                {
                    panel.SetPanel(objectTouched);
                }
            }
            else if (hit.transform.GetComponent <IMultitouchable>() != null && GameController.instance.IsGameSceneEnabled)
            {
                IMultitouchable multitouchable = hit.transform.GetComponent <IMultitouchable>();
                multitouchable.MultiTouch();
            }
            else
            {
                return;
            }
        }
    }
예제 #2
0
        protected override void OnRender(DrawingContext drawingContext)
        {
            IMultitouchable element = AdornedElement as IMultitouchable;

            if (element != null)
            {
                SolidColorBrush renderBrush = new SolidColorBrush(Colors.Red);
                renderBrush.Opacity = 0.2;
                Pen    renderPen    = new Pen(new SolidColorBrush(Colors.Navy), 1.5);
                double renderRadius = 5.0;

                foreach (ContactInfoModel model in element.Contacts)
                {
                    // Draw a circle at each corner.
                    drawingContext.DrawEllipse(renderBrush, renderPen, model.Center, renderRadius, renderRadius);
                    DrawText(drawingContext,
                             string.Format("Id: {0}\r\nX: {1}\r\nY: {2}\r\nDelta: {3}\r\nDisplacement: {4}\r\nTarget: {5}", model.Id,
                                           model.Center.X.ToString("N3"),
                                           model.Center.Y.ToString("N3"),
                                           model.Delta,
                                           model.Displacement,
                                           model.Target != null ? model.Target.GetHashCode().ToString() : "None"),
                             model.Center);
                }
            }
        }