コード例 #1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public CursorState(IInputCursor pInputCursor, ICursorSettings pSettings)
        {
            vInputCursor   = pInputCursor;
            vSettings      = pSettings;
            vInteractItems = new List <IBaseItemInteractionState>();

            Type = vInputCursor.Type;
        }
コード例 #2
0
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		public CursorState(IInputCursor pInputCursor, ICursorSettings pSettings, Transform pBaseTx) {
			vInputCursor = pInputCursor;
			vSettings = pSettings;
			vBaseTx = pBaseTx;
			vInteractItems = new List<IBaseItemInteractionState>();

			Type = vInputCursor.Type;
		}
コード例 #3
0
    public void Move(ICursorSettings cursor)
    {
        _newCursorPos.x = _inputScheme.VcHorizontal() * cursor.Speed;
        _newCursorPos.y = _inputScheme.VcVertical() * cursor.Speed;

        CalculateNewPosition(cursor.CursorRect);
        _inputScheme.SetVirtualCursorPosition(cursor.Position);
    }
コード例 #4
0
    private void SetCursorSettings(ICursorSettings cursorSettings)
    {
        iconController.Icon = cursorSettings.Icon;
        iconText.enabled    = true;

        SetGrabPoint(cursorSettings.Mode);
        pointerEndTarget = cursorSettings.GetCursorEndPosition(startPoint);
        endCursorColor   = cursorSettings.Color;
    }
コード例 #5
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public CursorState(IInputCursor pInputCursor, ICursorSettings pSettings, Transform pBaseTx)
        {
            vInputCursor   = pInputCursor;
            vSettings      = pSettings;
            vBaseTx        = pBaseTx;
            vInteractItems = new IBaseItemInteractionState[0];

            Type = vInputCursor.Type;
        }
コード例 #6
0
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		public ICursorSettings GetSettings() {
			if ( vSettings != null ) {
				return vSettings;
			}

			ICursorSettings sett = GetSettingsInner();
			CustomUtil.VerifyRenderer<IUiCursorRenderer>(sett.Renderer, null, "Hovercursor", "Cursor");
			vSettings = sett;
			return sett;
		}
コード例 #7
0
    private void SetSettings()
    {
        ICursorSettings cursorSettings = FocusManager.Instance.FocusedItem?.CursorSettings;

        if (cursorSettings != null && cursorSettings.Mode != CursorMode.None)
        {
            SetCursorSettings(cursorSettings);
        }
        else
        {
            SetToDefaultCursor();
        }
    }
コード例 #8
0
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		internal void Build(ICursorState pCursorState, ICursorSettings pSettings, Transform pCameraTx) {
			vCursorState = pCursorState;
			vCameraTx = pCameraTx;
			
			vCursorRendererHold = new GameObject("CursorRendererHold");
			vCursorRendererHold.transform.SetParent(gameObject.transform, false);

			vCursorRendererObj = new GameObject("CursorRenderer");
			vCursorRendererObj.transform.SetParent(vCursorRendererHold.transform, false);

			vCursorRenderer = (IUiCursorRenderer)vCursorRendererObj.AddComponent(pSettings.Renderer);
			vCursorRenderer.Build(vCursorState, pSettings);
		}
コード例 #9
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public void Build(ICursorState pCursorState, ICursorSettings pSettings)
        {
            vCursorState = pCursorState;
            vSettings    = (CursorSettingsStandard)pSettings;

            vRingObj = new GameObject("Ring");
            vRingObj.transform.SetParent(gameObject.transform, false);
            vRingObj.AddComponent <MeshRenderer>();
            vRingObj.AddComponent <MeshFilter>();
            vRingObj.renderer.sharedMaterial = new Material(Shader.Find("Unlit/AlphaSelfIllumTop"));

            vRingMesh = vRingObj.GetComponent <MeshFilter>().mesh;
        }
コード例 #10
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public ICursorSettings GetSettings()
        {
            if (vSettings != null)
            {
                return(vSettings);
            }

            ICursorSettings sett = GetSettingsInner();

            CustomUtil.VerifyRenderer <IUiCursorRenderer>(sett.Renderer, null, "Hovercursor", "Cursor");
            vSettings = sett;
            return(sett);
        }
コード例 #11
0
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		public virtual void Build(ICursorState pCursorState, ICursorSettings pSettings) {
			vCursorState = pCursorState;
			vSettings = (CursorSettingsStandard)pSettings;

			vRingObj = new GameObject("Ring");
			vRingObj.transform.SetParent(gameObject.transform, false);
			MeshRenderer meshRend = vRingObj.AddComponent<MeshRenderer>();
			meshRend.sharedMaterial = Materials.GetCursorLayer();
			vRingObj.AddComponent<MeshFilter>();

			vRingMeshBuilder = new MeshBuilder();
			vRingObj.GetComponent<MeshFilter>().sharedMesh = vRingMeshBuilder.Mesh;
		}
コード例 #12
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        internal void Build(ICursorState pCursorState, ICursorSettings pSettings, Transform pCameraTx)
        {
            vCursorState = pCursorState;
            vCameraTx    = pCameraTx;

            vCursorRendererHold = new GameObject("CursorRendererHold");
            vCursorRendererHold.transform.SetParent(gameObject.transform, false);

            vCursorRendererObj = new GameObject("CursorRenderer");
            vCursorRendererObj.transform.SetParent(vCursorRendererHold.transform, false);

            vCursorRenderer = (IUiCursorRenderer)vCursorRendererObj.AddComponent(pSettings.Renderer);
            vCursorRenderer.Build(vCursorState, pSettings);
        }
コード例 #13
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public virtual void Build(ICursorState pCursorState, ICursorSettings pSettings)
        {
            vCursorState = pCursorState;
            vSettings    = (CursorSettingsStandard)pSettings;

            vRingObj = new GameObject("Ring");
            vRingObj.transform.SetParent(gameObject.transform, false);
            MeshRenderer meshRend = vRingObj.AddComponent <MeshRenderer>();

            meshRend.sharedMaterial = Materials.GetCursorLayer();
            vRingObj.AddComponent <MeshFilter>();

            vRingMesh = vRingObj.GetComponent <MeshFilter>().mesh;
        }
コード例 #14
0
        /*--------------------------------------------------------------------------------------------*/
        public void Update()
        {
            if (vState == null || Input.IsFailure)
            {
                return;
            }

            vState.UpdateBeforeInput();
            Input.UpdateInput();
            vState.UpdateAfterInput();

            ReadOnlyCollection <CursorType> activeTypes = vState.ActiveCursorTypes;
            ICursorSettings visualSett = DefaultVisualSettings.GetSettings();
            Transform       cameraTx   = CenterCamera.gameObject.transform;

            CursorTypeUtil.Exclude(vPrevActiveCursorTypes, activeTypes, vHideCursorTypes);
            CursorTypeUtil.Exclude(activeTypes, vPrevActiveCursorTypes, vShowCursorTypes);

            foreach (CursorType type in vHideCursorTypes)
            {
                vCursorMap[type].gameObject.SetActive(false);
            }

            foreach (CursorType type in vShowCursorTypes)
            {
                if (vCursorMap.ContainsKey(type))
                {
                    vCursorMap[type].gameObject.SetActive(true);
                    continue;
                }

                ICursorState cursor = vState.GetCursorState(type);

                var cursorObj = new GameObject("Cursor-" + type);
                cursorObj.transform.SetParent(gameObject.transform, false);
                UiCursor uiCursor = cursorObj.AddComponent <UiCursor>();
                uiCursor.Build(cursor, visualSett, cameraTx);

                vCursorMap.Add(type, uiCursor);
                vState.SetCursorTransform(type, cursorObj.transform);
            }

            vPrevActiveCursorTypes.Clear();
            vPrevActiveCursorTypes.AddRange(activeTypes);
        }
コード例 #15
0
        /*--------------------------------------------------------------------------------------------*/
        public void Update()
        {
            if (vState == null || Input.IsFailure)
            {
                return;
            }

            vState.UpdateBeforeInput();
            Input.UpdateInput();
            vState.UpdateAfterInput();

            CursorType[]             activeTypes = vState.ActiveCursorTypes;
            IEnumerable <CursorType> hideTypes   = vPrevActiveCursorTypes.Except(activeTypes);
            IEnumerable <CursorType> showTypes   = activeTypes.Except(vPrevActiveCursorTypes);
            ICursorSettings          visualSett  = DefaultVisualSettings.GetSettings();

            foreach (CursorType type in hideTypes)
            {
                vCursorMap[type].gameObject.SetActive(false);
            }

            foreach (CursorType type in showTypes)
            {
                if (vCursorMap.ContainsKey(type))
                {
                    vCursorMap[type].gameObject.SetActive(true);
                    continue;
                }

                ICursorState cursor = vState.GetCursorState(type);

                var cursorObj = new GameObject("Cursor-" + type);
                cursorObj.transform.SetParent(gameObject.transform, false);
                UiCursor uiCursor = cursorObj.AddComponent <UiCursor>();
                uiCursor.Build(cursor, visualSett, CameraTransform);

                vCursorMap.Add(type, uiCursor);
                vState.SetCursorTransform(type, cursorObj.transform);
            }

            vPrevActiveCursorTypes = activeTypes;
        }