Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将自定义类列表复制到另一个列表_C#_Unity3d - Fatal编程技术网

C# 将自定义类列表复制到另一个列表

C# 将自定义类列表复制到另一个列表,c#,unity3d,C#,Unity3d,我已经想出了(或者至少感觉上我已经想出了)一种方法来制作武器清单,而不必像我上次尝试的那样硬编码所有东西 因此,我得到了一个武器的自定义类,用于指定类型名称属性等。 我已经创建了另一个脚本,它将在Unity的inspector中显示一个列表,我可以不断添加武器,并将值更改为我认为合适的值 我也有一个游戏管理器脚本,它是从玩家统计到游戏状态等一切的路线 我想现在将此列表作为脚本中的新列表传输给游戏经理 using UnityEngine; using System.Collections; usi

我已经想出了(或者至少感觉上我已经想出了)一种方法来制作武器清单,而不必像我上次尝试的那样硬编码所有东西

因此,我得到了一个武器的自定义类,用于指定类型名称属性等。 我已经创建了另一个脚本,它将在Unity的inspector中显示一个列表,我可以不断添加武器,并将值更改为我认为合适的值

我也有一个游戏管理器脚本,它是从玩家统计到游戏状态等一切的路线

我想现在将此列表作为脚本中的新列表传输给游戏经理

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[System.Serializable]
public class GameManager {
    public static GameManager GM;
    public static int FileIndex;
    public static List<Weapons> WeaponM = new List<WeaponDB>();

    public PlayerData Player;
    public bool SaveEnabled;
    public bool IsPaused;

    public int TimeHour;
    public int TimeMinute;

    public GameManager(){
        Player = new PlayerData();
    }
}
使用UnityEngine;
使用系统集合;
使用System.Collections.Generic;
[系统可序列化]
公共类游戏管理器{
公共静态游戏管理器;
公共静态int文件索引;
public static List WeaponM=新列表();
公共播放器数据播放器;
启用公共bool savel;
公共场所;
公共国际时间小时;
公共时间分钟;
公共游戏经理(){
Player=新的PlayerData();
}
}
那将是我的游戏经理。这难道不像打字那么容易吗

    public static List<Weapons> WeaponM = new List<WeaponDB>();
publicstaticlist-WeaponM=newlist();
是否将存储在其中的所有列表项复制到我的gamemanager中的列表项

这是我的武器数据库脚本,你可以看到,我有另一个脚本,但它只是设置了所有不同的属性

using UnityEngine;
using System.Collections.Generic;
using System.Collections; 
public class WeaponDB : MonoBehaviour{
    public List<Weapons> Weapon;

    public WeaponDB(){

    }
    public WeaponDB(List<Weapons> wpl){

        Weapon = wpl;

    }


    void Start(){}

    void Update(){}
}
使用UnityEngine;
使用System.Collections.Generic;
使用系统集合;
公共级武器数据库:单一行为{
公开武器清单;
公共武器数据库(){
}
公共武器数据库(清单wpl){
武器=wpl;
}
void Start(){}
无效更新(){}
}
我犯了一个错误

CS0246找不到类型或命名空间名称“weaponsdb”


这部分可能不是编译:您正在声明一个类型
武器的列表,然后分配一个
武器的列表db
公共静态列表WeaponM=new List();
注意到仍然没有通过..它没有复制数据。请注意,游戏引擎使用了[unity3d]标记。[unity]标记保留给同名的Microsoft technology。