//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public CursorState(IInputCursor pInputCursor, ICursorSettings pSettings) { vInputCursor = pInputCursor; vSettings = pSettings; vInteractItems = new List <IBaseItemInteractionState>(); Type = vInputCursor.Type; }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public CursorState(IInputCursor pInputCursor, ICursorSettings pSettings, Transform pBaseTx) { vInputCursor = pInputCursor; vSettings = pSettings; vBaseTx = pBaseTx; vInteractItems = new List<IBaseItemInteractionState>(); Type = vInputCursor.Type; }
public void Move(ICursorSettings cursor) { _newCursorPos.x = _inputScheme.VcHorizontal() * cursor.Speed; _newCursorPos.y = _inputScheme.VcVertical() * cursor.Speed; CalculateNewPosition(cursor.CursorRect); _inputScheme.SetVirtualCursorPosition(cursor.Position); }
private void SetCursorSettings(ICursorSettings cursorSettings) { iconController.Icon = cursorSettings.Icon; iconText.enabled = true; SetGrabPoint(cursorSettings.Mode); pointerEndTarget = cursorSettings.GetCursorEndPosition(startPoint); endCursorColor = cursorSettings.Color; }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public CursorState(IInputCursor pInputCursor, ICursorSettings pSettings, Transform pBaseTx) { vInputCursor = pInputCursor; vSettings = pSettings; vBaseTx = pBaseTx; vInteractItems = new IBaseItemInteractionState[0]; Type = vInputCursor.Type; }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public ICursorSettings GetSettings() { if ( vSettings != null ) { return vSettings; } ICursorSettings sett = GetSettingsInner(); CustomUtil.VerifyRenderer<IUiCursorRenderer>(sett.Renderer, null, "Hovercursor", "Cursor"); vSettings = sett; return sett; }
private void SetSettings() { ICursorSettings cursorSettings = FocusManager.Instance.FocusedItem?.CursorSettings; if (cursorSettings != null && cursorSettings.Mode != CursorMode.None) { SetCursorSettings(cursorSettings); } else { SetToDefaultCursor(); } }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ 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); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ 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; }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public ICursorSettings GetSettings() { if (vSettings != null) { return(vSettings); } ICursorSettings sett = GetSettingsInner(); CustomUtil.VerifyRenderer <IUiCursorRenderer>(sett.Renderer, null, "Hovercursor", "Cursor"); vSettings = sett; return(sett); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ 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; }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ 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; }
/*--------------------------------------------------------------------------------------------*/ 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); }
/*--------------------------------------------------------------------------------------------*/ 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; }