private void DeselectSpaceman() { ClickedSpaceMan.Deselected(); IsSpaceManClicked = false; ClickedSpaceMan = null; SpaceManDestination = Vector3.zero; }
public void SpaceManInteraction(SpaceMan spaceMan) { m_pilotSpaceman = spaceMan; m_pilotSpaceman.SetAsDeactive(m_interactionPoint.CentrePoint());//will be replaced by interactable animation spaceman SetActive(); }
void Update() { if (Input.GetMouseButtonDown(1)) { DeselectSpaceman(); } if (Input.GetMouseButtonDown(0) && IsSpaceManClicked) { PlayerMouseCollisionPointer = GameObjecthit(); lastClickedGameObject = PlayerMouseCollisionPointer.collider.gameObject; lastClickedGameObjectCollisionPoint = PlayerMouseCollisionPointer.point; if (lastClickedGameObject.GetComponent <Interactable>()) { ClickedSpaceMan.MoveTo(lastClickedGameObject.GetComponent <Interactable>()); DeselectSpaceman(); } else if (lastClickedGameObject.GetComponent <Floor>()) { SpaceManDestination = lastClickedGameObjectCollisionPoint; Debug.Log(lastClickedGameObject + " " + SpaceManDestination); ClickedSpaceMan.MoveTo(desination: SpaceManDestination); DeselectSpaceman(); } else if (lastClickedGameObject.GetComponent <SpaceMan>()) { DeselectSpaceman();//deselect old spaceman //Select new SpaceMan IsSpaceManClicked = true; ClickedSpaceMan = lastClickedGameObject.GetComponent <SpaceMan>(); ClickedSpaceMan.Selected(); } else { DeselectSpaceman(); } } else if (Input.GetMouseButtonDown(0)) { PlayerMouseCollisionPointer = GameObjecthit(); lastClickedGameObject = PlayerMouseCollisionPointer.collider.gameObject; if (lastClickedGameObject.GetComponent <SpaceMan>()) { IsSpaceManClicked = true; ClickedSpaceMan = lastClickedGameObject.GetComponent <SpaceMan>(); ClickedSpaceMan.Selected(); } else if (lastClickedGameObject.GetComponent <Interactable>()) { Interactable currentClickedInteractable = lastClickedGameObject.GetComponent <Interactable>(); if (currentClickedInteractable.State == Enums.State.Active) { ClickedSpaceMan = currentClickedInteractable.PilotSpaceman; IsSpaceManClicked = true; } } else { DeselectSpaceman(); } } UpdateUI(); }