void Update() { #region Action menu // Action menu if (Input.GetButtonDown("Fire2") && !actionMenuActive && localPlayer.canDoAction && !EventSystem.current.IsPointerOverGameObject()) // Open action menu { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 1024)) { actionMenuActive = true; actionMenuWorldPos = hit.point; actionMenuScreenPos = MouseScreenPosToGUIPos(); actionMenuObject = hit.transform.gameObject; string hitTag = hit.transform.tag; switch (hitTag) { case "Terrain": { currentAction = Actions_Old.Map; } break; case "Player": { currentAction = Actions_Old.Player; } break; case "Tree": { currentAction = Actions_Old.Tree; } break; default: { CloseActionMenu(); } break; } } } #endregion #region Quick action // Quick action if (Input.GetButtonDown("Fire1") && !actionMenuActive && localPlayer.canDoAction && !EventSystem.current.IsPointerOverGameObject()) // Perfrom quick action { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 1024)) { actionMenuWorldPos = hit.point; actionMenuScreenPos = MouseScreenPosToGUIPos(); actionMenuObject = hit.transform.gameObject; string hitTag = hit.transform.tag; switch (hitTag) { case "Terrain": // Quick action for map { Vector2 pos = ConvertToWalkPos(new Vector2(actionMenuWorldPos.x, actionMenuWorldPos.z)); sender.SendWantedPosition(new Vector2(pos.x, pos.y)); } break; case "Player": // Quick action for tree { Vector2 pos = ConvertToWalkPos(new Vector2(actionMenuWorldPos.x, actionMenuWorldPos.z)); sender.SendWantedPosition(new Vector2(pos.x, pos.y)); } break; case "Tree": { TreeData tree = actionMenuObject.GetComponent<TreeData>(); // Check if player is standing next to tree if (Math.Round(Vector3.Distance(actionMenuObject.transform.position, localPlayer.transform.position), 1) <= 1.8f) { sender.SendHarvestObject(0, tree.treeID); } else Debug.Log("You have to stand next to tree to chop it down."); } break; } } } #endregion // Close action menu when open and Fire2 is up if (actionMenuActive && !Input.GetButton("Fire2")) CloseActionMenu(); }
void Update() { #region Action menu // Action menu if (Input.GetButtonDown("Fire2") && !actionMenuActive && localPlayer.canDoAction && !EventSystem.current.IsPointerOverGameObject()) // Open action menu { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 1024)) { actionMenuActive = true; actionMenuWorldPos = hit.point; actionMenuScreenPos = MouseScreenPosToGUIPos(); actionMenuObject = hit.transform.gameObject; string hitTag = hit.transform.tag; switch (hitTag) { case "Terrain": { currentAction = Actions_Old.Map; } break; case "Player": { currentAction = Actions_Old.Player; } break; case "Tree": { currentAction = Actions_Old.Tree; } break; default: { CloseActionMenu(); } break; } } } #endregion #region Quick action // Quick action if (Input.GetButtonDown("Fire1") && !actionMenuActive && localPlayer.canDoAction && !EventSystem.current.IsPointerOverGameObject()) // Perfrom quick action { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 1024)) { actionMenuWorldPos = hit.point; actionMenuScreenPos = MouseScreenPosToGUIPos(); actionMenuObject = hit.transform.gameObject; string hitTag = hit.transform.tag; switch (hitTag) { case "Terrain": // Quick action for map { Vector2 pos = ConvertToWalkPos(new Vector2(actionMenuWorldPos.x, actionMenuWorldPos.z)); sender.SendWantedPosition(new Vector2(pos.x, pos.y)); } break; case "Player": // Quick action for tree { Vector2 pos = ConvertToWalkPos(new Vector2(actionMenuWorldPos.x, actionMenuWorldPos.z)); sender.SendWantedPosition(new Vector2(pos.x, pos.y)); } break; case "Tree": { TreeData tree = actionMenuObject.GetComponent <TreeData>(); // Check if player is standing next to tree if (Math.Round(Vector3.Distance(actionMenuObject.transform.position, localPlayer.transform.position), 1) <= 1.8f) { sender.SendHarvestObject(0, tree.treeID); } else { Debug.Log("You have to stand next to tree to chop it down."); } } break; } } } #endregion // Close action menu when open and Fire2 is up if (actionMenuActive && !Input.GetButton("Fire2")) { CloseActionMenu(); } }