コード例 #1
0
    public void fire(float f)
    {
        if (RunnerHealth.isInSwitch())
        {
            return;
        }
        // TODO: Currently thresholding input to start/stop firing. Can modify to synchronize firing rate in
        // proportion to given float in range which is in range [0.0f, 1.0f].
        if (Time.time - lastFired > 60 / firing_rate && f > 0.5f)
        {
            Vector3 barrel_top = _barrel.transform.TransformPoint(new Vector3(0, 1, 0));

            GameObject go = MonoBehaviour.Instantiate(Resources.Load("CannonBall") as GameObject,
                                                      barrel_top, Quaternion.identity);

            go.layer = LayerMask.NameToLayer("Projectile");

            go.GetComponent <Renderer> ().material = _barrel.GetComponent <Renderer> ().material;

            go.GetComponent <Rigidbody> ().velocity =
                (_barrel.transform.TransformPoint(new Vector3(0, 1, 0)) - _barrel.transform.position) * 15;
            go.GetComponent <CannonBallMetadata> ().setMetadata(cID, this);
            float    alpha    = 1.0f;
            Gradient gradient = new Gradient();
            gradient.SetKeys(
                new GradientColorKey[] { new GradientColorKey(Color.black, 0.0f), new GradientColorKey(getMaterial().color, 1.0f) },
                new GradientAlphaKey[] { new GradientAlphaKey(alpha, 0.0f), new GradientAlphaKey(alpha, 1.0f) }
                );
            go.GetComponent <TrailRenderer>().colorGradient = gradient;
            lastFired = Time.time;
            //DO NOT REMOVE THIS LINE
            AudioDriver.S.play(SoundType.launch);
        }
    }
コード例 #2
0
ファイル: PowerUp.cs プロジェクト: bostonc/party_cannons_game
    void Update()
    {
        if (RunnerHealth.isInSwitch())
        {
            return;
        }

        runner.layer = powerUpState ["Shield"] ? LayerMask.NameToLayer("Invincible") :  LayerMask.NameToLayer("Default");

        if (powerUpState ["SlowDown"])
        {
            currentRunner.speed = defaultRunnerSpeed * 0.5f;
        }
        else if (powerUpState ["SpeedUp"])
        {
            currentRunner.speed = defaultRunnerSpeed * 2.0f;
        }
        else
        {
            currentRunner.speed = defaultRunnerSpeed;
        }

        if (powerUpState ["JumpHigh"])
        {
            currentRunner.jumpPower = defaultJumpPower * 2;
        }
        else
        {
            currentRunner.jumpPower = defaultJumpPower;
        }


        CannonControl.freeze = powerUpState ["FreezeCannon"];
    }
コード例 #3
0
    void Awake()
    {
        rh = this;
        // initialize to 1 for now
        runnerHealth = 1;

        //initialize cannon color
        //get pID from cID

        //check cannon1


        //check cannon2

        //check cannon3
    }