Inheritance: MonoBehaviour, IClickTarget
Ejemplo n.º 1
0
 protected override IEnumerable <IDisposable> Main()
 {
     yield return(ClickTarget
                  .RoutedEventRaised <MouseButtonEventHandler, MouseButtonEventArgs>(UIElement.MouseLeftButtonUpEvent)
                  .Select(e => e.EventArgs.GetPosition(ClickTarget))
                  .Subscribe(ConsoleOutput(Text.Clicked)));
 }
Ejemplo n.º 2
0
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hitInfo;

            if (Physics.Raycast(ray, out hitInfo, 100f, layerMask))
            {
                int layer = hitInfo.transform.gameObject.layer;

                // UI를 클릭해도 뒤쪽이 눌리지않음 (유니티에 UI를 추가안하고 이 코드를 사용하면 에러뜸)
                //if (!EventSystem.current.IsPointerOverGameObject())
                {
                    if (layer == LayerMask.NameToLayer(GroundLayer))
                    {
                        clickTarget = ClickTarget.move;
                        navAgent.SetDestination(hitInfo.point);
                    }
                    else if (layer == LayerMask.NameToLayer(enemyLayer))
                    {
                        clickTarget = ClickTarget.enemy;
                        navAgent.SetDestination(hitInfo.point + Vector3.one);
                    }
                    SetState(CharacterState.Run);
                }
            }
        }
    }
Ejemplo n.º 3
0
 void Start()
 {
     pEng  = FindObjectOfType <PlayerEngine>();
     click = FindObjectOfType <ClickTarget>();
     if (pEng.startingPointName == pointName)
     {
         pEng.gameObject.transform.position  = transform.position;
         click.gameObject.transform.position = pEng.gameObject.transform.position;
     }
 }
Ejemplo n.º 4
0
        protected override IEnumerable <IDisposable> Main()
        {
            yield return(ClickTarget
                         .RoutedEventRaised <MouseEventArgs>(UIElement.MouseLeftButtonUpEvent)
                         .Select(e => e.EventArgs.GetPosition(ClickTarget))
                         .Subscribe(ConsoleOutput(Text.Clicked)));

            yield return(EnterTarget
                         .DependencyPropertyChanged <bool>(UIElement.IsMouseOverProperty)
                         .Subscribe(ConsoleOutput(Text.Entered)));
        }
Ejemplo n.º 5
0
    void Start()
    {
        this.tower = GetComponent <Tower>();
        this.tower.OnCharacterChanged += Tower_OnCharacterChanged;
        this.draggable = this.canDrag;

        this.tower.gridObject.pos = Root.instance.grid.WorldToGridPos(this.transform.position);
        Root.instance.grid.AddObject(GetComponent <GridObject>(), this.tower.gridObject.pos);

        this.dragstate           = DragStates.IDLE;
        this.target              = GetComponent <ClickTarget>();
        this.target.OnDragStart += Target_OnDragStart;
        this.target.OnDragEnd   += Target_OnDragEnd;

        Root.instance.grid.TowerColorChanged += Grid_TowerColorChanged;
    }
Ejemplo n.º 6
0
    private void OnTargetClicked(ClickTarget target, int index)
    {
        if (index == expectedTargetIndex)
        {
            expectedTargetIndex++;
            //whatever happens when clicked

            if (expectedTargetIndex == targets.Length)  //after clicking all required words in correct order, unlock emotion.
            {
                battleManager.BackClicked();
                timer.timeLeft = timer.maxTime;
                gameManager.UnlockTier();



                if (emotionList.currentEmotionID == 1 && gameManager.happyUnlocked == false)
                {
                    gameManager.UnlockHappy();
                }
                if (emotionList.currentEmotionID == 2)
                {
                    gameManager.UnlockSad();
                }
                if (emotionList.currentEmotionID == 3)
                {
                    gameManager.UnlockAngry();
                }
                if (emotionList.currentEmotionID == 4)
                {
                    gameManager.UnlockSurprise();
                }
                if (emotionList.currentEmotionID == 5)
                {
                    gameManager.UnlockFear();
                }
                if (emotionList.currentEmotionID == 6)
                {
                    gameManager.UnlockDisgust();
                }
            }
        }
        else
        {
            expectedTargetIndex = 0;
            timer.timeLeft     -= 1;
        }
    }
Ejemplo n.º 7
0
    public void RespawnPlayer()
    {
        ClickTarget click = FindObjectOfType <ClickTarget>();

        aiPath.target = transform;
        SceneManager.LoadScene("Village");
        //uiControl.whichScene("Village");
        //uiControl.StartFade(false);

        if (pCash >= 100)
        {
            pCash -= 100;
        }
        else
        {
            pCash = 0;
        }
    }
Ejemplo n.º 8
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.tag == "Player")
     {
         pEng = FindObjectOfType <PlayerEngine>();
         pEng.startingPointName = exitPoint;
         pEng.GetComponent <AIPath>().target = pEng.transform;
         click = FindObjectOfType <ClickTarget>();
         click.transform.position = pEng.transform.position;
         click.gameObject.SetActive(false);
         //pEng.gameObject.GetComponent<AIPath>().enabled = false;
         uiControl.whichScene(loadLevel);
         uiControl.StartFade(false);
         //pEng.gameObject.GetComponent<AIPath>().enabled = true;
         click.gameObject.SetActive(true);
         pEng.GetComponent <AIPath>().target = pEng.transform;
         click.transform.position            = pEng.transform.position;
     }
 }
Ejemplo n.º 9
0
    // Function called when a target is clicked
    private void OnTargetClicked(ClickTarget target, int index)
    {
        Debug.Log(target.name + " has been clicked!");
        if (index == expectedTargetIndex)
        {
            Debug.Log("The correct target has been clicked");
            expectedTargetIndex++;
            if (expectedTargetIndex == targets.Length)
            {
                Debug.Log("The last target has been clicked : Loading next scene");

                // Load next scene
                SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
            }
        }
        else
        {
            Debug.Log("The wrong target has been clicked");
            expectedTargetIndex = 0;
        }
    }
Ejemplo n.º 10
0
 void Start()
 {
     player = FindObjectOfType <PlayerEngine>();
     pTar   = FindObjectOfType <ClickTarget>();
     aiPath = player.gameObject.GetComponent <AIPath>();
 }