コード例 #1
0
        void FindHotMenuItem()
        {
            if (state != MenuState.Open)
            {
                return;
            }
            ProximityMenuItem hotMenu = null;
            Vector3           cimp    = cursor.immediateSprite.transform.position;
            Vector3           delta;
            Vector3           hotDelta = Vector3.zero;

            foreach (ProximityMenuItem mi in items)
            {
                delta = (mi.center.transform.position - cimp);
                if (hotMenu == null || delta.sqrMagnitude < (hotMenu.transform.position - cimp).sqrMagnitude)
                {
                    hotMenu  = mi;
                    hotDelta = delta;
                }
            }

            if (lastHotMenu == hotMenu)
            {
                return;
            }

            if (lastHotMenu != null)
            {
                lastHotMenu.Select(false);
                lastHotMenu = null;
            }

            if (hotMenu != null && hotDelta.magnitude <= MIN_DISTANCE)
            {
                lastHotMenu = hotMenu;
                Debug.Log("finding hot menu: " + lastHotMenu.name + "," + lastHotMenu.value + ": distance = " + hotDelta.magnitude);

                lastHotMenu.Select();
            }
        }
コード例 #2
0
				void FindHotMenuItem ()
				{
						if (state != MenuState.Open)
								return;
						ProximityMenuItem hotMenu = null;
						Vector3 cimp = cursor.immediateSprite.transform.position;
						Vector3 delta;
						Vector3 hotDelta = Vector3.zero;
						foreach (ProximityMenuItem mi in items) {
								delta = (mi.center.transform.position - cimp);
								if (hotMenu == null || delta.sqrMagnitude < (hotMenu.transform.position - cimp).sqrMagnitude) {
										hotMenu = mi;
										hotDelta = delta;
								}
						}

						if (lastHotMenu == hotMenu)
								return;
			
						if (lastHotMenu != null) {
								lastHotMenu.Select (false);
								lastHotMenu = null;
						}

						if (hotMenu != null && hotDelta.magnitude <= MIN_DISTANCE) {
								lastHotMenu = hotMenu;			
								Debug.Log ("finding hot menu: " + lastHotMenu.name + "," + lastHotMenu.value + ": distance = " + hotDelta.magnitude);
				
								lastHotMenu.Select ();
						}
				}