// Start is called before the first frame update void Start() { arrowUps = play.GetComponentInChildren <ShootArrow>(); healthUps = play.GetComponent <Player>(); moveUps = play.GetComponent <PlayerMove>(); maximumPowerups = _arrowMax + _damageMax + _drawMax + _drawRateMax + _healthDelayMax + _healthMax + _healthRateMax + _heightMax + _jumpMax + _reloadMax + _SpeedMax + 4; }
private GameObject CreateShootArrow(int _start, int _end, Color _color) { GameObject go = GameObject.Instantiate <GameObject>(Resources.Load <GameObject>("ShootArrow")); ShootArrow arrow = go.GetComponent <ShootArrow>(); go.transform.SetParent(arrowContainer, false); MapUnit start = mapUnitDic[_start]; MapUnit end = mapUnitDic[_end]; go.transform.position = (start.transform.position + end.transform.position) * 0.5f; float angle = Mathf.Atan2(end.transform.position.y - start.transform.position.y, end.transform.position.x - start.transform.position.x); Quaternion q = new Quaternion(); q.eulerAngles = new Vector3(0, 0, angle * 180 / Mathf.PI); go.transform.localRotation = q; arrow.SetColor(_color); return(go); }
public static Action getAction(Vector3 pos, float speed) { ShootArrow action = ScriptableObject.CreateInstance <ShootArrow>(); action.factory = Factory_Arrow.getInstance(); action.arrow = action.factory.getProduct(); action.gameobject = action.arrow.gameobject; action.gameobject.transform.position = pos; action.gameobject.GetComponent <Rigidbody>().velocity = (new Vector3(0, 0, 200) - pos).normalized * speed; return(action); }
protected override void Awake() { base.Awake(); m_board = Object.FindObjectOfType <Board>().GetComponent <Board>(); m_enemyMover = GetComponent <EnemyMover>(); m_enemySensor = GetComponent <EnemySensor>(); m_enemyAttack = GetComponent <EnemyAttack>(); m_skeletonArrow = GetComponent <ShootArrow>(); godMode = Object.FindObjectOfType <GodModeManager>(); }
private void CreateArrowAnimation(GameObject combatant, GameObject target, Vector3 dif) { GameObject arrowObj = Instantiate(arrow); ShootArrow shootArrow = arrowObj.GetComponent <ShootArrow>(); int x, z; ScreenToLogical(combatant.transform.position.x, combatant.transform.position.z, out x, out z); shootArrow.startX = x; shootArrow.startY = z; ScreenToLogical(target.transform.position.x, target.transform.position.z, out x, out z); shootArrow.targetX = x; shootArrow.targetY = z; }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.tag == "ArrowHit") { ShootArrow arrow = collision.transform.GetComponent <ShootArrow>(); if (arrow != null) { arrow.stopMoving = true; } else { Debug.Log("Error on shoot - no object found"); } } }
// Update is called once per frame new void Update() { if (isReady) { Action ac = CountBack.getAction(); ac.callback = this; RunAction(ac); isReady = false; } /* * if (Input.GetMouseButton(0)) { * * Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); * Debug.Log(Input.mousePosition); * RaycastHit hitInfo; * * if (Physics.Raycast(ray, out hitInfo)) { * GameObject hitObj = hitInfo.collider.gameObject; * if (hitObj.CompareTag("UFO")) { * UFO ufo = Factory_UFO.getInstance().getProduct(hitObj.GetInstanceID()); * if (ufo.canHit) { * ufo.canHit = false; * scorer.addScore(ufo.Score); * } * } * } * }*/ if (Input.GetMouseButtonDown(0)) { const int ARROW_WIDTH = 300; // 箭射出的初始范围 const int ARROW_HEIGHT = 70; Vector3 pos = new Vector3( Input.mousePosition.x / Screen.width * ARROW_WIDTH - ARROW_WIDTH / 2, Input.mousePosition.y / Screen.height * ARROW_HEIGHT, 0 ); RunAction(ShootArrow.getAction(pos, 500f)); } base.Update(); }
// Use this for initialization void Start() { rb2d = GetComponent<Rigidbody2D>(); bowT = GameObject.FindGameObjectWithTag("Bow").transform; stPos = GameObject.FindGameObjectWithTag("Bow").transform.FindChild("MidPos").transform; sa = GameObject.FindGameObjectWithTag("Bow").GetComponentInChildren<ShootArrow>(); transform.position = stPos.position + new Vector3(arrowLen, 0, 0); shootFlag = false; collisionFlag = false; water_drip_1 = GameObject.FindGameObjectWithTag("water_drip_1"); water_drip_2 = GameObject.FindGameObjectWithTag("water_drip_2"); water_drip_3 = GameObject.FindGameObjectWithTag("water_drip_3"); if (water_drip_1 && water_drip_2 && water_drip_3) { water_drip_1.SetActive (false); water_drip_2.SetActive (false); water_drip_3.SetActive (false); } }
void Start() { /// Initializations soundFX = GetComponent <audioPlay>(); swordAoE = GameObject.Find("SwordColl").GetComponent <SphereCollider> (); cameraShake.shake = 0; isDead = false; stats = GameObject.Find("DungeonMaster").GetComponent <DungeonMaster> ().playerStats; ui = GameObject.FindGameObjectWithTag("UI").GetComponent <uiDisplay> (); shootArrow = gameObject.GetComponentInChildren <ShootArrow> (); shootMultiArrow = gameObject.GetComponentInChildren <ShootMultiArrow> (); changeWeapon(0); controller = this.gameObject.GetComponent <CharacterController> (); ReceiverDamage receiver = GetComponent <ReceiverDamage> (); if (receiver == null) { print("RECEIVER IS NULL"); } else { receiver.setStats(stats); } SenderDamage[] sender = GetComponentsInChildren <SenderDamage> (); if (sender != null) { foreach (SenderDamage sd in sender) { Debug.Log(sd.gameObject.name); sd.setStats(stats); } } ui.UpdateHealth(stats.getCurHealth(), stats.getMaxHealth()); cc = gameObject.GetComponent <CharacterController> (); rb = gameObject.GetComponent <Rigidbody> (); concealed = false; }
// Use this for initialization void Start() { stPos = transform.rotation; sa = GetComponentInChildren<ShootArrow>(); }
// Use this for initialization void Start() { stPos = transform.localPosition; sa = GetComponent<ShootArrow>(); }