////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public BaseItemState(IBaseItem pItem, BaseInteractionSettings pSettings)
        {
            Item = pItem;
            vSettings = pSettings;
            vPoints = new BaseItemPointsState();

            vCursorWorldPosMap = new Dictionary<CursorType, Vector3?>();
            vHighlightDistanceMap = new Dictionary<CursorType, float>();
            vHighlightProgressMap = new Dictionary<CursorType, float>();
            vIsNearestHighlightMap = new Dictionary<CursorType, bool>();
            vPreventSelectionViaDisplayMap = new Dictionary<string, bool>();

            ResetAllCursorInteractions();
        }
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		public BaseItemState(IBaseItem pItem, BaseInteractionSettings pSettings) {
			Item = pItem;
			vSettings = pSettings;
			vPoints = new BaseItemPointsState();

			vCursorWorldPosMap = new ListMap<CursorType, Vector3?>(
				EnumIntKeyComparer.CursorType, false, true);
			vHighlightDistanceMap = new ListMap<CursorType, float>(EnumIntKeyComparer.CursorType);
			vHighlightProgressMap = new ListMap<CursorType, float>(EnumIntKeyComparer.CursorType);
			vIsNearestHighlightMap = new ListMap<CursorType, bool>(EnumIntKeyComparer.CursorType);
			vPreventSelectionViaDisplayMap = new ListMap<string, bool>(null);
			
			ResetAllCursorInteractions();
		}