void Update() { if (!isLocalPlayer) { return; } /*************************************************************/ if (Input.GetKeyDown(KeyCode.P)) { selfControl = !selfControl; } if (myTeamMate != null && takeGuns != null) { if (Input.GetKeyDown(KeyCode.Mouse0) && HasFirePower && GetComponent <AimBehaviourBasic>().Aiming() && !GetComponent <PlayerHealth>().death) { //ShootingPoint.transform.position = cam.transform.position; ShootingPoint.transform.rotation = cam.transform.rotation; FireAttack(this.ShootingPoint.transform.position, this.ShootingPoint.transform.rotation); //anim.SetTrigger("Attacking"); CmdDoFire(this.ShootingPoint.transform.position, this.ShootingPoint.transform.rotation); if (isServer) { RpcDoFire(this.ShootingPoint.transform.position, this.ShootingPoint.transform.rotation); } } /*************************************************************/ if (Input.GetKeyDown(KeyCode.Mouse0) && HasElectricPower && GetComponent <AimBehaviourBasic>().Aiming() && !GetComponent <PlayerHealth>().death) { ShootingPoint.transform.rotation = cam.transform.rotation; ElectrecAttack(this.ShootingPoint.transform.position, this.ShootingPoint.transform.rotation); CmdDoElictric(this.ShootingPoint.transform.position, this.ShootingPoint.transform.rotation); if (isServer) { RpcDoElictric(this.ShootingPoint.transform.position, this.ShootingPoint.transform.rotation); } } /*************************************************************/ if (Input.GetKeyDown(KeyCode.Mouse0) && HasWaterPower && GetComponent <AimBehaviourBasic>().Aiming() && !GetComponent <PlayerHealth>().death) { ShootingPoint.transform.rotation = cam.transform.rotation; WaterAttack(this.ShootingPoint.transform.position, this.ShootingPoint.transform.rotation); CmdDoWater(this.ShootingPoint.transform.position, this.ShootingPoint.transform.rotation); if (isServer) { RpcDoWater(this.ShootingPoint.transform.position, this.ShootingPoint.transform.rotation); } } if (Input.GetKeyDown(KeyCode.Mouse0) && HasHealthPower && !GetComponent <PlayerHealth>().death) { PlayerHealth health = this.GetComponent <PlayerHealth>(); if (health.health < 100) { if (health.health > 90) { health.health = 100; } else { this.GetComponent <PlayerHealth>().health += 10; } } } PlayerAttackType(); } else { sync = this.GetComponent <Player_Sync>(); myTeamMate = sync.getTeamMate(); if (myTeamMate != null) { takeGuns = myTeamMate.GetComponent <takeGuns>(); } else { print("teammate is null"); } } }
// Update is called once per frame void Update() { if (!isLocalPlayer) { return; } CmdSelect(selected); /*get the team mate*/ if (myTeamMate == null || TeamMateCollect == null) { sync = this.GetComponent <Player_Sync>(); myTeamMate = sync.getTeamMate(); if (myTeamMate != null) { TeamMateCollect = myTeamMate.GetComponent <Collect_PowerUp>(); } } if (myTeamMate != null)//treasure key { try { if (myTeamMate.GetComponent <status>().hasKey) { treasure_key.enabled = true; } if (myTeamMate.GetComponent <PlayerHealth>().hasDoorKey) { doors_key.enabled = true; } } catch (System.Exception e) { print(e); } } if (TeamMateCollect != null) //when the teammate take somthing this player and set the correct image { if (TeamMateCollect.Elictricity != guns[EIndex]) { guns[EIndex] = TeamMateCollect.Elictricity; setPic(EIndex); } if (TeamMateCollect.Fire != guns[FIndex]) { guns[FIndex] = TeamMateCollect.Fire; setPic(FIndex); } if (TeamMateCollect.Water != guns[WIndex]) { guns[WIndex] = TeamMateCollect.Water; setPic(WIndex); } if (TeamMateCollect.Health != guns[HIndex]) { guns[HIndex] = TeamMateCollect.Health; setPic(HIndex); } if (TeamMateCollect.WaterD != WaterD) { WaterD = TeamMateCollect.WaterD; setPic(WdIndex); } if (TeamMateCollect.ElictricityD != ElictricityD) { ElictricityD = TeamMateCollect.ElictricityD; setPic(EdIndex); } if (TeamMateCollect.FireD != FireD) { FireD = TeamMateCollect.FireD; setPic(FdIndex); } } //selecting the gun if (Input.GetKeyDown(KeyCode.Alpha1)) { selectgun(0); } else if (Input.GetKeyDown(KeyCode.Alpha2)) { selectgun(1); } else if (Input.GetKeyDown(KeyCode.Alpha3)) { selectgun(2); } else if (Input.GetKeyDown(KeyCode.Alpha4)) { selectgun(3); } if (Input.GetKeyDown(KeyCode.D)) { isDefend = !isDefend; if (wallToSpawn != null) { Destroy(wallToSpawn); } } if (isDefend)//creating walls to defend { if (Cam != null) { myRay = Cam.ScreenPointToRay(Input.mousePosition); } else { print("cam is null"); } if (Physics.Raycast(myRay, out hit, 4000)) { if (wallToSpawn == null) { wallToSpawn = Instantiate(Wall1, hit.point, Quaternion.Euler(90, 180, 0)); wallToSpawn.transform.position += up; } else { if (hit.collider.tag == "ground") { wallToSpawn.transform.position = hit.point; wallToSpawn.transform.position += up; } if (Input.GetKeyDown(KeyCode.Space)) { wallToSpawn.transform.Rotate(0, 0, 45); } } } if (Input.GetMouseButtonDown(0)) { if (wallToSpawn != null) { if (isServer) { Defend(wallToSpawn.transform.position, wallToSpawn.transform.rotation); } else { CmdDefend(wallToSpawn.transform.position, wallToSpawn.transform.rotation); } Destroy(wallToSpawn); isDefend = !isDefend; } } } }