// Update is called once per frame void Update() { if (!EditorManager.Instance.currentState.Editable()) { return; } currentMousePositionIndex = TileField.IndexOfPosition(Camera.main.ScreenToWorldPoint(Input.mousePosition), tileWidth, tileHeight); if (lastDrawnIndex != currentMousePositionIndex) { lastDrawnIndex = currentMousePositionIndex; //redo by event UIManager.Instance.lineDrawer.DrawIsoRectangle(lastDrawnIndex, tileWidth, tileHeight); if (Input.GetMouseButton(0)) { //actionsArgument.indexArgument = currentMousePositionIndex; //currentAction.Execute(currentMousePositionIndex, actionsArgument); Debug.Log("Tile coord:" + currentMousePositionIndex); } } if (Input.GetMouseButtonDown(0)) { //actionsArgument.indexArgument = currentMousePositionIndex; //currentAction.Execute(currentMousePositionIndex, actionsArgument); Debug.Log("Tile coord:" + currentMousePositionIndex); } if (Input.GetMouseButton(1)) { Debug.Log(currentMousePositionIndex); Debug.Log("Real mouse pos: " + Camera.main.ScreenToWorldPoint(Input.mousePosition)); } }
public override void ProcessInput(PlayerMovementFSM pc, PlayerMovementFSM.Inputs input) { if (input == PlayerMovementFSM.Inputs.RightMouseClick) { pc.ClearPath(); } if (pc.currentPath != null) { pc.TransitionToState(pc.moving); } if (input == PlayerMovementFSM.Inputs.LeftMouseClick) { pc.currentPath = GameManager.Instance.fieldScript.GetPath(TileField.IndexOfPosition(pc.playerTransform.position, EditorManager.Instance.gameSettings.tileWidth, EditorManager.Instance.gameSettings.tileHeight), TileField.IndexOfPosition(Camera.main.ScreenToWorldPoint(Input.mousePosition), EditorManager.Instance.gameSettings.tileWidth, EditorManager.Instance.gameSettings.tileHeight)); } }