示例#1
0
    // アイテムドロップ
    private void DropItem()
    {
        BoatController.eBOAT_TYPE boatType = this.GetComponent <BoatController>().boatType;
        // 漁船の種類が大でなければアイテムドロップ抽選
        if (boatType != BoatController.eBOAT_TYPE.BIGGER)
        {
            // 0.0~1.0からの値をランダムで取得して
            // 指定割合以下ならアイテムドロップする
            if (Random.value > itemDropRatio)
            {
                return;
            }
        }

        int   itemDropNums = 1;         // アイテムドロップの数
        float adjustPosX   = 0.5f;

        // 漁船(大)ならアイテムを複数ドロップ
        if (boatType == BoatController.eBOAT_TYPE.BIGGER)
        {
            itemDropNums = 3;
        }
        for (int i = 0; i < itemDropNums; i++)
        {
            // ボートが居た場所にドロップする
            GameObject itemObj =
                (GameObject)Instantiate(
                    itemHeart,
                    new Vector3(this.transform.position.x + (adjustPosX * i), this.transform.position.y, 0.0f),
                    Quaternion.identity);
            itemObj.SetActive(true);
        }
    }
示例#2
0
    // ボートの槍攻撃
    public bool Fire(bool AllOutAttack, bool isAttack, bool isLeft, Transform trans, float posX, float posY, GameObject boatSpear, BoatController.eBOAT_TYPE boatType)
    {
        // 発射可能な最大数の銛を撃っていたら攻撃しない
        // 一斉攻撃フラグが立っている時は無視
        if (spears.Count >= maxSpears[(int)boatType] && AllOutAttack)
        {
            return(isAttack);
        }
        // 攻撃中なら中断
        if (isAttack)
        {
            return(isAttack);
        }

        // 左向きの場合、コピー元の銛から少し左にずらす
        float adjustPosX = 0.0f;

        if (isLeft)
        {
            adjustPosX = -1.0f;
        }
        // 漁船(大)の銛位置調整
        if (boatType == BoatController.eBOAT_TYPE.BIGGER)
        {
            float biggerAdjustPoxX = 0.7f;
            if (!isLeft)
            {
                adjustPosX += biggerAdjustPoxX;
            }
            else
            {
                adjustPosX -= biggerAdjustPoxX;
            }
        }

        // 銛の生成
        GameObject createObj = (GameObject)Instantiate(
            boatSpear,
            new Vector3(
                posX + adjustPosX,
                posY,
                0.0f),
            Quaternion.identity);

        boatSpearScript = createObj.GetComponent <BoatSpear>();
        boatSpearScript.ShotSpear(isLeft);
        isAttack = true;


        // 銛のオブジェクトをListに入れておく
        spears.Add(createObj);

        return(isAttack);
    }