コード例 #1
0
    public void ShootCannon()
    {
        GameObject thisCannonBall = Instantiate(cannonBall, transform.position, transform.rotation);

        thisCannonBall.GetComponent <Rigidbody>().AddRelativeForce(firePower, 0, 0, ForceMode.Impulse);
        thisCannonBall.GetComponent <CannonBall>().SetMountainTops(MountainGenerator.GetMountainTops());
        thisCannonBall.GetComponent <CannonBall>().SetMountainTop(MountainGenerator.GetMountainTop());
    }
コード例 #2
0
    private void MountainCollisionDetection()
    {
        Dictionary <int, float> mountainTops = MountainGenerator.GetMountainTops();

        float xminPosition        = _turkey.minX;
        float xmaxPosition        = (_turkey.GetAvgLateralVelocity() > 0) ? _turkey.maxX : (_turkey.maxX + _turkey.minX) / 2;
        float yPosition           = _turkey.minY;
        int   roundedXminPosition = (int)Math.Round(xminPosition);
        int   roundedXmaxPosition = (int)Math.Round(xmaxPosition);

        if (mountainTops.Keys.Contains(roundedXminPosition) && yPosition < mountainTops[roundedXminPosition])
        {
            _turkey.MountainBouncing(mountainTops[roundedXminPosition]);
        }
        else if ((mountainTops.Keys.Contains(roundedXmaxPosition) && yPosition < mountainTops[roundedXmaxPosition]))
        {
            _turkey.MountainBouncing(mountainTops[roundedXmaxPosition]);
        }
    }