Пример #1
0
    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");
            }
        }
    }
Пример #2
0
    // 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;
                }
            }
        }
    }