void CheckPlayer() { Vector3 lineTo = Vector3.right; if (currentDirection == Direction.Right) { lineTo = Vector3.right; } if (currentDirection == Direction.Left) { lineTo = Vector3.left; } if (currentDirection == Direction.Up) { lineTo = Vector3.up; } if (currentDirection == Direction.Down) { lineTo = Vector3.down; } RaycastHit2D ray = Physics2D.Linecast(transform.position + lineTo, transform.position + lineTo * 5); if (ray.collider != null) { hitPoint = ray.point; hitDistance = Vector3.Distance(transform.position, hitPoint); if (ray.collider.gameObject.CompareTag("Player")) { Debug.Log("Saw player!!!"); PlayerPossession p = ray.collider.gameObject.GetComponent <PlayerPossession>(); PlayerMovement pm = ray.collider.gameObject.GetComponent <PlayerMovement>(); if (p.isPossessed && pm.IsStill()) { return; } state = State.Startled; alertSFX.Play(0); alertBox.enabled = true; waitTime = startledWatiTime; animator.SetBool("moving", false); SetTarget(ray.collider.gameObject.transform); SetSpeed(0); PriestManager.chasing = true; } } else { hitPoint = Vector3.zero; hitDistance = 0; } }
private void Start() { possession = new PlayerPossession(); InitDungeon newInit = new InitDungeon(level); wizPrefab = Resources.Load <Wizard>("Objects/LightBandit"); wizInst = Instantiate(wizPrefab, new Vector3(0, 0, -1), Quaternion.identity); MovementManager.Instance.SetPlayer(wizInst); goblinPrefab = Resources.Load <Goblin>("Objects/Goblin"); }
void Start() { states = GetComponent <PlayerStates>(); spawnDecoy = GetComponent <PlayerSpawnDecoy>(); spawnBlock = GetComponent <PlayerSpawnBlock>(); teleport = GetComponent <PlayerTeleport>(); wallGrab = GetComponent <PlayerWallGrab>(); slide = GetComponent <PlayerSlide>(); movement = GetComponent <Movement>(); possession = GetComponent <PlayerPossession>(); dontGrabWallTimer = 0; possessionInputTimer = possessionInputDelay; }
// Use this for initialization void Start() { rb2d = GetComponent <Rigidbody2D>(); playerAnimator = GetComponent <Animator>(); if (GameObject.FindGameObjectsWithTag("Player").Length > 1) { Destroy(gameObject); } playerPossession = GetComponent <PlayerPossession>(); gameOverSFX = GetComponents <AudioSource>(); movementSinceLastGraphUpdate = 0; main = Camera.main; PriestManager.chasing = false; }
private void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Player")) { PlayerPossession playerPossession = other.GetComponent <PlayerPossession>(); if (playerPossession.isPossessed && playerPossession.item.CompareTag("Book")) { sfx.Play(0); playerPossession.Depossess(); Destroy(playerPossession.item); playerPossession.item = null; FinalLevelManager.BurnBook(); } } }
// Start is called before the first frame update void Awake() { if (instance == null) { instance = this; } else { Destroy(this); } PlayerController[] listOfAllPlayableObjects = FindObjectsOfType <PlayerController>(); if (playerCharacterOnStart == null) { playerCharacterOnStart = listOfAllPlayableObjects[0]; } for (int i = 0; i < listOfAllPlayableObjects.Length; i++) { listOfAllPlayableObjects[i].enabled = false; } PossessCharacter(playerCharacterOnStart); }