// Use this for initialization void Start() { eSMS = this.GetComponent <enemyStandardMovingScript> (); gms = GameManagerGetter.getGameManager(); mainCor = StartCoroutine(mainLoop()); }
IEnumerator mainLoop() { while (true) { yield return(new WaitForSeconds(_genarateIntervalSec)); //敵発見してない場合はやらない if (thisEnemy.charaFindFlag == true) { GameObject tmpGO = Instantiate(_throwBullet) as GameObject; tmpGO.transform.position = this.transform.position; enemyStandardMovingScript eTB = tmpGO.GetComponent <enemyStandardMovingScript> (); Vector3 tmpV = this.transform.position; GameObject nearChara = GMS.getMostNearCharacter(tmpV); if (nearChara == null) { yield break; } eTB.setMoveTypeTargetPosi(1, nearChara.transform.position - tmpV); tmpGO.transform.Find("AttackErea").GetComponent <damageErea>().setDealDamage(thisEnemy.getAttackingPower() * 0.8f); eTB.setDestoryMe(1f); } } }
IEnumerator mainLoop() { int coolTime = 0; while (true) { yield return(new WaitForSeconds(_genaratePerSec)); GameObject tmpGO = (GameObject)Instantiate(_piyoPrefabs); tmpGO.transform.position = this.transform.position; tmpGO.GetComponent <allEnemyBase>()._defaultLevel = _genarateDefaultLevel; enemyStandardMovingScript eSMS = tmpGO.GetComponent <enemyStandardMovingScript>(); Vector2 tmpV2 = Random.insideUnitCircle; Vector3 tmpV3 = new Vector3(this.transform.position.x + (tmpV2.x * _meetingCircleMagnX), this.transform.position.y + (tmpV2.y * _meetingCircleMagnY), 0f); //Debug.Log (tmpV2); if (_meetingWorldPosition != Vector3.zero) { tmpV3 = new Vector3(_meetingWorldPosition.x + (tmpV2.x * _meetingCircleMagnX), _meetingWorldPosition.y + (tmpV2.y * _meetingCircleMagnY), 0f); } eSMS.setMoveTypeTargetPosi(0, tmpV3); coolTime++; if (coolTime >= _genarateCoolCount) { coolTime = 0; yield return(new WaitForSeconds(_genarateCoollTime)); genarateCnt++; } if (_genalateLimit != 0 && _genalateLimit <= genarateCnt) { Destroy(this.gameObject); break; } } }