[MY-AL] Script de téléportation réservé à un seul trajet

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
freepl
Messages : 907
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

[MY-AL] Script de téléportation réservé à un seul trajet

Message par freepl » 17 Déc 2019 17:05

Bonjour

J'ai 2 routes qui se rejoignent. Pour éviter que les véhicules qui suivent ces 2 routes ne s'imbriquent entre eux , j'ai un script de téléportation.
le pb vient que la zone de déclenchement ne sélectionne pas les véhicules en fonction du chemin qu'ils suivent ( le trajet dans le script). Tous ceux qui entrent dans la zone sont téléportes.
Je désire donner comme caractéristique le trajet. Et si c'est le bon trajet, le véhicule se téléporte.
ma logique, si tag VEHICULE et trajet=celui donné par l'inspector alors le véhicule se téléporte.

Voici le script avec le bug

Code : Tout sélectionner


// version 11 novembre 2015

using UnityEngine;
using System.Collections;
using System;
//gestion des teleportations de voie secondaire sur centrale
[Serializable]
public struct ZoneInsertion {
	public DetectInsertion zoneTele;
	public int pointInsertion;
}

public class GestionTeleportation : MonoBehaviour {
	
	public ZoneInsertion[] insertion;
	public GameObject newTrajet;
	public float vitesseInsertion;
	public float mEntrePoint;
	public GameObject trajet;
	
	void OnTriggerEnter(Collider other) {
		if ((other.tag == "VEHICULE")||(other.gameObject.GetComponent.trajet)) {
			
			int numZone = 0;
			
			if (insertion[0].zoneTele.voitureInsertion == false) {
				numZone = 0;
			} else if (insertion[1].zoneTele.voitureInsertion == false) {
				numZone = 1;
			} else if (insertion[2].zoneTele.voitureInsertion == false) {
				numZone = 2;
			} else {
				numZone = 3;//continue puis destruction 
			}
			
			if (numZone != 3) {
				other.gameObject.GetComponent<TrajetVl>().StopCoroutine();
				other.gameObject.GetComponent<TrajetVl>().target_Path = newTrajet;
				other.gameObject.GetComponent<TrajetVl>().kmh = vitesseInsertion;
				other.gameObject.GetComponent<TrajetVl>().kmhActuel = vitesseInsertion;
				other.gameObject.GetComponent<TrajetVl>().minTab = insertion[numZone].pointInsertion-1;
				other.gameObject.GetComponent<TrajetVl>().mEntrePoint = mEntrePoint;
				other.gameObject.GetComponent<TrajetVl>().DemrageVl();
			}
		}
	}
	// METTERE PANNEAU VITESSE 90KM/H APRES LES 3 INSERTIONS
	

 
}
le code erreur

Code : Tout sélectionner

Assets/SCRIPT/Route/GestionTeleportation.cs(24,66): error CS0119: Expression denotes a `method group', where a `variable', `value' or `type' was expected
Z002.jpg
Z002.jpg (252.66 Kio) Consulté 187 fois
Z021.jpg
Z021.jpg (434.62 Kio) Consulté 187 fois
Z001.jpg
Z001.jpg (314.83 Kio) Consulté 187 fois

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5243
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: [MY-AL] Script de téléportation réservé à un seul trajet

Message par boubouk50 » 17 Déc 2019 17:10

Code : Tout sélectionner

other.gameObject.GetComponent.trajet
Quand même... Depuis le temps que tu fais des GetComponent
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « (C#) CSharp »