void Start() { m_player = GameObject.FindGameObjectWithTag("Player"); m_stats = m_player.GetComponent<Stats>(); m_arrowBehavior = this.GetComponentInParent<ArrowBehavior>(); m_playerState = m_player.GetComponent<ChangePlayerState>(); }
public void OnEndDrag(PointerEventData eventData) { sides = new List <int>(); sides.Add(lftArrow); sides.Add(rghtArrow); ah = this.transform.Find("ArrowHolder").gameObject; ab = ah.GetComponent <ArrowBehavior>(); ab.Nullify(sides); }
private void ShootArrow() { // Spawn a new arrow and shoot it with the current drawstrength ArrowBehavior spawnedArrow = Instantiate(arrowTemplate); spawnedArrow.gameObject.SetActive(true); spawnedArrow.Shoot(drawManager.DrawStrength); drawManager.DrawStrength = 0f; }
void OnTriggerEnter2D(Collider2D other) { if (!debounce && (other.tag != "Enemy" && other.isTrigger == false) || other.tag == "Player") { ArrowBehavior exp = Instantiate(explosion, transform); exp.SetBehavior(0, transform.position, 0, 0); debounce = true; Destroy(gameObject); } }
public void activate(GameObject sender, GameObject target, float damage) { GameObject createdActionObject = Instantiate(actionObject, gameObject.transform.position, Quaternion.identity); //arrow.transform.parent = gameObject.transform; ArrowBehavior unitArrowBehavior = createdActionObject.transform.gameObject.GetComponent <ArrowBehavior>(); unitArrowBehavior.sender = sender; unitArrowBehavior.target = target; unitArrowBehavior.damage = damage; }
void Passive() { shotTarget = passiveTimer; if (shotTimer > shotTarget && shotTarget > 0) { target = new Vector2(transform.position.x + 1 * -(transform.right.normalized.x), transform.position.y + 1); ArrowBehavior arroz = Instantiate(arrow); arroz.SetBehavior(damage, transform.position, target, target - new Vector2(transform.position.x, transform.position.y), arrowSpeed); shotTimer = 0; } }
void Shoot() { audio.Play(); _shootCoolDown = Time.time + shootCooldown; GameObject newBullet = Instantiate(arrowPrefab, spawnpoint.position, spawnpoint.rotation) as GameObject; newBullet.transform.parent = GameObject.FindGameObjectWithTag("Bullets").transform; ArrowBehavior newBulletScript = newBullet.GetComponent <ArrowBehavior>(); newBulletScript.SetDamage(attackDamage); newBulletScript.SetTarget(_enemyScripts[0].thisTransform); /* * animator.SetTrigger("shoot"); * audio.clip = sounds[1]; * audio.Play(); */ }
public void Attack(string name) { ah = this.transform.Find("ArrowHolder").gameObject; ab = ah.GetComponent <ArrowBehavior>(); switch (name) { case "rghtArrow": ab.DoDamage(1, rghttarrowdmg); break; case "lftArrow": ab.DoDamage(5, lftarrowdmg); break; case "upArrow": ab.DoDamage(7, uparrowdmg); break; case "dwnArrow": ab.DoDamage(3, dwnarrowdmg); break; case "cuplftArrow": ab.DoDamage(4, cuplftarrowdmg); break; case "cuprghtArrow": ab.DoDamage(2, cuprghtarrowdmg); break; case "cdwnlftArrow": ab.DoDamage(6, cdwnleftarrowdmg); break; case "cdwnrghtArrow": ab.DoDamage(8, cdwnrghtarrowdmg); break; } }
void Aggressive() { shotTarget = aggroTimer; if (shotTimer > shotTarget && shotTarget > 0) //shoot at the player every two seconds //determine player position { float playerX = GetPlayer().transform.position.x; float playerY = GetPlayer().transform.position.y; //make target mean something GenerateTarget(playerX, playerY); //raycast to target; if open air, shoot RaycastHit2D line = Physics2D.Linecast(transform.position, target, mask); if (!line) { ArrowBehavior arroz = Instantiate(arrow); arroz.SetBehavior(damage, transform.position, target, target - new Vector2(transform.position.x, transform.position.y), arrowSpeed); shotTimer = 0; } } }
void Start() { GM = GameManager.Instance; //Bow Start Config bowStringRenderer = bowString.GetComponent <LineRenderer>(); //bowStringRenderer.material.color = Color.gray; bowStringRenderer.sortingLayerName = "Weapons"; bowStringRenderer.sortingOrder = 1; stringStartPosition = bowStringRenderer.GetPosition(1); //Arrow Start Config arrowBehavior = transform.GetChild(0).GetComponent <ArrowBehavior>(); arrowStartPosition = new Vector3( this.transform.position.x - 0.5f, this.transform.position.y + 0.08f, this.transform.position.z); arrow = Instantiate(arrow, arrowStartPosition, Quaternion.identity); arrowRigidBody = arrow.GetComponent <Rigidbody2D>(); arrow.transform.parent = transform; arrowStartLocalPosition = arrow.transform.localPosition; CameraController.ObjectToFollow = arrow.transform; }
void ShootArrow(float angle) { ArrowBehavior currentShot = Instantiate(shot); currentShot.SetBehavior(30, transform.position, angle, 5f); }
public void Nullify(List <int> sides) { Grandpa = this.transform.parent.parent; sibIndex = Grandpa.GetSiblingIndex(); ArrowBehavior arrowBehavior = this; if (sibIndex % 4 == 0) { foreach (int side in sides) { switch (side) { case 3: arrowBehavior.transform.Find("" + side).GetComponent <Button>().interactable = false; break; case 4: arrowBehavior.transform.Find("" + side).GetComponent <Button>().interactable = false; break; case 5: arrowBehavior.transform.Find("" + side).GetComponent <Button>().interactable = false; break; default: arrowBehavior.transform.Find("" + side).GetComponent <Button>().interactable = true; break; } } } else if ((sibIndex + 1) % 4 == 0 || sibIndex == 19) { foreach (int side in sides) { switch (side) { case 1: arrowBehavior.transform.Find("" + side).GetComponent <Button>().interactable = false; break; case 2: arrowBehavior.transform.Find("" + side).GetComponent <Button>().interactable = false; break; case 8: arrowBehavior.transform.Find("" + side).GetComponent <Button>().interactable = false; break; default: arrowBehavior.transform.Find("" + side).GetComponent <Button>().interactable = true; break; } } } else { foreach (int side in sides) { arrowBehavior.transform.Find("" + side).GetComponent <Button>().interactable = true; } } }