Unity - Как да получа данни от js скрипт в csharp скрипт?

Имам резултата на моя играч, намиращ се в gameobject _GM (script = gamemaster.js) по следния начин:

static var currentScore : int = 0;

Сега искам този резултат да се използва тук: (В скрипта gameOver.cs, разположен в друга сцена)

public void SetScore() {
        var scoreData = new Dictionary<string,string> ();
        scoreData ["score"] = THIS SHOULD BE THE CURRENTSCORE;
        FB.API ("/me/scores", Facebook.HttpMethod.POST, delegate (FBResult result) {
            Debug.Log ("Score submit result: " + result.Text);
        }, scoreData);
    }

Така че играта ми може да публикува тези данни във Facebook.

Кой е най-добрият начин да направите това?


person Infinity    schedule 26.05.2015    source източник


Отговори (1)


Когато имате два скрипта, особено когато са на различни езици, това, което трябва да направите, е да обърнете внимание на реда на компилиране на скрипта.

И така, това, което трябва да направите, е това

  • Поставете своя .js файл в Standard Assets, Pro Standard Assets или Plugins
  • Поставете своя .cs файл във всяка папка освен изброените по-горе
  • Сега във вашия .cs файл можете да получите достъп до резултата „currentScore“, както следва

    scoreData ["score"] = gamemaster.currentScore;
    

Ръководство на Unity - Ред на компилиране на скрипт

person Venkat at Axiom Studios    schedule 27.05.2015
comment
Преместих моя файл gamemaster.js в папката с добавки. Проблемът, който имам сега, е, че всички препратки към други скриптове (gamemaster.js е скриптът, който държи играта заедно) получават грешки. Позовавам се на други скриптове като този: ScoreLane7.LaughScorePoint. - person Infinity; 27.05.2015
comment
Преместете тези скриптове в същата папка като gamemaster.js. Проблема решен - person Venkat at Axiom Studios; 27.05.2015
comment
Не мога, защото тези скриптове работят с плъгин, който трябва да бъде компилиран преди тях. Но аз пренаписах своя скрипт gamemaster.js, така че вече не се нуждае от тези скриптове. Сега все още получавам тази малка грешка: Не мога имплицитно да конвертирам тип int' to string', когато се опитвам да публикувам резултата във FB. - person Infinity; 27.05.2015
comment
Това е така, защото променливата ви за резултат е цяло число. Промяна на gamemaster.currentScore.ToString() - person Venkat at Axiom Studios; 27.05.2015