void FixedUpdate() { ///stops baha touching our velocities actor.fixedVelocityUpdate = true; if (rb == null) { Debug.LogError("Rigid body is null on object " + gameObject.name); } if (rb.isKinematic == false) { rb.isKinematic = true; Debug.Log("Rigidbody was not kinematic on " + gameObject.name); } if (kplane != null) // yes this can be null on objects that arent airplanes { if (kplane.enabled == true) { kplane.enabled = false; Debug.Log("Disabled kplane again on " + gameObject.name); } } if (playerWeRepresent == null) { int playerID = PlayerManager.FindPlayerIDFromNetworkUID(networkUID); //get the ping of the player we represent if (playerID == -1) { //we are not a player, get the ping from the host playerID = PlayerManager.FindPlayerIDFromNetworkUID(PlayerManager.GetPlayerUIDFromCSteamID(Networker.hostID)); //getting the host } if (playerID != -1) //couldnt find host latency, that sucks { playerWeRepresent = PlayerManager.players[playerID]; } } if (playerWeRepresent != null) { //delta time needs to be added to latency as this runs after packet has arrived for a while latency = playerWeRepresent.ping + Time.fixedDeltaTime; } globalTargetPosition += new Vector3D(targetVelocity * Time.fixedDeltaTime); localTargetPosition = VTMapManager.GlobalToWorldPoint(globalTargetPosition); Quaternion quatVel = Quaternion.Euler(targetRotationVelocity * Time.fixedDeltaTime); Quaternion currentRotation = transform.rotation; currentRotation *= quatVel; targetRotation *= quatVel; rb.velocity = targetVelocity + (localTargetPosition - transform.position) / smoothingTime; //actor.SetCustomVelocity(Vector3.Lerp(actor.velocity, targetVelocity + (localTargetPosition - transform.position) / smoothingTime, Time.fixedDeltaTime / velSmoothingTime)); actor.SetCustomVelocity(rb.velocity); rb.MovePosition(transform.position + targetVelocity * Time.fixedDeltaTime + ((localTargetPosition - transform.position) * Time.fixedDeltaTime) / smoothingTime); Quaternion quat = Quaternion.Slerp(currentRotation, targetRotation, Time.fixedDeltaTime / rotSmoothingTime); rb.MoveRotation(quat.normalized); }
public static void processMovementInput(PlayerManager.Player player, ref float horizontal, ref float vertical) { if (player == PlayerManager.Player.player1) { horizontal = Input.GetAxisRaw("Horizontal_1"); vertical = Input.GetAxisRaw("Vertical_1"); InputManager.rotateMovement(ref horizontal, ref vertical); } else if (player == PlayerManager.Player.player2) { horizontal = Input.GetAxisRaw("Horizontal_2"); vertical = Input.GetAxisRaw("Vertical_2"); InputManager.rotateMovement(ref horizontal, ref vertical); } }
void Update() { if (playerHero.isDead) { if (respawning == false) { PlayerManager.Player player = PlayerManager.instance.players[playerHero.playerOwner]; if (player.livesRemaining > 0) { player.livesRemaining--; StartCoroutine(_respawnPlayer()); } else { EndGame(); } } } }
public static float verticalSelection(PlayerManager.Player player) { if (player == PlayerManager.Player.none) { return(0); } float vertical = 0; if (player == PlayerManager.Player.player1) { vertical = Input.GetAxisRaw("Vertical_1"); } else if (player == PlayerManager.Player.player2) { vertical = Input.GetAxisRaw("Vertical_2"); } return(instance.updateVertAxisUse(vertical)); }
// Use this for initialization void Start() { state = eShipState.None; acceleration = new Vector2(); myBody = gameObject.GetComponent <Rigidbody2D>(); health = 60; startingHealth = health; startingShield = shieldHealth; boostStartingAmount = boostAmount; speed = 1000; maxSpeed = 5; speedUpTime = 4f; myBody.drag = defaultDrag; playerManagerObject = GameObject.Find("PlayerManagerMain"); //get playerId from the PlayerManager playerManager = playerManagerObject.GetComponent <PlayerManager>(); playerId = playerManager.AssignPlayer(); player = playerManager.players[playerId]; shipId = playerManager.AssignShip(); AIControlled = false; //getting the camera trackingCamera = GameObject.Find("camera" + playerId).GetComponent <Camera>(); //getting the background trackingBackground = GameObject.Find("backgroundSprite" + playerId); firingTimerReset = firingTimer; playerManager.ships.Add(this); forward = new Vector2(transform.up.x, transform.up.y); base.LateStart(); var Sprites = gameObject.GetComponentsInChildren <SpriteRenderer>(); pullArt = Sprites[5]; pullArt.enabled = false; turretArt = Sprites[6]; }
//Observe void OnKill(ShipRevamped targetShip, Rowball rowball) { int targetScore = PlayerManager.GetPlayer(targetShip).score; PlayerManager.PlayerInfo shooter = PlayerManager.GetPlayer(rowball.shooter.GetComponent <ShipRevamped>()); PlayerManager.Player target = PlayerManager.GetPlayer(targetShip).player; CreateExplosion(rowball.position); string killContext = ""; PlayerManager.GetPlayer(targetShip).spree = 0; if (scoreMode == ScoreMode.KILL) { if (rowball.shooter != null) { float score = baseScorePoints; if (shooter.player.team == target.team) { score = penaltyPoints; killContext += "SUICIDE"; //+" (-1)\n"; killContext += "\n"; Observer.OnSuicide.Invoke(); shooter.Score((int)score); shooter.suicides++; } else { if (Time.time <= shooter.lastKillTime + multiKillThreshhold) { shooter.multikill++; } else { shooter.multikill = 0; } shooter.lastKillTime = Time.time; shooter.spree++; if (shooter.spree > shooter.longestSpree) { shooter.longestSpree = shooter.spree; } if (PlayerManager.GetPlayer(targetShip) == PlayerManager.leader && PlayerManager.leader.score != 0) { //score *= leaderKillBonus; score++; killContext += "LEADER KILL"; //+" (+1) \n"; killContext += "\n"; shooter.leaderKills++; // Observer.OnLeaderKill.Invoke(); //Debug.Log ("Leader has been killed! x" + leaderKillBonus + "\n"); } //float relativeSpeed = rowball.RelativeVelocity (targetShip.velocity).magnitude; // if (relativeSpeed > brutalityThreshold) { // score += (baseScorePoints * (relativeSpeed / 1000)); // if(displayPercentScore) // shooter.player.textRef.text += "Brutality (+" + (baseScorePoints * relativeSpeed/1000)/scoreToWin * 100 + "%)" + "\n"; // else // shooter.player.textRef.text += "Brutality (+" + (int)(baseScorePoints * relativeSpeed/1000) + ")" + "\n"; // Debug.Log ("Brutality: +" + (baseScorePoints * relativeSpeed / 1000)); // } if (shooter.multikill > 0) { score += (shooter.multikill); // Multikill bonus killContext += shooter.multikill == 1?"DOUBLE KILL": shooter.multikill == 2?"TRIPLE KILL": "MULTI: " + (shooter.multikill + 1); killContext += "\n"; // if (shooter.multikill == 1) { Observer.OnDoubleKill.Invoke(); } else if (shooter.multikill == 2) { Observer.OnTripleKill.Invoke(); } //Stats if (shooter.multikill > 0) { shooter.multiKills++; } //killContext+=" (+" + shooter.player.multikill + ")" + "\n"; //Debug.Log ("Multi ("+ shooter.player.multikill +"): x" + (shooter.player.multikill * (1.0f + multiKillMultiplier))); } if (shooter.spree >= spreeThreshhold) { score++; killContext += "SPREE: " + shooter.spree; // + " (+1)\n"; killContext += "\n"; //Debug.Log ("Spree: " + shooter.player.spree); } //Debug.Log ("Player has earned " + score + " points for a kill."); shooter.Score((int)score); } if (score != 1) { InterfaceManager.CreateTextEffect( killContext, target.ship.position, PlayerManager.TeamColor(shooter.player.team) ); } //else /* * InterfaceManager.CreateTextEffect( * InterfaceManager.instance.deathMessages[(int)Random.Range (0, InterfaceManager.instance.deathMessages.Length)], * target.ship.position, * PlayerManager.TeamColor(shooter.player.team), * 2,13 * ); */ } } else if (scoreMode == ScoreMode.LMS) { if (rowball.shooter != null) { if (rowball.shooter == targetShip || shooter.player.team == target.team) { shooter.Score(penaltyPoints + targetScore / 10); } else { shooter.Score(baseScorePoints); } } } float respawnTimePenalty = (targetScore > scoreToWin / 2)? targetScore / 100 * penaltyMultiplier:0.0f; if (useRespawns && winners == null) { targetShip.Respawn(respawnTime + respawnTimePenalty); } }
private void Start() { _player = PlayerManager.Instance.Players[playerIndex]; _originalColor = image.color; }
public static bool cancel(PlayerManager.Player player) { return((player == PlayerManager.Player.player1 && Input.GetButtonDown("Cancel_1")) || (player == PlayerManager.Player.player2 && Input.GetButtonDown("Cancel_2"))); }
public static bool interact(PlayerManager.Player player) { return((player == PlayerManager.Player.player1 && Input.GetButtonDown("Interact_1")) || (player == PlayerManager.Player.player2 && Input.GetButtonDown("Interact_2"))); }