Hinzufügen eines Skripts zu einem Objekt aus einer Liste von Skripten während der Laufzeit in EinheitC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Hinzufügen eines Skripts zu einem Objekt aus einer Liste von Skripten während der Laufzeit in Einheit

Post by Anonymous »

Für das Spiel, an dem ich arbeite, habe ich meine Gruppen mehrere Skripte schreiben, die ich in das Projekt implementieren würde. Jedes Drehbuch würde den Dialog für das Spiel enthalten. Es war eine gehetzte Lösung und sehr hässlich, aber es hat sich entwickelt, bis die Skripte am Anfang randomisiert werden mussten. Ich hoffe, dass jemand mir sagen kann, was mit meiner unglaublich abgenutzten Implementierung schief geht.

Code: Select all

using System;
using System.Collections;
using System.Collections.Generic;
using Unity.Collections.LowLevel.Unsafe;
using Unity.VisualScripting;
using UnityEditor;
using UnityEngine;

public class UserRandomizer : MonoBehaviour
{
//The scripts in this list are set in engine
public List scripts = new List();

public GameObject User1;
public GameObject User2;
public GameObject User3;

public int number;

// Start is called before the first frame update
void Start()
{
User1 = GameObject.Find("User1");
User2 = GameObject.Find("User2");
User3 = GameObject.Find("User3");

number = UnityEngine.Random.Range(0, scripts.Count - 1);
User1.AddComponent(scripts[number].GetType());
scripts.RemoveAt(number);

number = UnityEngine.Random.Range(0, scripts.Count - 1);
User2.AddComponent(scripts[number].GetType());
scripts.RemoveAt(number);

number = UnityEngine.Random.Range(0, scripts.Count - 1);
User3.AddComponent(scripts[number].GetType());
scripts.RemoveAt(number);
}

}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post