public void Start()
    {
        if (!isServer)
        {
            return;
        }

        if (Data == null)
        {
            var data = ProjectileData.GetData(DataID);
            if (data == null)
            {
                Debug.LogError("Server could not find a real copy of the data from ID! ID: {0}. Perhaps the data is not loaded?".Form(DataID));
            }
            else
            {
                Data = data;
            }
        }

        Create();
    }
 public static Projectile Spawn(byte dataID, Vector2 position, float angle, Faction faction)
 {
     return(Spawn(ProjectileData.GetData(dataID), position, angle, faction));
 }
 public static Projectile Spawn(ProjectileType type, Vector2 position, float angle, Faction faction)
 {
     return(Spawn(ProjectileData.GetData(type), position, angle, faction));
 }