Beispiel #1
0
    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;
    }
Beispiel #4
0
 // 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();
         }
     }
 }
Beispiel #6
0
    // 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);
    }