void Awake() { join = FindObjectOfType <PlayersJoin>(); GlobalVariables.HideCursor(true); StartCoroutine(CameraChange()); playerInput = GetComponent <PlayerInput>(); gamepad = Gamepad.current; gameObject.name = "Player " + (playerInput.playerIndex + 1); thirdPersonDirection = (thirdPersonPoint.position - character.headPoint.position).normalized; thirdPersonDistance = Vector3.Distance(character.headPoint.position, thirdPersonPoint.position); if (gamepad != null) { gamepad.SetMotorSpeeds(gamepadMotors.x, gamepadMotors.y); gamepad.PauseHaptics(); } if (teamBotCount > 0) { float angleSection = Mathf.PI * 2f / teamBotCount; float angle = 0; for (int i = 0; i < teamBotCount; i++) { Transform botPoint = new GameObject("Bot Point " + (i + 1)).transform; botPoint.parent = transform; angle = i * angleSection; botPoint.localPosition = new Vector3(Mathf.Cos(angle), 0, Mathf.Sin(angle)) * (botRadius + Random.Range(-botRadiusVariation, botRadiusVariation)); botPoints.Add(botPoint); Bot bot = Instantiate(botPrefab, botPoint.position, Quaternion.identity).GetComponent <Bot>(); bot.transform.localScale *= 0.8f; bot.name = "Player Bot " + (i + 1); bot.behavior = Bot.BotBehavior.player; bot.gotoPoint = botPoint; bot.botIndex = i; } } }
void Awake() { characterLook = GetComponentInChildren <CharacterLook>(); rb = GetComponent <Rigidbody>(); capsuleCollider = GetComponent <CapsuleCollider>(); creator = GetComponentInChildren <CharacterCreator>(); join = FindObjectOfType <PlayersJoin>(); rb.position = creator.transform.position; bodyOriginOrientation = transform.localRotation; headOriginOrientation = headPoint.localRotation; // Initialize the current ground check distance currentGroundCheckDistance = groundCheckDistance; initialized = true; OnValidate(); }