コード例 #1
0
    public void OnUITouchEvent(UITouchEvent ev, PointerEventData eventData, int status)
    {
        if (!enableTouch)
        {
            return;
        }
        if (cmdType == CmdType.NONE)
        {
            return;
        }
        switch (status)
        {
        case UITouchEvent.STATUS_TOUCH_DOWN:
            OnPointerDown(eventData);
            break;

        case UITouchEvent.STATUS_TOUCH_MOVE:
            OnDrag(eventData);
            break;

        case UITouchEvent.STATUS_TOUCH_UP:
            OnPointerUp(eventData);
            break;
        }
        if (callBackTouch != null)
        {
            callBackTouch(this, eventData, status);
        }
    }
コード例 #2
0
    /// <summary>
    /// Awake is called when the script instance is being loaded.
    /// </summary>
    void Awake()
    {
        uiTouchEvent = this.gameObject.AddComponent <UITouchEvent>();
        uiTouchEvent.callBackTouch = OnUITouchEvent;
        enableTouch = true;
        textCount.gameObject.SetActive(false);
        Texture2D tex = TextureCache.main.Load(AppRes.IMAGE_CMDITEM_BG);

        if (tex != null)
        {
            imageBg.sprite = LoadTexture.CreateSprieFromTex(tex);
        }
        SetLock(false);
    }
コード例 #3
0
    public void OnUITouchEvent(UITouchEvent ev, PointerEventData eventData, int status)
    {
        switch (status)
        {
        case UITouchEvent.STATUS_TOUCH_DOWN:
            onTouchDown();
            break;

        case UITouchEvent.STATUS_TOUCH_MOVE:
            onTouchMove();
            break;

        case UITouchEvent.STATUS_TOUCH_UP:
            onTouchUp();
            break;
        }
    }
コード例 #4
0
    //===
    void Update()
    {
        if (Input.GetMouseButtonDown(0) && uiTouchEvent != null)
        {
            uiTouchEvent();
            uiTouchEvent = null;
        }

        if (timer > 0)
        {
            timer -= Time.deltaTime;
        }
        else if (Input.GetMouseButtonDown(0) && timer <= 0)
        {
            Vector2        pos      = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
            Vector2        spawnPos = Camera.main.ScreenToWorldPoint(pos);
            RaycastHit2D[] hits     = Physics2D.RaycastAll(spawnPos, Vector2.zero);
            for (int i = 0; i < hits.Length; i++)
            {
                if (hits[i])
                {
                    if (hits[i].transform.gameObject.tag == "FloorTouch")
                    {
                        Hero      target      = null;
                        Transform heroContent = hits[i].transform.parent.Find("Heroes");
                        for (int idx = 0; idx < heroContent.childCount; idx++)
                        {
                            if (heroContent.GetChild(idx).GetComponent <Hero>())
                            {
                                Hero tg = heroContent.GetChild(idx).GetComponent <Hero>();
                                if (tg.isAlive)
                                {
                                    if (target == null)
                                    {
                                        target = tg;
                                    }
                                    else if (target.transform.position.x < tg.transform.position.x)
                                    {
                                        target = tg;
                                    }
                                }
                            }
                        }
                        Vector2 firePos = new Vector2(spawnPos.x + Random.Range(-spawnRange, +spawnRange),
                                                      spawnPos.y + Random.Range(-spawnRange, +spawnRange));
                        EffectHandler.Instance.SpellEffect("spawnMissile", firePos, "PlayerAttack", 0);
                        if (target != null)
                        {
                            timer = shotCooltime;
                            Missile playerAttack;
                            float   value = Random.Range(0, 100);
                            if (value >= 50 - strongFirePercent / 2 && value <= 50 + strongFirePercent)
                            {
                                playerAttack          = Instantiate(strongMissilePrefab);
                                playerAttack.isStrong = true;
                            }
                            else
                            {
                                playerAttack = Instantiate(missilePrefab);
                            }
                            playerAttack.transform.position = firePos;
                            playerAttack.transform.SetParent(missileContentObject.transform);
                            playerAttack.Fire(target);
                        }
                        return;
                    }
                }
            }
        }
    }