2017-09-28 12 views
0

私は現在Unity3dとC#でSteamworks.netを使用しています。私がやりたいことは、SteamユーザーのIDを取得することです。この場合、自分のIDを取得してから、関数を実行します。`Steamworks.CSteamID 'タイプを` float'に暗黙的に変換することはできません

が暗黙的にタイプSteamworks.CSteamID' toフロート」を変換できません:

private static float berdyevID = 76561198040013516; 
private static float steamID; 


void Start() { 

    if(SteamManager.Initialized) { 

     string name = SteamFriends.GetPersonaName(); 

     // get steam user id 
     steamID = Steamworks.SteamUser.GetSteamID(); 

     // see if it matches 
     if (berdyevID == steamID) { 

      Debug.Log ("Steam ID did match"); 
     } else { 

      Debug.Log ("Steam ID did not match"); 
     } 


    } 

} 

私が述べUnityからのエラーを取得しています:

これは私がこれまでにしたものです。明示的な変換があります(キャストがありませんか?)

私は混乱します。私は可能な修正を見つけるためにGoogleで私の研究をしてみましたが、何も見つかりませんでした。誰も助けることができますか?

EDIT

私はこれを試してみましたが、それはうまくいきませんでした:

private static ulong berdyevID = 76561198040013516; 
private static ulong steamID; 

void Start() { 

    if(SteamManager.Initialized) { 

     string name = SteamFriends.GetPersonaName(); 

     // get steam user id 
     steamID = Steamworks.SteamUser.GetSteamID(); 

     // see if it matches 
     if (berdyevID == steamID) { 

      Debug.Log ("Steam ID did match"); 
     } else { 

      Debug.Log ("Steam ID did not match"); 
     } 
    } 
} 

答えて

4

あなたGetSteamID()タイプfloatの変数steamIDに割り当てられないタイプSteamworks.CSteamIDのオブジェクトを返します。

構造体に変数m_SteamIDがあります。ulong変数があります。それがidの位置です。

private static ulong berdyevID = 76561198040013516; 
private static ulong steamID; 


void Start() { 

    if(SteamManager.Initialized) { 

     string name = SteamFriends.GetPersonaName(); 

     // get steam user id 
     steamID = Steamworks.SteamUser.GetSteamID().m_SteamID; 

     // see if it matches 
     if (berdyevID == steamID) { 

      Debug.Log ("Steam ID did match"); 
     } else { 

      Debug.Log ("Steam ID did not match"); 
     } 
    } 
} 
+0

いいえ..私はどうしたらいいですか? – papi

+0

apiを見て、そのクラスのIDを返す方法を確認してください。 –

+0

@berdyev更新された回答 – Programmer

関連する問題