Exemple #1
0
 private void DeselectSpaceman()
 {
     ClickedSpaceMan.Deselected();
     IsSpaceManClicked   = false;
     ClickedSpaceMan     = null;
     SpaceManDestination = Vector3.zero;
 }
Exemple #2
0
 public void SpaceManInteraction(SpaceMan spaceMan)
 {
     m_pilotSpaceman = spaceMan;
     m_pilotSpaceman.SetAsDeactive(m_interactionPoint.CentrePoint());//will be replaced by interactable animation spaceman
     SetActive();
 }
Exemple #3
0
    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();
    }