Пример #1
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        GameObject obj = collision.gameObject;

        if (PlayerZone.IsOutside && !MessageSystemPlayingScene.Player.CompareTag("InVisible") && !MessageSystemPlayingScene.IsDead)
        {
            PlayerZone.MoveToPlayerZone();
        }
        if ((obj.CompareTag("Player") || (obj.CompareTag("Hit") && obj.name == "Brian")) && MessageSystemPlayingScene.IsJump)
        {
            MessageSystemPlayingScene.exitFromPingPong = false;
            if (!PlayerZone.IsOutside)
            {
                MessageSystemPlayingScene.SetDefaultConstraints();
            }
            else
            {
                MessageSystemGameBlock.SetPlayingConstraints();
            }
            if (Conecting.Management == 0 && !TapToGo.Screen.activeInHierarchy)
            {
                TapToGo.Screen.SetActive(true);
            }
            MessageSystemPlayingScene.IsJump = false;
            MessageSystemPlayingScene.Player.GetComponent <Animator>().SetBool("IsRunAgain", true);
            StartCoroutine(PreparationToJump());
        }
    }
Пример #2
0
    // Start is called before the first frame update
    void Start()
    {
        displaceAngleVector = new Vector3();

        playerMovement = GetComponent <Displacement>();

        playerZone = GetComponentInChildren <PlayerZone>();
    }
Пример #3
0
    private void RemovePlayer(PlayerController player)
    {
        PlayerZone lobbyZone = GameManager.Instance.lobbyManager.playersZones[player.playerId];

        lobbyZone.Enable(null);

        takenPlayerIds[player.playerId]   = false;
        takenPlayerColors[player.colorId] = false;
        Destroy(player.gameObject);
        players.Remove(player);

        GameManager.Instance.currentPlayerCount--;
    }
    // Start is called before the first frame update
    void Start()
    {
        agent = GetComponent <NavMeshAgent>();

        PlayerPosition         = GameObject.FindObjectOfType <PlayerZone>();
        agent.stoppingDistance = attackDistance;
        agent.speed            = movementSpeed;
        r             = GetComponent <Rigidbody>();
        r.useGravity  = false;
        r.isKinematic = true;

        anim = GetComponentInChildren <Animator>();
    }
Пример #5
0
 public void JumpBeforBrianHit()
 {
     MessageSystemPlayingScene.IsJump = true;
     PlayerZone.SetNoneRigid();
     MessageSystemGameBlock.SetPlayingConstraints();
     if (!MessageSystemPlayingScene.exitFromPingPong)
     {
         MessageSystemPlayingScene.exitFromPingPong = true;
     }
     if (!MessageSystemPlayingScene.IsDead)
     {
         WaitingScreen.wait(MessageSystemPlayingScene.DisableCollider());
         MessageSystemPlayingScene.Player.GetComponent <Rigidbody2D>().AddForce(new Vector2(0, 9), ForceMode2D.Impulse);
     }
 }
Пример #6
0
    private void CreateNewPlayer(InputDevice device)
    {
        int id      = GetPlayerId();
        int colorId = GetPlayerColorId(id);

        PlayerZone       lobbyZone = GameManager.Instance.lobbyManager.playersZones[id];
        GameObject       go        = Instantiate(playerPrefab, lobbyZone.spawnPos, Quaternion.Euler(90, 0, 0), transform);
        PlayerController pc        = go.GetComponent <PlayerController>();

        pc.device     = device;
        pc.deviceMeta = device.Meta;
        pc.SetName("player" + id, id, colorId);
        pc.SetColor(colorId);
        lobbyZone.Enable(pc);

        players.Add(pc);

        GameManager.Instance.currentPlayerCount++;
    }
Пример #7
0
    private void Dash()
    {
        if (!isDashing)
        {
            if (movement.x != 0 || movement.y != 0)
            {
                isDashing = true;

                AkSoundEngine.PostEvent("Play_Player_Dash", gameObject);

                foreach (var item in GetComponentsInChildren <TrailRenderer>())
                {
                    item.DOTime(0.2f, 0.5f).OnStart(() => item.enabled = true);
                }

                PlayerZone pl = GetComponentInChildren <PlayerZone>();
                pl.ChangeSpeedObjectInZone(true);

                if (currentDash >= 1)
                {
                    AkSoundEngine.PostEvent("Play_Player_Dash2", gameObject);
                }

                GetComponentInChildren <PointEffector2D>().forceMagnitude = 100;

                rigidbody2d.DOMove(transform.position + movement.normalized * dashs[currentDash].dashStrength, dashs[currentDash].timeToReachDashPosition).OnComplete(() => DashCanceled()).SetEase(dashs[currentDash].easeDash).OnStart(() => DashEffect());

                dashCoolDownTimer = 0.0f;
                ++currentDash;
                if (currentDash == dashs.Length)
                {
                    isStun      = true;
                    currentDash = 0;
                    foreach (var item in GetComponentsInChildren <TrailRenderer>())
                    {
                        item.DOTime(0, 0.5f).OnComplete(() => item.enabled = false);
                    }
                }
            }
        }
    }
 public static void Jump()
 {
     if (!StopCollider.IsCollision)
     {
         float powerJump = 10;
         isJump = true;
         PlayerZone.SetNoneRigid();
         MessageSystemGameBlock.SetPlayingConstraints();
         if (!exitFromPingPong)
         {
             exitFromPingPong = true;
             player.tag       = "Player";
         }
         if (!isDead)
         {
             WaitingScreen.wait(DisableCollider());
             player.GetComponent <Rigidbody2D>().AddForce(new Vector3(0, powerJump, 0), ForceMode2D.Impulse);
             player.GetComponent <Animator>().SetBool("IsJumpUp", true);
         }
     }
 }
Пример #9
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (CurrentObjectType == ObjectType.SMALL && state == State.THROWN)
        {
            state = State.DOWN;

            Collider2D[] overlapColliders = Physics2D.OverlapBoxAll(transform.position, GetComponent <BoxCollider2D>().size * 1.25f, 0.0f);

            bool       canScore          = true;
            PlayerZone currentPlayerZone = null;

            for (int i = 0; i < overlapColliders.Length; ++i)
            {
                if (overlapColliders[i].gameObject.tag == "Player")
                {
                    PlayerMovement playerMovement = overlapColliders[i].gameObject.GetComponent <PlayerMovement>();
                    playerMovement.Stun();
                    Debug.Log("STUN");
                    Destroy(gameObject);
                    canScore = false;
                    break;
                }
                else
                {
                    PlayerZone playerZone = overlapColliders[i].GetComponent <PlayerZone>();
                    if (playerZone != null)
                    {
                        currentPlayerZone = playerZone;
                    }
                }
            }

            if (canScore == true && currentPlayerZone != null && currentPlayerZone.ZoneIndex == throwingPlayerIndex && FirstValidDrop)
            {
                GetComponent <Collider2D>().enabled = false;
                FirstValidDrop = false;
                GameManager.Instance.PlayerScored(throwingPlayerIndex, Points);
            }
        }
    }
Пример #10
0
    // Update is called once per frame
    void Update()
    {
        if (state == State.THROWN)
        {
            transform.position += throwDirection * Time.deltaTime * throwSpeed;

            if (Vector3.Distance(transform.position, throwStartPos) > ThrowDistance)
            {
                transform.position = throwStartPos + throwDirection * ThrowDistance;
                state = State.DOWN;

                Collider2D[] overlapColliders = Physics2D.OverlapBoxAll(transform.position, GetComponent <BoxCollider2D>().size * 1.25f, 0.0f);

                for (int i = 0; i < overlapColliders.Length; ++i)
                {
                    PlayerZone playerZone = overlapColliders[i].GetComponent <PlayerZone>();
                    if (playerZone != null && playerZone.ZoneIndex == throwingPlayerIndex && FirstValidDrop)
                    {
                        GameManager.Instance.PlayerScored(throwingPlayerIndex, Points);
                        FirstValidDrop = false;
                        GetComponent <Collider2D>().enabled = false;
                        break;
                    }
                }
            }
        }

        if (objectType == ObjectType.BIG)
        {
            if ((GameManager.Instance.GetPlayer(0).transform.position.y > transform.position.y) || (GameManager.Instance.GetPlayer(1).transform.position.y > transform.position.y))
            {
                GetComponent <SpriteRenderer>().sortingOrder = 11;
            }
            else
            {
                GetComponent <SpriteRenderer>().sortingOrder = 2;
            }
        }
    }
Пример #11
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (PlayerZone.IsOutside)
     {
         PlayerZone.MoveToPlayerZone();
     }
     if (collision.gameObject.CompareTag("Player") && MessageSystemPlayingScene.IsJump && !Cube.IsCollision)
     {
         MessageSystemPlayingScene.exitFromPingPong = false;
         if (!PlayerZone.IsOutside)
         {
             MessageSystemPlayingScene.SetDefaultConstraints();
         }
         else
         {
             MessageSystemGameBlock.SetPlayingConstraints();
         }
         MessageSystemPlayingScene.IsJump = false;
         MessageSystemPlayingScene.Player.GetComponent <Animator>().SetBool("IsRunAgain", true);
         StartCoroutine(PreparationToJump());
     }
 }
    public static void SelectHero(GameObject hero)
    {
        foreach (GameObject obj in circle)
        {
            if (obj.name == hero.name)
            {
                obj.GetComponent <Animation>().Play("RizeCircle");
            }
            else if (playerName == obj.name)
            {
                obj.GetComponent <Animation>().Play("ReduceCircle");
                if (IsActiveColider(playerName))
                {
                    obj.GetComponentInChildren <BoxCollider2D>().enabled = true;
                }
                else
                {
                    ChangeToCrossSprite(obj);
                }
            }
            else
            {
                if (IsActiveColider(obj.name))
                {
                    obj.GetComponentInChildren <BoxCollider2D>().enabled = true;
                }
            }
        }
        playerName = hero.name;
        player.SetActive(false);
        Vector2 positionLastPlayer = player.transform.position;
        string  nameLastPlayer     = player.name;

        if (!isStart)
        {
            storageVoid[0, (int)hash[playerName]]();
        }
        else
        {
            ChangeHeroAfterStart();
        }
        if (IsStart && IsActiveColider(nameLastPlayer))
        {
            player.transform.position = positionLastPlayer;
        }
        if (player.transform.position.x >= 0)
        {
            PlayerZone.IsOutside = false;
            PlayerZone.SetNoneRigid();
        }
        if (PlayerZone.IsOutside && !isDead)
        {
            PlayerZone.MoveToPlayerZone();
        }
        if (isJump && !isDead)
        {
            MessageSystemGameBlock.SetPlayingConstraints();
        }
        if (!animationDeathIsFinished)
        {
            MessageSystemGameBlock.StartGame();
            isDead = false;
            EnableCollider();
        }
        DeadLine.IsDeadLine = false;
        player.SetActive(true);
    }
Пример #13
0
 void Start()
 {
     shipTemplate = (GameObject)Resources.Load("pf_Player");
     shipZone     = new PlayerZone();
     SpawnPlayer();
 }
Пример #14
0
    // Update is called once per frame
    void Update()
    {
        if (Input.deviceOrientation == DeviceOrientation.FaceUp)
        {
            if (zone != PlayerZone.SELECTION && !faceUp)
            {
                faceUp = true;
                zone   = PlayerZone.SELECTION;

                GameObject pens = GameObject.Find("Pens");
                pens.transform.position = transform.position + new Vector3(transform.forward.x, transform.forward.y, transform.forward.z) * MENU_DIST;
                pens.transform.forward  = transform.forward;

                GameObject pointer = GameObject.Find("Pointer");
                pointer.transform.position = transform.position + new Vector3(transform.forward.x, transform.forward.y, transform.forward.z) * MENU_DIST;
                pointer.transform.forward  = transform.forward;
            }
        }
        else
        {
            faceUp = false;
        }

        if (Input.GetMouseButton(0))
        {
            if (zone == PlayerZone.WALKING)
            {
                transform.position = transform.position + new Vector3(transform.forward.x * PLAYER_SPEED, 0, transform.forward.z * PLAYER_SPEED);
                if (transform.position.x < PLAYER_FATNESS)
                {
                    transform.position = new Vector3(PLAYER_FATNESS, transform.position.y, transform.position.z);
                }
                else if (transform.position.x > Room.transform.localScale.x / 2 - PLAYER_FATNESS)
                {
                    transform.position = new Vector3(Room.transform.localScale.x / 2 - PLAYER_FATNESS, transform.position.y, transform.position.z);
                }
                if (transform.position.z < PLAYER_FATNESS)
                {
                    transform.position = new Vector3(transform.position.x, transform.position.y, PLAYER_FATNESS);
                }
                else if (transform.position.z > Room.transform.localScale.z / 2 - PLAYER_FATNESS)
                {
                    transform.position = new Vector3(transform.position.x, transform.position.y, Room.transform.localScale.z / 2 - PLAYER_FATNESS);
                }
            }

            if (zone == PlayerZone.DRAWING)
            {
                if (Input.deviceOrientation != DeviceOrientation.FaceUp || faceUp)
                {
                    GameObject spot      = GameObject.Find("Spot");
                    GameObject spotClone = Instantiate(spot, transform.position + transform.forward * DRAWING_RADIUS, transform.rotation);
                    spots.Add(spotClone);
                }
            }

            if (zone == PlayerZone.UNDOING)
            {
                GameObject tempSpot = spots[spots.Count - 1];
                spots.RemoveAt(spots.Count - 1);
                Destroy(tempSpot);
            }
        }

        if (zone == PlayerZone.SELECTION)
        {
        }

        if (zone == PlayerZone.DRAWING)
        {
            GameObject pointer = GameObject.Find("Pointer");
            pointer.transform.position = transform.position + transform.forward;
        }
    }