private void DartMachineGun() { for (int i = 0; i <= _numOfCasts; i++) { float Xpos = Mathf.Cos(_calcAngle * Mathf.Deg2Rad) * _bossCollisionDetectDistance; float Zpos = Mathf.Sin(_calcAngle * Mathf.Deg2Rad) * _bossCollisionDetectDistance; Vector3 RayDir = (transform.forward * Zpos) + (transform.right * Xpos); if (_debug) { Debug.DrawLine(transform.position + (Vector3.up * _vertDetectOffset), transform.position + (Vector3.up * _vertDetectOffset) + (RayDir * _bossCollisionDetectDistance), Color.red); } if (Physics.Raycast(transform.position + Vector3.up, RayDir, out hitObj, _bossCollisionDetectDistance)) { GameObject hitObject = hitObj.collider.gameObject; if (hitObject == currentTrap) { DartTrap possessedTrap = hitObject.GetComponent <DartTrap>(); possessedTrap.BecomePossessed(this, _realDartPossessTime, _realDartFireDelay, _realDartSpawnDelay, _realDartShooterMoveSpeed, _DartXMin, _DartXMax, _DartZMin, _DartZMax); trapComplete = false; _MyAttack = TRAPSTRATS.INSIDETRAP; } } } _calcAngle = _startAngle; }
public void OnDartTrapConstruct() { bool hasMonies = true; if (hasMonies) { // Prepare Renderer rend = currentTrap.GetComponent <Renderer>(); Vector3 pos = new Vector3(currentTrap.transform.position.x, currentTrap.transform.position.y / 2, currentTrap.transform.position.z); // Instantiate GameObject go = Instantiate(dartTrapPrefab, pos, currentTrap.transform.rotation) as GameObject; DartTrap dt = go.GetComponent <DartTrap>(); dt.trapPlaceholder = currentTrap; dt.cc = this; // Hide Placeholder //rend.enabled = false; currentTrap.SetActive(false); OnTrapConstructClose(); } else { trapConstructError.text = "Not enough credits to construct dart trap."; } }
public void OnDartTrapModifySell() { // @todo: addCredits to Base stats Debug.Log("some coins added"); DartTrap dt = currentTrap.GetComponent <DartTrap>(); dt.trapPlaceholder.SetActive(true); Destroy(currentTrap); OnDartTrapModifyClose(); }
public void OnDartTrapModifyUpgrade() { bool hasMonies = false; if (hasMonies) { // @todo: remove coins Debug.Log("some coins removed"); DartTrap dt = currentTrap.GetComponent <DartTrap>(); dt.dps += dartTrapDpsUpgrade; OnDartTrapModifyClose(); } else { trapModifyError.text = "Not enough credits to upgrade attack of this trap."; } }