示例#1
0
    public void getLaserGunState(LaserGunState state)
    {
        beamRenderer.enabled = false;
        laserGunState.copy(state);

        // set the line renderer settings
        initializeLaserGunSettings();
    }
示例#2
0
    public LaserGunState useInventory(int slot)
    {
        if (inventory[slot] == null)
        {
            return(null);
        }

        LaserGunState toReturn = inventory[slot].GetComponent <LaserGunState>();

        inventory[slot]        = null;
        renderers[slot].sprite = null;

        return(toReturn);
    }
示例#3
0
    // Update is called once per frame
    void Update()
    {
        Vector3 target = cam.ScreenToWorldPoint(Input.mousePosition);

        rotateSniperDude(target);
        moveSniperDude();

        if (Input.GetMouseButton(0))
        {
            lasergun.shootLaser(target);
        }

        ramTime += Time.deltaTime;
        if (Input.GetKeyDown(KeyCode.Space))
        {
            if (ramTime >= ramCooldown)
            {
                ramOn   = true;
                speed   = 3.0f;
                ramTime = 0f;
                Invoke("setSpeedToNormal", 1);
            }
        }


        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            LaserGunState state = inventory.useInventory(0);

            if (state != null)
            {
                getPickup(state);
            }
        }

        if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            LaserGunState state = inventory.useInventory(1);

            if (state != null)
            {
                getPickup(state);
            }
        }
    }
示例#4
0
    public void copy(LaserGunState state)
    {
        power           = state.power;
        timeForOneRound = state.timeForOneRound;
        magazineSize    = state.magazineSize;
        reloadTime      = state.reloadTime;

        startColor.r = state.startColor.r;
        startColor.g = state.startColor.g;
        startColor.b = state.startColor.b;
        endColor.r   = state.endColor.r;
        endColor.g   = state.endColor.g;
        endColor.b   = state.endColor.b;

        recoil                 = state.recoil;
        range                  = state.range;
        startWidth             = state.startWidth;
        endWidth               = state.endWidth;
        bulletsLeft            = magazineSize;
        timeSinceLastShotFired = 1f;
        reloading              = false;
        reloadingTimeAmount    = 0f;
    }
示例#5
0
 public void getPickup(LaserGunState state)
 {
     lasergun.getLaserGunState(state);
 }