Пример #1
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        //I want the character to float to line up with the moon
        //once the character is in the center of the moon they explode
        //1) Disable top hitbox
        //2) Line up moon x-coordinate with character x-coordinate. Or look into smoothstepping (Vector2.MoveTowards)
        //3) When character gets close enough to the moon they explode
        exploded = true;



        skeletonToExplode = collider.transform.parent.GetComponent<SkeletonRagdoll2D>();

        StartCoroutine(Explode());
    }
Пример #2
0
	void Start () {
		
		ragdoll = GetComponent<SkeletonRagdoll2D>();
		naturalCollider = GetComponent<Collider2D>();
	}
Пример #3
0
 void Start()
 {
     ragdoll         = GetComponent <SkeletonRagdoll2D>();
     naturalCollider = GetComponent <Collider2D>();
 }
Пример #4
0
    void Update()
    {
        if (currentGameState == CurrentGameState.Playing)
        {

        }
        else if (currentGameState == CurrentGameState.DelayBeforeWin)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime >= timeUntilPersonLoses)
            {
                volcanoParticles.Play();
                currentGameState = CurrentGameState.SomeoneWins;

                if (bothPlayersLost)
                {
                    winText.text = "Nobody Wins...";

                    if (SoundManager.instance != null)
                    {
                        Debug.Log("Tried to play boo");
                        if (!SoundManager.instance.sfxSource.isPlaying)
                        {
                            SoundManager.instance.PlaySound("Boo");
                        }

                    }
                }
                else if (playerThatLost == "Player1")
                {
                    winText.text = "Player 2 Wins!";
                    winningPlayerSkeleton = Player2.GetComponent<SkeletonRagdoll2D>();
                    winningPlayerRigidBody = winningPlayerSkeleton.GetRigidbody("Torso");
                    winningPlayerParticles = Player2.GetComponentInChildren<ParticleSystem>();
                    winningPlayerParticles.Play();
                    ExplosionCollider.transform.position = new Vector3(winningPlayerRigidBody.transform.position.x, ExplosionCollider.transform.position.y, ExplosionCollider.transform.position.z);
                    Moon.transform.position = ExplosionCollider.transform.position;
                    TopHitBox.gameObject.SetActive(false);
                    Destroy(GetComponent<BoxCollider2D>());
                }
                else if (playerThatLost == "Player2")
                {
                    winText.text = "Player 1 Wins!";
                    winningPlayerSkeleton = Player1.GetComponent<SkeletonRagdoll2D>();
                    winningPlayerRigidBody = winningPlayerSkeleton.GetRigidbody("Torso");
                    winningPlayerParticles = Player1.GetComponentInChildren<ParticleSystem>();
                    winningPlayerParticles.Play();
                    ExplosionCollider.transform.position = new Vector3(winningPlayerRigidBody.transform.position.x, ExplosionCollider.transform.position.y, ExplosionCollider.transform.position.z);
                    Moon.transform.position = ExplosionCollider.transform.position;
                    TopHitBox.gameObject.SetActive(false);
                    Destroy(GetComponent<BoxCollider2D>());
                }
                winControlText.gameObject.SetActive(true);
                elapsedTime = 0;
            }
        }
        else if (currentGameState == CurrentGameState.SomeoneWins)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime >= timePerFlash)
            {
                elapsedTime = 0;
                winText.gameObject.SetActive(!winText.gameObject.activeSelf);
            }

            if (!bothPlayersLost)
            {
                winningPlayerParticles.transform.position = winningPlayerRigidBody.transform.position;
                winningPlayerRigidBody.velocity = new Vector2(0, floatingForce);
                if (DEBUG)
                {
                    Debug.Log("Winning player is being lifted");
                }

                if (Camera.main.transform.position.y < winningPlayerRigidBody.position.y && Camera.main.transform.position.y < ExplosionCollider.transform.position.y)
                {
                    Camera.main.transform.position = new Vector3(Camera.main.transform.position.x, winningPlayerRigidBody.position.y, Camera.main.transform.position.z);
                }
                else if (Camera.main.transform.position.y > ExplosionCollider.transform.position.y)
                {
                    winningPlayerParticles.Stop();
                    floatingForce = 0;
                }
            }
            else
            {
                if (Input.GetButton("B1") || Input.GetKeyDown(KeyCode.B))
                {
                    SceneManager.LoadScene("TeamSelect");
                }
                else if (Input.GetButton("A1") || Input.GetKeyDown(KeyCode.A))
                {
                    SceneManager.LoadScene("Game");
                }
            }
        }
    }
Пример #5
0
	void Start ()
    {
        a = new GameObject();
        SpriteRenderer Arender = a.AddComponent<SpriteRenderer>();
        Arender.sprite = ATexture;
        Arender.sortingOrder = 100;
        a.transform.parent = transform;

        b = new GameObject();
        SpriteRenderer Brender = b.AddComponent<SpriteRenderer>();
        Brender.sprite = BTexture;
        Brender.sortingOrder = 100;
        b.transform.parent = transform;

        x = new GameObject();
        SpriteRenderer Xrender = x.AddComponent<SpriteRenderer>();
        Xrender.sprite = XTexture;
        Xrender.sortingOrder = 100;
        x.transform.parent = transform;

        y = new GameObject();
        SpriteRenderer Yrender = y.AddComponent<SpriteRenderer>();
        Yrender.sprite = YTexture;
        Yrender.sortingOrder = 100;
        y.transform.parent = transform;

        staminaBarScript = StaminaBar.GetComponent<StaminaBarScript>();
		ragdoll = GetComponent<SkeletonRagdoll2D>();
        ragdoll.Apply();
        torso = ragdoll.GetRigidbody("Torso");
        leftFoot = ragdoll.GetRigidbody("LeftFoot");
        leftHand = ragdoll.GetRigidbody("LeftHand");
        rightFoot = ragdoll.GetRigidbody("RightFoot");
        rightHand = ragdoll.GetRigidbody("RightHand");
        hip = ragdoll.GetRigidbody("Hip");

        ragdoll.joints["LeftUpperArm"].limits = new JointAngleLimits2D() { min = -90, max = 90 };
        ragdoll.joints["RightUpperArm"].limits = new JointAngleLimits2D() { min = -90, max = 90 };
        ragdoll.joints["LeftLowerArm"].limits = new JointAngleLimits2D() { min = -100, max = 100 };
        ragdoll.joints["RightLowerArm"].limits = new JointAngleLimits2D() { min = -100, max = 100 };
        ragdoll.joints["LeftHand"].limits = new JointAngleLimits2D() { min = -30, max = 30 };
        ragdoll.joints["RightHand"].limits = new JointAngleLimits2D() { min = -30, max = 30 };


        ragdoll.joints["LeftShin"].limits = new JointAngleLimits2D() { min = -10, max = 10 };
        ragdoll.joints["RightShin"].limits = new JointAngleLimits2D() { min = -10, max = 10 };
        ragdoll.joints["LeftFoot"].limits = new JointAngleLimits2D() { min = -10, max = 10 };
        ragdoll.joints["RightFoot"].limits = new JointAngleLimits2D() { min = -10, max = 10 };
        
    }