Esempio n. 1
0
    public void NotifyTriggerEnter(TriggerDetector detector, GameObject other)
    {
        TriggerData newData = new TriggerData();

        FillData(newData, detector, other);
        triggerEnter.Invoke(newData);
    }
Esempio n. 2
0
 void Start()
 {
     rigidBody2D     = GetComponent <Rigidbody2D>();
     triggerDetector = GetComponentInChildren <TriggerDetector>();
     animator        = GetComponentInChildren <Animator>();
     visualDirection = 1.0f;
 }
        /*
         *  adjust incoming trigger chekc height and radius
         */
        void UpdateIncomingTriggerCapsule(bool enabled)
        {
            enabled = enabled && ragdollController.ragdollOnCollision.enabled;

            if (enabled && inCollisionDetector == null)
            {
                //initialize trigger detector

                inCollisionDetector = BuildCollisionDetector();
            }


            // check for ignore trigger only when the character controller is enabled
            inCollisionDetector.enabled = enabled;

            if (enabled)
            {
                float height = characterController.height + incomingCheckOffset;
                float radius = characterController.radius + incomingCheckOffset;

                CapsuleCollider capsule = inCollisionDetector.capsule;
                capsule.height = height;
                capsule.radius = radius;
                capsule.center = new Vector3(0, height * .5f, 0);
            }
        }
Esempio n. 4
0
    void Awake()
    {
        col2D           = GetComponent <PolygonCollider2D>();
        triggerDetector = GetComponent <TriggerDetector>();

        GameManager.Instance.gameStateChangeEvent += (GameManager.State gameState) => {
            switch (gameState)
            {
            case GameManager.State.Playing:
                ResetArrow();
                break;
            }
        };

        arrowCrashed += () => {
            GameManager.Instance.GameState = GameManager.State.Failed;

            CameraController.Instance.ShakeCamera();
            SoundManager.Instance.PlayCrush();

            circle        = null;
            col2D.enabled = false;
            rb.velocity   = Vector2.zero;
            GetComponent <Renderer>().enabled = false;
            transform.FindChild("ArrowShadow").GetComponent <Renderer>().enabled = false;
        };
    }
 protected void InitComponents()
 {
     visualDirection = 1.0f;
     rigidBody2D     = GetComponent <Rigidbody2D>();
     triggerDetector = GetComponentInChildren <TriggerDetector>();
     animator        = GetComponentInChildren <Animator>();
 }
Esempio n. 6
0
        public DudeInput(TriggerDetector detector)
        {
            this.detector = detector;
            this.state    = State.Off;

            detector.OnStartCollideWithGround += EnterGroundEventHandler;
            detector.OnEndCollideWithGround   += ExitGroundEventHandler;
        }
Esempio n. 7
0
 // Start is called before the first frame update
 protected virtual void Start()
 {
     visualDirection = 1.0f;
     rigidBody2D     = GetComponent <Rigidbody2D>();
     triggerDetector = GetComponentInChildren <TriggerDetector>();
     animator        = GetComponentInChildren <Animator>();
     scaleX          = Visual.localScale.x;
 }
Esempio n. 8
0
 void FillData(TriggerData data, TriggerDetector detector, GameObject other)
 {
     data.triggerDetectee = this;
     data.triggerDetector = detector;
     data.otherTagHolder  = detector.TagHolder;
     data.otherTransform  = detector.transform;
     data.otherGameObject = detector.gameObject;
 }
Esempio n. 9
0
    // Use this for initialization
    void Start()
    {
        controller = GameObject.FindWithTag("rightController");
        timer      = controller.GetComponent <CountdownTimer> ();

        audio    = GameObject.FindWithTag("controller").GetComponent <AudioSource> ();
        detector = GameObject.FindGameObjectWithTag("controller").GetComponent <TriggerDetector> ();
    }
Esempio n. 10
0
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (other.gameObject.CompareTag("Player"))
     {
         Debug.Log("Player Entered");
         beat   = Inputs.Length;
         player = other.gameObject.GetComponent <TriggerDetector>();
     }
 }
Esempio n. 11
0
 private void Start()
 {
     renderers = new SpriteRenderer[transform.childCount];
     for (int i = 0; i < renderers.Length; i++)
     {
         renderers[i] = transform.GetChild(i).GetComponent <SpriteRenderer>();
     }
     detector = transform.parent.GetComponent <TriggerDetector>();
     manager  = transform.parent.parent.GetComponent <TriggerManager>();
 }
        void Start()
        {
            //subscribe to receive a callback on ragdoll bone collision
            ragdollController.ragdoll.onCollisionEnter += OnRagdollCollisionEnter;

            //make ragdoll bones ignore character controller
            ragdollController.ragdoll.IgnoreCollisions(characterController, true);
            //initialize trigger detector
            inCollisionDetector = BuildCollisionDetector();
        }
Esempio n. 13
0
    /**
     * This renders from offsets, not according to world coordinates
     */
    void RenderState()
    {
        int xRenderStart = Mathf.Max(getStateXIndex(xStart), xAbsoluteStart);

        for (int xOffset = xRenderStart; xOffset < xRenderStart + softUpperBound; xOffset++)
        {
            List <List <int> > renderableXSection = state[xOffset];
            for (int j = 0; j < renderableXSection.Count(); j++)
            {
                List <int> yDetails = renderableXSection[j];
                int        yOffset  = yDetails[0];
                int        tileType = yDetails[1];
                bool       hasCoin  = yDetails[2] == 1;

                Vector3Int tilePos = new Vector3Int(xIndexToWorldX(xOffset), yStart + yOffset, 0);
                if (!tileMap.HasTile(tilePos))
                {
                    TileBase tile = tileBaseTable[tileType];
                    if (tile != null)
                    {
                        tileMap.SetTile(tilePos, tile);
                        bool isRightDetector = xOffset == shouldFetchRightOffset;
                        bool isLeftDetector  = xOffset == shouldFetchLeftOffset;
                        if (isLeftDetector || isRightDetector)
                        {
                            Vector3Int colliderPos = new Vector3Int(tilePos.x, tilePos.y + 1, tilePos.z);
                            GameObject newLC       = Instantiate(
                                locationCollider,
                                colliderPos,
                                Quaternion.identity
                                );
                            TriggerDetector td = newLC.GetComponent <TriggerDetector>();
                            td.x              = tilePos.x;
                            td.y              = tilePos.y;
                            td.isLeftTrigger  = isLeftDetector;
                            td.isRightTrigger = isRightDetector;
                            td.onTrigger     += OnTriggerThing;
                        }
                    }

                    if (hasCoin)
                    {
                        Rigidbody2D newCoin = Instantiate(
                            coin,
                            new Vector3(xIndexToWorldX(xOffset), yOffset + yStart + 3, 0),
                            Quaternion.identity
                            );
                        string coinKey = GetCoinKey(xOffset, yOffset);
                        renderedCoins.Add(coinKey, newCoin);
                    }
                }
            }
        }
    }
 private void OnTriggerEnter2D(Collider2D other)
 {
     //check if the player entes the attack area
     if (other.tag == "Player")
     {
         //makes the player have to press the correct attack key.
         playerCheck = FindObjectOfType <TriggerDetector>();
         hasEntered  = true;
         ScoreManager.instance.isFighting = true;
         Debug.Log("EnteredBox");
     }
 }
Esempio n. 15
0
    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent <Rigidbody2D>();
        if (rb == null)
        {
            Debug.LogError("no rigid body in player");
        }

        if (playerSprites == null)
        {
            Debug.LogError("no character sprites set");
        }

        if (LeftTriggerDetector == null)
        {
            Debug.LogError("no left detector set in player controller");
        }

        if (RightTriggerDetector == null)
        {
            Debug.LogError("no right detector set in player controller");
        }

        if (BottomTriggerDetector == null)
        {
            Debug.LogError("no bottom detector set in player controller");
        }

        gameObject.GetComponentInChildren <MeshRenderer>().sortingLayerName = Common.playersSortingLayerName;

        // Create trigger detectors and attach them to the specified game objects

        { // Detect bottom collisions
            TriggerDetector script = BottomTriggerDetector.AddComponent <TriggerDetector>();
            script.OnTriggerEnterEvent += HandleBottomTriggerEnter;
            script.OnTriggerStayEvent  += HandleBottomTriggerStay;
        }

        { // Detect left collisions
            TriggerDetector script = LeftTriggerDetector.AddComponent <TriggerDetector>();
            script.OnTriggerEnterEvent += HandleLeftTriggerEnter;
            script.OnTriggerStayEvent  += HandleLeftTriggerEnter;
            script.OnTriggerExitEvent  += HandleLeftTriggerExit;
        }

        { // Detect right collisions
            TriggerDetector script = RightTriggerDetector.AddComponent <TriggerDetector>();
            script.OnTriggerEnterEvent += HandleRightTriggerEnter;
            script.OnTriggerStayEvent  += HandleRightTriggerEnter;
            script.OnTriggerExitEvent  += HandleRightTriggerExit;
        }
    }
Esempio n. 16
0
    private new void Start()
    {
        base.Start();
        jumpPositionCollider2D      = jumpPosition.GetComponent <Collider2D>();
        jumpCheckPlatFormCollider2D = jumpCheckPlatForm.GetComponent <Collider2D>();
        groundDetectorCollider2D    = groundDetector.GetComponent <Collider2D>();
        frontTrigger      = frontDetector.GetComponent <TriggerDetector>();
        tilemapCollider2D = GameManager.Instance.levelTilemap.GetComponent <CompositeCollider2D>();
        float myRotationY = this.transform.rotation.eulerAngles.y;

        isLookingRight = Mathf.Abs(myRotationY) < 90.0f;
        //TODO add checkstate somewhere here
    }
Esempio n. 17
0
 public MagnetSensor(Context context)
 {
     mDetector = new TriggerDetector(context);
 }
Esempio n. 18
0
 private void Awake()
 {
     Instance = this;
     firstPersonController = GetComponent <FirstPersonController>();
     triggerDetector       = GetComponentInChildren <TriggerDetector>();
 }
Esempio n. 19
0
 private void Awake()
 {
     current = this;
 }
Esempio n. 20
0
 void Start()
 {
     rigidBody      = GetComponent <Rigidbody2D>();
     groundDetector = GetComponentInChildren <TriggerDetector>();
 }
Esempio n. 21
0
 private void Awake()
 {
     SetFromTo();
     _triggerDetector = GetComponentInChildren <TriggerDetector>();
 }
Esempio n. 22
0
 public void Start()
 {
     _rb = GetComponent <Rigidbody2D>();
     _triggerDetector = GetComponent <TriggerDetector>();
     _vfxSpawner      = GetComponent <VfxSpawner>();
 }