Пример #1
0
    private void buffs()
    {
        vhm.HealObject(5);
        dam.AdjustDriverUltimateProgress(10);
        gwm.AdjustGunnerUltimateProgress(5);
        TeamEntry team = gamestateTracker.teams.Get((short)vhm.teamId);

        team.checkpoint++;
        team.Increment();
    }
Пример #2
0
    // Die is a LOCAL function that is only called by the driver when they get dead.
    protected void Die(bool updateDeath, bool updateKill)
    {
        // Update gamestate

        networkManager.CallRespawnVehicle(5f, teamId);


        TeamEntry team = gamestateTracker.teams.Get((short)teamId);

        myPhotonView.RPC(nameof(SetGunnerHealth_RPC), RpcTarget.All, 0f);
        bool hadPotato = hpm.removePotato();

        if (!hadPotato)
        {
            announcerManager.PlayAnnouncerLine(announcerManager.announcerShouts.onKilled, npv.GetDriverID(), npv.GetGunnerID());
        }

        team.Release();


        // update my deaths
        if (updateDeath)
        {
            /*GamestateTracker.TeamDetails myRecord = gamestateTracker.getTeamDetails(teamId);
             * myRecord.deaths += 1;
             * myRecord.isDead = true;
             * gamestateTrackerPhotonView.RPC(nameof(GamestateTracker.UpdateTeamWithNewRecord), RpcTarget.All, teamId,
             *  JsonUtility.ToJson(myRecord));*/

            TeamEntry teamEntry = gamestateTracker.teams.Get((short)teamId);
            teamEntry.deaths += 1;
            teamEntry.isDead  = true;
            teamEntry.Increment();
        }

        if (updateKill)
        {
            // update their kills

            /*GamestateTracker.TeamDetails theirRecord = gamestateTracker.getTeamDetails(lastHitDetails.sourceTeamId);
             * theirRecord.kills += 1;
             * gamestateTrackerPhotonView.RPC(nameof(GamestateTracker.UpdateTeamWithNewRecord), RpcTarget.All,
             *  lastHitDetails.sourceTeamId, JsonUtility.ToJson(theirRecord));*/

            TeamEntry teamEntry = gamestateTracker.teams.Get((short)lastHitDetails.sourceTeamId);
            teamEntry.kills += 1;
            teamEntry.Increment();
        }
    }
Пример #3
0
 private void OnTriggerEnter(Collider other)
 {
     if (this.enabled)
     {
         short     teamId = (short)GetComponent <VehicleHealthManager>().teamId;
         TeamEntry team   = gamestateTracker.teams.Get(teamId);
         if (other.CompareTag("Checkpoint") && team.driverId == PhotonNetwork.LocalPlayer.ActorNumber)
         {
             checkpoints++;
             checkpointPos = bc.NextCheckpoint(checkpointPos);
             bc.gameObject.transform.position = checkpointPos;
             bc.photonView.RPC(nameof(BasicCheckpoint.UpdatePosition_RPC), RpcTarget.All, checkpointPos.x, checkpointPos.y, checkpointPos.z, team.gunnerId);
             team.checkpoint = (short)checkpoints;
             team.Increment();
         }
         else
         {
             team.Release();
         }
     }
 }
Пример #4
0
    public void ResetProperties()
    {
        // Debug.Log("reset properties");

        TeamEntry team = gamestateTracker.teams.Get((short)teamId);

        myPhotonView.RPC(nameof(SetGunnerHealth_RPC), RpcTarget.All, maxHealth);
        team.Release();
        GunnerWeaponManager gunnerWeaponManager = GetComponentInChildren <GunnerWeaponManager>();

        gunnerWeaponManager.Reset();

        DriverAbilityManager driverAbilityManager = GetComponent <DriverAbilityManager>();

        driverAbilityManager.Reset();
        hpm.canPickupPotato = true;

        smokeL.Stop();
        smokeM.Stop();
        smokeH.Stop();
        // Debug.Log("Called");

        rb.linearDamping   = defaultDrag;
        rb.angularDamping  = defaultAngularDrag;
        rb.velocity        = Vector3.zero;
        rb.angularVelocity = Vector3.zero;
        icd4.isDead        = false;

        rb.centreOfMass = Vector3.zero;

        TeamEntry teamEntry = gamestateTracker.teams.Get((short)teamId);

        teamEntry.isDead = false;
        teamEntry.Increment();
        myPhotonView.RPC(nameof(ResetMesh_RPC), RpcTarget.AllBuffered);
        myPhotonView.RPC(nameof(SetIsDead_RPC), RpcTarget.All, false);
        GetComponentInChildren <DriverCinematicCam>().ResetCam();
    }