Example #1
0
    // 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);
            }
        }
    }
Example #3
0
    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;
            }
        }
    }