コード例 #1
0
ファイル: Player.cs プロジェクト: Pierre-ynov/Portal-Arena
    // Update is called once per frame
    void Update()
    {
        if (canAct)
        {
            dirX = 0;
            dirY = 0;
            //Permet de faire avancer le joueur
            if (UpKey != null && Input.GetKey(UpKey.Value))
            {
                dirX    = 0;
                dirY    = 1;
                lookDir = Vector2Int.up;
            }

            //Permet de faire reculer le joueur
            if (DownKey != null && Input.GetKey(DownKey.Value))
            {
                dirX    = 0;
                dirY    = -1;
                lookDir = Vector2Int.down;
            }

            // Permet de faire aller a gauche le joueur
            if (LeftKey != null && Input.GetKey(LeftKey.Value))
            {
                dirX    = -1;
                dirY    = 0;
                lookDir = Vector2Int.left;
            }

            // Permet de faire aller a droite le joueur
            if (RightKey != null && Input.GetKey(RightKey.Value))
            {
                dirX    = 1;
                dirY    = 0;
                lookDir = Vector2Int.right;
            }
            Move(dirX, dirY);

            // Permet d'attaquer
            // JR 15/11/2020 Modification pour ajouter possibilité d'empécher les inputs clavier durant le préchargement partie
            if (baseAttackKey != null && Input.GetKeyDown(baseAttackKey.Value) && (GameManager.IsInputEnabled == true))
            {
                if (baseAttackSlot.isReady)
                {
                    baseAttackSlot.Action(lookDir.x, lookDir.y);
                    baseAttackSlot.GenerateCoolDown();
                }
            }

            // Permet d'attaquer avec l'attaque spéciale
            if (specialAttackKey != null && Input.GetKeyDown(specialAttackKey.Value) && (GameManager.IsInputEnabled == true))
            {
                if (specialAttackSlot.isReady)
                {
                    specialAttackSlot.Action(lookDir.x, lookDir.y);
                    specialAttackSlot.GenerateCoolDown();
                }
            }

            // Permet d'utiliser un objet après le préchargement partie, si le slot objet n'est pas vide
            if (Input.GetKeyDown(objetKey.Value) && (GameManager.IsInputEnabled == true))
            {
                if (!isEmptyObjectSlot && objectSlot.isReady)
                {
                    objectSlot.Action(this);
                    UpdateEmptyObjectSlot();
                }
            }
        }
    }