Exemplo n.º 1
0
    void Awake()
    {
        main = this;

        UIAssistant.onShowPage += TryToSaveProfile;

        DebugPanel.AddDelegate("Clear Data", ClearData);
        DebugPanel.AddDelegate("Unlock all levels", UnlockAllLevels);
    }
Exemplo n.º 2
0
    public void DrawLocalProfile()
    {
        main = (ProfileAssistant)metaTarget;
        Undo.RecordObject(main, "");

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("Clear Data", GUILayout.Width(80)))
        {
            main.ClearData();
        }
        if (GUILayout.Button("Unlock All Levels", GUILayout.Width(110)))
        {
            main.UnlockAllLevels();
        }
        EditorGUILayout.EndHorizontal();

        if (main.local_profile == null)
        {
            main.local_profile = UserProfileUtils.ReadProfileFromDevice();
        }

        EditorGUILayout.LabelField("Current level", main.local_profile.current_level.ToString(), EditorStyles.boldLabel);
        EditorGUILayout.LabelField("Last save", main.local_profile.lastSave.ToShortDateString() + " " + main.local_profile.lastSave.ToLongTimeString(), EditorStyles.boldLabel);

        EditorGUILayout.EndFadeGroup();

        scoresFade.target = GUILayout.Toggle(scoresFade.target, "Score", EditorStyles.foldout);
        if (EditorGUILayout.BeginFadeGroup(scoresFade.faded))
        {
            if (main.local_profile.score.Count > 0)
            {
                foreach (KeyValuePair <int, int> score in main.local_profile.score)
                {
                    EditorGUILayout.BeginHorizontal();
                    GUILayout.Space(20);
                    EditorGUILayout.LabelField("Level " + score.Key.ToString(), score.Value.ToString(), EditorStyles.boldLabel);
                    EditorGUILayout.EndHorizontal();
                }
            }
            else
            {
                GUILayout.Label("Empty");
            }
        }
        EditorGUILayout.EndFadeGroup();
    }
    public override void OnInspectorGUI()
    {
        main = (ProfileAssistant) target;
        Undo.RecordObject (main, "");

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("Clear Data", GUILayout.Width(80))) {
            main.ClearData();
        }
        if (GUILayout.Button("Unlock All Levels", GUILayout.Width(110))) {
            main.UnlockAllLevels();
        }
            EditorGUILayout.EndHorizontal();

        if (main.local_profile == null)
            main.local_profile = UserProfileUtils.ReadProfileFromDevice();

        EditorGUILayout.LabelField("Name", main.local_profile.name.ToString(), EditorStyles.boldLabel);
        EditorGUILayout.LabelField("Current level", main.local_profile.current_level.ToString(), EditorStyles.boldLabel);
        EditorGUILayout.LabelField("Last save", main.local_profile.lastSave.ToShortDateString() + " " + main.local_profile.lastSave.ToLongTimeString(), EditorStyles.boldLabel);
        EditorGUILayout.LabelField("Next Live time", main.local_profile.next_live_time.ToShortDateString() + " " + main.local_profile.next_live_time.ToLongTimeString(), EditorStyles.boldLabel);

        inventoryFade.target = GUILayout.Toggle(inventoryFade.target, "Inventory", EditorStyles.foldout);
        if (EditorGUILayout.BeginFadeGroup(inventoryFade.faded)) {
            foreach (KeyValuePair<string, int> inventory in main.local_profile.inventory) {
                EditorGUILayout.BeginHorizontal();
                GUILayout.Space(20);
                EditorGUILayout.LabelField(inventory.Key, inventory.Value.ToString(), EditorStyles.boldLabel);
                EditorGUILayout.EndHorizontal();
            }
        }
        EditorGUILayout.EndFadeGroup();

        scoresFade.target = GUILayout.Toggle(scoresFade.target, "Score", EditorStyles.foldout);
        if (EditorGUILayout.BeginFadeGroup(scoresFade.faded)) {
            foreach (KeyValuePair<int, int> score in main.local_profile.score) {
                EditorGUILayout.BeginHorizontal();
                GUILayout.Space(20);
                EditorGUILayout.LabelField("Level " + score.Key.ToString(), score.Value.ToString(), EditorStyles.boldLabel);
                EditorGUILayout.EndHorizontal();
            }
        }
        EditorGUILayout.EndFadeGroup();
    }
Exemplo n.º 4
0
    internal ClassManager()
    {
        //TODO Add Not Behavior Clases
        ProfileAssistant.DebugLog("Create Contructor");

        TimerManager             timerManager             = new TimerManager();
        ScreenOrientationManager screenOrientationManager = new ScreenOrientationManager();
        InputManager             inputManager             = new InputManager();
        SaveDataManager          saveDataManager          = new SaveDataManager();
        GameLocalData            gameLocalData            = new GameLocalData();

        AddService <ITimerManager>(timerManager);
        AddService <IScreenOrientationManager>(screenOrientationManager);
        AddService <IInputManager>(inputManager);
        AddService <ISaveManager>(saveDataManager);
        AddService <GameLocalData>(gameLocalData);

        AddUpdateService <ITimerManager>(timerManager);
        AddUpdateService <IScreenOrientationManager>(screenOrientationManager);
        AddUpdateService <IInputManager>(inputManager);
    }
Exemplo n.º 5
0
 public void Update()
 {
     lock (sync)
     {
         for (int i = 0; i < timers.Count; i++)
         {
             ProfileAssistant.DebugLog("TimerActive");
             if (timers[i] != null)
             {
                 if (timers[i].Finished)
                 {
                     timers.RemoveAt(i);
                 }
                 else
                 {
                     timers[i].Update();
                 }
             }
         }
     }
 }
Exemplo n.º 6
0
    public override void OnInspectorGUI()
    {
        if (!metaTarget)
        {
            EditorGUILayout.HelpBox("ProfileAssistant is missing", MessageType.Error);
            return;
        }
        main = (ProfileAssistant)metaTarget;
        Undo.RecordObject(main, "");

        #region Local Profile
        localProfileFade.target = GUILayout.Toggle(localProfileFade.target, "Local Profile", EditorStyles.foldout);
        if (EditorGUILayout.BeginFadeGroup(localProfileFade.faded))
        {
            EditorGUILayout.BeginVertical(EditorStyles.textArea);

            DrawLocalProfile();

            EditorGUILayout.EndVertical();
        }
        EditorGUILayout.EndFadeGroup();
        #endregion
    }
 void Awake()
 {
     main = this;
     UIAssistant.onShowPage += TryToSaveProfile;
 }
    public void DrawInitialInventory()
    {
        main = (ProfileAssistant)metaTarget;
        Undo.RecordObject(main, "");

        if (BerryStoreAssistant.main == null)
        {
            BerryStoreAssistant.main = FindObjectOfType <BerryStoreAssistant>();
        }

        if (BerryStoreAssistant.main == null)
        {
            EditorGUILayout.HelpBox("BerryStoreAssistant is missing", MessageType.Error);
            return;
        }


        if (ProjectParameters.main == null)
        {
            ProjectParameters.main = FindObjectOfType <ProjectParameters>();
        }

        if (ProjectParameters.main == null)
        {
            EditorGUILayout.HelpBox("ProjectParameters is missing", MessageType.Error);
            return;
        }
        #region Header
        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("Item ID", EditorStyles.centeredGreyMiniLabel, GUILayout.Width(120));
        GUILayout.Label("Count", EditorStyles.centeredGreyMiniLabel, GUILayout.Width(120));
        EditorGUILayout.EndHorizontal();
        #endregion


        List <string>            items     = BerryStoreAssistant.main.items.Select(x => x.id).ToList();
        Dictionary <string, int> inventory = new Dictionary <string, int>();
        if (!string.IsNullOrEmpty(main.firstStartInventory))
        {
            inventory = main.firstStartInventory.Split(';').Select(x => x.Split(':')).ToDictionary(x => x[0], x => int.Parse(x[1]));
        }

        string result = "";

        bool isLife;
        foreach (string item in items)
        {
            isLife = item == "life";

            GUI.enabled = !isLife;
            EditorGUILayout.BeginHorizontal();

            GUILayout.Label(item, GUILayout.Width(120));
            int count = inventory.ContainsKey(item) ? inventory[item] : 0;
            if (isLife)
            {
                count = ProjectParameters.main.lifes_limit;
            }
            count = Mathf.Max(0, EditorGUILayout.IntField(count, GUILayout.Width(120)));
            if (result != "")
            {
                result += ";";
            }
            result += item + ":" + count;

            EditorGUILayout.EndHorizontal();
        }

        main.firstStartInventory = result;
    }