Пример #1
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag("Fire"))
        {
            sp.enabled             = false;
            transform.position     = other.transform.position;
            rigidbody.gravityScale = 0;
            rigidbody.velocity     = Vector2.zero;
            Possess _possess = other.GetComponent <Possess>();
            if (_possess != null)
            {
                possess = _possess;
                possess.PossessObject();
                transform.position = (Vector2)possess.eyePos.position + Vector2.down;
            }

            pg = other.GetComponent <Progress>();
            if (pg != null)
            {
                pg.possessedPos    = transform;
                pg.bPossess        = true;
                transform.position = pg.startPos.position;
                eyeSP.enabled      = false;
            }

            Electronic et = other.GetComponent <Electronic>();
            if (et != null)
            {
                et.MoveElec(gameObject, eyeSP, sp);
            }
        }
        if (other.CompareTag("Danger"))
        {
            DiePlayer();
        }

        if (other.CompareTag("Finish"))
        {
            if (stage <= 2)
            {
                //암전 코드
                SceneManager.LoadScene("Stage" + (stage + 1));
            }

            if (stage >= 3)
            {
                StartCoroutine(EndingEnding());
            }
        }
    }
Пример #2
0
        // Start is called before the first frame update
        private void Start()
        {
            _spawn         = GameObject.FindWithTag("Respawn");
            soulsContainer = GameObject.FindWithTag("SoulsContainer");
            possess        = GetComponent <Possess>();

            _mask           = gameObject;
            _maskCollider2D = _mask.GetComponent <Collider2D>();
            maskMovement    = GetComponent <MaskMovement>();
            rb2D            = GetComponent <Rigidbody2D>();

            var parent = _mask.transform.parent;

            _maskParent = parent ? parent.gameObject : null;
            _currentPig = parent ? parent.parent.gameObject : null;
            _movement   = _currentPig ? _currentPig.GetComponent <Movement>() : null;
        }
Пример #3
0
    void Start()
    {
        controller = GetComponent <PlayerController> ();

        if (GameManager.maxLevelReached > 0)
        {
            abilities |= Ability.DESOLIDIFY;
        }
        if (GameManager.maxLevelReached > 1)
        {
            abilities |= Ability.POSSESS;
        }
        if (GameManager.maxLevelReached > 2)
        {
            abilities |= Ability.INVISIBILITY;
        }
        if (GameManager.maxLevelReached > 3)
        {
            abilities |= Ability.BLAST;
        }
        if (GameManager.maxLevelReached > 4)
        {
            abilities |= Ability.FOCUSED_BLAST;
        }

        if ((abilities & Ability.DESOLIDIFY) != 0)
        {
            gameObject.layer = 9;
        }
        else
        {
            gameObject.layer = 12;
        }

        hold         = GetComponent <Hold> ();
        possess      = GetComponent <Possess> ();
        invisible    = GetComponent <Invisible> ();
        blast        = GetComponent <Blast> ();
        focusedBlast = GetComponent <FocusedBlast> ();

        hold.pc         = controller;
        possess.pc      = controller;
        invisible.pc    = controller;
        blast.pc        = controller;
        focusedBlast.pc = controller;
    }
Пример #4
0
 void Start()
 {
     parent = transform.root;
     tengu  = parent.GetComponent <TenguAI>();
     p      = Possess.Get();
 }
Пример #5
0
 Possess()
 {
     p = this;
 }