Menu
CoddyTech

Récapitulatif : tourelle modulaire

Fait partie de la section Architecture de jeu dans Unity du Journey Unity de Coddy. Leçon 5 sur 64.

challenge icon

Défi

Facile

Construis l’arme de Turret1. TurretControl et Cannon sont prêts.

  1. Dans Ammo, écris public bool Take() : utilise un obus et renvoie true, ou consigne name + " is empty" et renvoie false.
  2. Rends Weapon abstraite avec [RequireComponent(typeof(Ammo))], et déclare Fire() protected abstract sans corps.
  3. Pull() ne fait rien pendant le cooldown ; sinon, si Take() renvoie true, relance le délai de récupération et appelle Fire().

Appuie sur « Jouer » et tire jusqu’à ce qu’il n’y ait plus de munitions. Puis appuie sur « Vérifier ».

Essayez vous-même

using UnityEngine;

// Ce que toutes les armes de tourelle ont en commun.
public class Weapon : MonoBehaviour
{
    public GameObject shellPrefab;
    public float cooldown = 1f;

    public void Pull()
    {
        // attendre la fin du cooldown, prendre un obus dans Ammo, puis tirer
    }

    // Chaque arme tire à sa manière.
    protected virtual void Fire()
    {
    }

    // Un obus lancé depuis cet endroit, par rapport à la tourelle, dans la direction vers laquelle elle pointe.
    protected void Launch(Vector3 offset)
    {
        Instantiate(shellPrefab, transform.position + transform.rotation * offset, transform.rotation);
    }
}

Toutes les leçons de Architecture de jeu dans Unity

Entraînez-vous par vous-même : Playground Unity