//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public HovercursorState(Transform pBaseTx, HovercursorInput pInput, HovercursorVisualSettings pVisualSett, Transform pCamera) { vBaseTx = pBaseTx; vInput = pInput; VisualSettings = pVisualSett; CameraTransform = pCamera; ActiveCursorTypes = new CursorType[0]; vCursorMap = new Dictionary<CursorType, CursorState>(); vTransformMap = new Dictionary<CursorType, Transform>(); vDelegates = new List<IHovercursorDelegate>(); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public void Awake() { const string prefix = "Hovercursor"; DefaultVisualSettings = UnityUtil.FindComponentOrCreate<HovercursorVisualSettings, HovercursorVisualSettingsStandard>(DefaultVisualSettings, gameObject, prefix); Input = UnityUtil.FindComponentOrFail(Input, prefix); if ( CameraTransform == null ) { CameraTransform = gameObject.transform; } vState = new HovercursorState(gameObject.transform, Input, DefaultVisualSettings, CameraTransform); vPrevActiveCursorTypes = new List<CursorType>(); vCursorMap = new Dictionary<CursorType, UiCursor>(EnumIntKeyComparer.CursorType); vHideCursorTypes = new List<CursorType>(); vShowCursorTypes = new List<CursorType>(); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public HovercursorState(Transform pBaseTx, HovercursorInput pInput, HovercursorVisualSettings pVisualSett, Transform pCamera) { vBaseTx = pBaseTx; vInput = pInput; VisualSettings = pVisualSett; CameraTransform = pCamera; vCursorStateMap = new Dictionary<CursorType, CursorState>(EnumIntKeyComparer.CursorType); vCursorStates = new List<CursorState>(); vTransformMap = new Dictionary<CursorType, Transform>(EnumIntKeyComparer.CursorType); vDelegates = new List<IHovercursorDelegate>(); vActiveDelegates = new List<IHovercursorDelegate>(); vActiveCursorTypes = new List<CursorType>(); vActiveCursorMap = new HashSet<CursorType>(EnumIntKeyComparer.CursorType); vActiveCursorPlaneMap = new Dictionary<CursorType, ReadList<PlaneData>>( EnumIntKeyComparer.CursorType); ActiveCursorTypes = vActiveCursorTypes.AsReadOnly(); vInput.SetPlaneProvider(GetActiveCursorPlanes); }