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); } }
/// <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); }
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; } }
//=== 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; } } } } }