Example #1
0
    private void Update()
    {
        PlayerValues player1 = PlayerValues.GetPlayer(0);

        if (player1 != null)
        {
            float x = player1.transform.position.x;
            float y = player1.transform.position.y;
            if (x > MaxX || x < MinX || y > MaxY || y < MinY)
            {
                player1.Die();
            }
        }
        PlayerValues player2 = PlayerValues.GetPlayer(1);

        if (player2 != null)
        {
            float x = player2.transform.position.x;
            float y = player2.transform.position.y;
            if (x > MaxX || x < MinX || y > MaxY || y < MinY)
            {
                player2.Die();
            }
        }
    }
Example #2
0
    void Start()
    {
        // If AI is dodged constantly it will "time out" and die after 15 seconds.
        Destroy(this.gameObject, 15f);
        StartCoroutine(TimeOut(10));

        player  = GameObject.FindGameObjectWithTag("Player");
        player2 = GameObject.FindGameObjectWithTag("Player2");

        PickupManager manager            = FindObjectOfType <PickupManager>();
        int           currentPickupOwner = manager.GetCurrentPickupOwner();

        if (currentPickupOwner == 0)
        {
            target = PlayerValues.GetPlayer(1)?.transform;
        }
        else
        {
            target = PlayerValues.GetPlayer(0)?.transform;
        }
        animator.SetBool("Targeted", true);
        target.GetComponent <PlayerValues>()?.SetTargeted(true);
        //if (Player1PickedUpTheThing == true)
        //{
        //target = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>();
    }
Example #3
0
 private void Start()
 {
     GameManager.OnLivesChanged += UpdatePlayerLives;
     UpdatePlayerLives();
     _killPlayer1Button?.onClick.AddListener(() => PlayerValues.GetPlayer(0)?.Die());
     _killPlayer2Button?.onClick.AddListener(() => PlayerValues.GetPlayer(1)?.Die());
     _resetLivesButton?.onClick.AddListener(GameManager.ResetLives);
 }
Example #4
0
    public void AnimationEvent()
    {
        Destroy(transform.root.gameObject);
        if (Overlap && PlayerValues.GetPlayer(0) != null)
        {
            PlayerValues.GetPlayer(0).GetComponent <PlayerMovement>().enabled = true;
        }

        if (Overlap2 && PlayerValues.GetPlayer(1) != null)
        {
            PlayerValues.GetPlayer(1).GetComponent <PlayerMovement>().enabled = true;
        }
    }
Example #5
0
    public void Fire()
    {
        int          ownerID = pickUpManagerReference.GetCurrentPickupOwner();
        PlayerValues Target  = PlayerValues.GetPlayer(ownerID == 0 ? 1 : 0);

        if (Target == null)
        {
            return;
        }
        for (int i = 0; i < missileCount; ++i)
        {
            GameObject instance      = Instantiate(missilePrefab, PlayerValues.GetPlayer(ownerID).transform.position, Quaternion.identity);
            Vector2    startVelocity = Quaternion.Euler(0, 0, Random.Range(0, 360)) * (Vector2.up * missileSpeed);
            activeMissiles.Add(new Missile {
                MissileObj = instance, OwnerID = ownerID, TargetID = Target.Id, Velocity = startVelocity, Collider = instance.GetComponent <CircleCollider2D>(), SpawningID = SpawnCounter
            });
        }
        SpawnCounter++;
    }
Example #6
0
    void Update()
    {
        for (int i = 0; i < activeMissiles.Count; ++i)
        {
            activeMissiles[i].LifeTimeConter += Time.deltaTime;
            if (activeMissiles[i].LifeTimeConter > MissileLifeTime)
            {
                missileIdToDestroy.Add(activeMissiles[i].SpawningID);
            }
            Transform targetTransform = PlayerValues.GetPlayer(activeMissiles[i].TargetID)?.transform;
            if (targetTransform != null)
            {
                Vector2 targetDir     = targetTransform.position - activeMissiles[i].MissileObj.transform.position;
                Vector2 velocityDelta = Vector2.zero;
                activeMissiles[i].Velocity = Vector2.SmoothDamp(activeMissiles[i].Velocity,
                                                                (targetDir).normalized * missileSpeed, ref velocityDelta, velocitySmoothTime);
            }
            activeMissiles[i].MissileObj.transform.position += (Vector3)activeMissiles[i].Velocity * Time.deltaTime;

            RaycastHit2D hit = Physics2D.CircleCast(activeMissiles[i].MissileObj.transform.position, activeMissiles[i].Collider.radius, activeMissiles[i].Velocity.normalized, activeMissiles[i].Velocity.magnitude * Time.deltaTime, collisionLayers);
            if (hit.collider != null)
            {
                PlayerValues Player = hit.collider.GetComponent <PlayerValues>();

                if (Player != null && Player.Id != activeMissiles[i].OwnerID)
                {
                    Player.Die();
                    missileIdToDestroy.Add(activeMissiles[i].SpawningID);
                }
            }
        }
        for (int i = activeMissiles.Count - 1; i >= 0; i--)
        {
            if (missileIdToDestroy.Contains(activeMissiles[i].SpawningID))
            {
                Destroy(activeMissiles[i].MissileObj);
                activeMissiles.RemoveAt(i);
            }
        }
        missileIdToDestroy.Clear();
    }
Example #7
0
    void PopBubble(bool killPlayer)
    {
        if (popped)
        {
            return;
        }
        popped = true;
        if (killPlayer)
        {
            if (Overlap)
            {
                PlayerValues.GetPlayer(0)?.Die();
            }
            if (Overlap2)
            {
                PlayerValues.GetPlayer(1)?.Die();
            }
        }
        else
        {
            if (Overlap && PlayerValues.GetPlayer(0) != null)
            {
                PlayerValues.GetPlayer(0).GetComponent <PlayerMovement>().enabled = true;
            }
            if (Overlap2 && PlayerValues.GetPlayer(1) != null)
            {
                PlayerValues.GetPlayer(1).GetComponent <PlayerMovement>().enabled = true;
            }
        }

        if (animatorbubble != null)
        {
            animatorbubble.SetBool("Destroyed", true);
        }
        //Destroy(this);
        //Destroy(transform.root.gameObject, 5f);
    }
Example #8
0
    void Update()
    {
        //Movement
        parent.transform.Translate(0, moveSpeed * Time.deltaTime, 0);
        //Wiggle
        Vector3 position = parent.transform.position;

        position.x = xOrigin + maxXDelta * Mathf.Sin((timeAlive += Time.deltaTime * xSpeed));
        parent.transform.position = position;

        if (Overlap && PlayerValues.GetPlayer(0) == null)
        {
            return;
        }
        if (Overlap2 && PlayerValues.GetPlayer(1) == null)
        {
            return;
        }

        if (Overlap)
        {
            //PlayerValues.GetPlayer(0).transform.position = gameObject.transform.position;
            Vector3 positionDelta = Vector3.zero;
            PlayerValues.GetPlayer(0).transform.position = Vector3.Lerp(PlayerValues.GetPlayer(0).transform.position, transform.position, 30 * Time.deltaTime);//Vector3.SmoothDamp(PlayerValues.GetPlayer(0).transform.position, transform.position, ref positionDelta, PlayerPositionSmoothingTime, float.MaxValue, Time.deltaTime);
            if (PlayerValues.GetPlayer(0).transform.position.y > KillY)
            {
                PopBubble(true);
                return;
            }
        }
        if (Overlap2)
        {
            //PlayerValues.GetPlayer(1).transform.position = gameObject.transform.position;
            Vector3 positionDelta = Vector3.zero;
            PlayerValues.GetPlayer(1).transform.position = Vector3.Lerp(PlayerValues.GetPlayer(1).transform.position, transform.position, 30 * Time.deltaTime);//Vector3.SmoothDamp(PlayerValues.GetPlayer(1).transform.position, transform.position, ref positionDelta, PlayerPositionSmoothingTime, float.MaxValue, Time.deltaTime);
            if (PlayerValues.GetPlayer(1).transform.position.y > KillY)
            {
                PopBubble(true);
                return;
            }
        }


        //Breaking bubble
        if (Overlap)
        {
            if ((ReInput.players.GetPlayer(0).GetButtonDown("Struggle1") || ReInput.players.GetPlayer(0).GetButtonDown("Struggle2") || ReInput.players.GetPlayer(0).GetButtonDown("Struggle3") || ReInput.players.GetPlayer(0).GetButtonDown("Struggle4")))
            {
                Meter = Meter + 1;
                PlayerValues.GetPlayer(0).transform.position += (Vector3)Random.insideUnitCircle * maxWiggle;
            }
        }

        if (Overlap2)
        {
            if ((ReInput.players.GetPlayer(1).GetButtonDown("Struggle1") || ReInput.players.GetPlayer(1).GetButtonDown("Struggle2") || ReInput.players.GetPlayer(1).GetButtonDown("Struggle3") || ReInput.players.GetPlayer(1).GetButtonDown("Struggle4")))
            {
                Meter2 = Meter2 + 1;
                PlayerValues.GetPlayer(1).transform.position += (Vector3)Random.insideUnitCircle * maxWiggle;
            }
        }

        if (Meter >= 5)
        {
            animatorbubble.SetBool("BubbleHurt", true);
        }

        if (Meter >= 10)
        {
            animatorbubble.SetBool("BubbleHurt", false);
            animatorbubble.SetBool("BubbleBreaking", true);
        }

        if (Meter >= 15)
        {
            animatorbubble.SetBool("BubbleBreaking", false);
            animatorbubble.SetBool("BubbleBroken", true);
        }

        if (Meter2 >= 5)
        {
            animatorbubble.SetBool("BubbleHurt", true);
        }

        if (Meter2 >= 10)
        {
            animatorbubble.SetBool("BubbleHurt", false);
            animatorbubble.SetBool("BubbleBreaking", true);
        }

        if (Meter2 >= 15)
        {
            animatorbubble.SetBool("BubbleBreaking", false);
            animatorbubble.SetBool("BubbleBroken", true);
        }


        if (Meter >= 20)
        {
            AudioManager.PlaySound("Pop");

            animatorbubble.SetBool("Destroyed", true);
            //PopBubble(false);
            Meter = 0;
            print("You broke free");
        }

        if (Meter2 >= 20)
        {
            AudioManager.PlaySound("Pop");

            animatorbubble.SetBool("Destroyed", true);
            //PopBubble(false);
            Meter2 = 0;
            print("You broke free");
        }
    }