]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Account.h
Replaced all uses of Account::active outside of Account by call to active() method
[lugaru.git] / Source / Account.h
index 2d75f559143b1dc0849f20934d6ee5943aa35756..f9bc5e1654940c614acfa9cda7b40309dee66534 100644 (file)
@@ -1,6 +1,6 @@
 /*
 Copyright (C) 2003, 2010 - Wolfire Games
-Copyright (C) 2010 - Côme <MCMic> BERNIGAUD
+Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file)
 
 This file is part of Lugaru.
 
@@ -43,14 +43,18 @@ struct CampaignProgress {
 class Account
 {
 public:
-    static void destroy(int i);
-    static Account* destroy(Account* a);
-    static Account* add(const std::string& name);
+    static void destroyActive();
+    static void setActive(int i);
+    static void add(const std::string& name);
     static Account* get(int i);
-    static Account* loadFile(std::string filename);
-    static void saveFile(std::string filename, Account* accountactive);
+    static void loadFile(std::string filename);
+    static void saveFile(std::string filename);
     static int indice(Account* a);
 
+    static bool hasActive() { return (_active != nullptr); }
+    static Account& active() { return *_active; }
+    static Account* _active;
+
     void endGame();
     void winCampaignLevel(int choice, float score, float time);
     void winLevel(int level, float score, float time);
@@ -60,8 +64,8 @@ public:
     void setDifficulty(int i) {
         difficulty = i;
     };
-    const char* getName() {
-        return name.c_str();
+    const std::string& getName() {
+        return name;
     };
     float getCampaignScore() {
         return campaignProgress[currentCampaign].score;