public override void OnInspectorGUI()
 {
     EditorGUILayout.LabelField("Open fmc->Settings to edit me!", EditorStyles.boldLabel);
     EditorGUILayout.LabelField("I should be called " + FMCGameSettingsBase.GetAssetName(FMCGameSettingsPublic.GetFullRelativePath()));
     EditorGUILayout.LabelField("I should be placed under " + FMCGameSettingsPublic.GetFullRelativePath());
     EditorGUILayout.LabelField("I will be included in the build!");
 }
    public FMCFramework()
    {
        _instance = this;

        GameSettings = FMCGameSettingsPublic.GetGameSettings();
        if (GameSettings == null)
        {
#if UNITY_EDITOR
            Debug.LogWarning("FMC: unable to find game settings. Creating a new settings asset...");
            FMCGameSettings.LoadOrCreateGameSettings();
#else
            Debug.LogError("FMC error: unable to find game settings. Check FMC settings.");
#endif
        }

        GameInstance = new FMCGameInstance();
        SaveSystem   = new FMCSaveSystem();

        Ads = new FMCAds();

#if ACTIVATE_FIREBASE
        if (GameSettings.enableAnalytics)
        {
            Analytics = new FMCFirebaseAnalytics();
        }
        else
#endif
        {
            Analytics = new FMCTestAnalytics();
        }

        //Binding game events to analytics
        fmc.events.ResetGame           += () => { fmc.analytics.Event(fmc.analytics.EventName_ResetGame); };
        fmc.events.GameStarted         += () => { fmc.analytics.Event(fmc.analytics.EventName_GameStarted); };
        fmc.events.NewBestScore        += (long score) => { fmc.analytics.Event(fmc.analytics.EventName_NewBestScore, fmc.analytics.EventParamName_Score, score); };
        fmc.events.GameOver            += (long score) => { fmc.analytics.Event(fmc.analytics.EventName_GameOver, fmc.analytics.EventParamName_Score, score); };
        fmc.events.ResumedFromGameOver += () => { fmc.analytics.Event(fmc.analytics.EventName_ResumeFromGameOver); };
        fmc.events.LevelUp             += (int newLevel) => { fmc.analytics.Event(fmc.analytics.EventName_LevelUp); };

        if (fmc.game.Settings.enableLevelSystem)
        {
            if (fmc.game.Settings.testLevel > 0)
            {
                fmc.game.Level      = fmc.game.Settings.testLevel;
                fmc.game.Experience = 30;
            }
        }
        else
        {
            fmc.game.Level      = 1;
            fmc.game.Experience = 0;
        }
    }
Example #3
0
 public static FMCGameSettings LoadOrCreateGameSettings()
 {
     return(new FMCGameSettings(FMCGameSettingsPublic.LoadOrCreateGameSettingsFile(), FMCGameSettingsPrivate.LoadOrCreateGameSettingsFile()));
 }
Example #4
0
 protected FMCGameSettings(FMCGameSettingsPublic publicSettings, FMCGameSettingsPrivate privateSettings)
 {
     Public  = publicSettings;
     Private = privateSettings;
 }