private void gerarBala() { armaRanged armaux = (armaRanged)armaAtual; GameObject aux = Instantiate(armaux.bala, armaux.lugarDeTiro.position, trans.rotation); aux.GetComponent <Rigidbody2D>().velocity = (trans.up) * armaux.velbala; Bullet balaGerada = aux.GetComponent <Bullet>(); balaGerada.nomeDoAtirador = username; balaGerada.damage = armaux.damage; balaGerada.force = armaux.Force; balaGerada.playerID = playerID; NetworkServer.Spawn(aux); Destroy(aux, armaux.projectileTime); balaGerada.CmdSyncTransformVelocity(aux.transform.position, aux.transform.rotation, (trans.up) * armaux.velbala); }
private void CmdAtirar(Vector3 direction) { armaRanged armaux = (armaRanged)armaAtual; // trans.rotation = rotation; // float rand = Random.Range(-armaux.spread, armaux.spread); // trans.Rotate(0,0,rand); // // RpcPush(-trans.up* armaux.Force) ; trans.up = direction; RpcPlaySound(); gerarBala(); if (armaux.tipo == 1) { trans.Rotate(0, 0, 25); gerarBala(); trans.Rotate(0, 0, -50); gerarBala(); trans.Rotate(0, 0, 25); } }
private void Update() { if (!isLocalPlayer) { return; } if (playerState == PlayerState.Lobby) { return; } if (Time.timeScale == 0) { return; } //Atualizar posição da camera camTransform.position = transform.position + camOffset; if (canWalk && !Huged && !Hugging) { walk(); } #if UNITY_ANDROID if (button.Pressed) { #else if (Input.GetButton("Jump")) { #endif if (canShoot && !Huged && !Hugging) { ammoAtual -= 1; updateAmmoText(); canShoot = false; if (ammoAtual <= 0) { StartCoroutine(esperaReLoad(0.2f)); CmdEquip(0); } else { StartCoroutine(esperaReLoad(armaAtual.fireCooldown)); } if (armaAtual.GetType() == typeof(armaRanged)) { armaRanged armaux = (armaRanged)armaAtual; float rand = Random.Range(-armaux.spread, armaux.spread); trans.Rotate(0, 0, rand); rigi.AddForce(-trans.up * armaux.Force); CmdAtirar(trans.up); Debug.Log("armaRanged"); // RpcSetCanWalk(false); if (armaAtual.knockbackTime != 0) { canWalk = false; StartCoroutine(esperaKnock(armaAtual.knockbackTime)); } } else if (armaAtual.GetType() == typeof(armaMelee)) { // Remover abraço porque é bugado // armaMelee armaux = (armaMelee)armaAtual; // Debug.Log("armaMelle"); // if(armaux.tipo == 0){ // CmdHug(); // } } else { Debug.Log("outraArma??"); } // Colocar só na arma normal por enqunato // RpcSetCanWalk(false); // StartCoroutine(esperaKnock(armaAtual.knockbackTime)); } } else if (Hugging && !Input.GetKeyDown("space")) { CmdsoltarHug(); Player aux = acariciado.GetComponent <Player>(); aux.canWalk = false; aux.StartCoroutine(aux.esperaKnock(armaAtual.knockbackTime)); aux.canShoot = false; aux.StartCoroutine(aux.esperaReLoad(armaAtual.knockbackTime)); } }