예제 #1
0
        public override void DoUpdate(ContextObsidian context)
        {
            character updateData = context.uploadedCharacterData;
            updateData.campaign_id = context.selectedCampaign.id;

            context.datahandler.updateCharakter(updateData);
            context.state = new ObsidianStateLoggedIn();
        }
예제 #2
0
 public override void SetCampaign(ContextObsidian context, string id)
 {
     List<campaign> cmplist = context.datahandler.getCampaignsForUser();
     IEnumerable<campaign> selCmp = from c in cmplist where c.id == id select c;
     if (selCmp.Count() > 0)
     {
         context.selectedCampaign = selCmp.First();
         context.selectedCharacter = new character();        // Wenn die Kampagne geändert wurde muss der zu aktualisierende Charakter neu ausgewählt werden.
         context.state = new ObsidianStateLoggedIn();        // Status nach Kampagnenauswahl immer LoggedIn
     }
 }
예제 #3
0
        public override void SetUpdateData(ContextObsidian context, character chr)
        {
            context.uploadedCharacterData = chr;

            // Status prüfen: Wenn alle Daten vorhanden sind, bereit für Update.
            if ((!String.IsNullOrEmpty(context.selectedCampaign.id)) &&
                (!String.IsNullOrEmpty(context.selectedCharacter.id)))
                context.state = new ObsidianStateUpdateDataComplete();
            else
                context.state = new ObsidianStateLoggedIn();
        }
예제 #4
0
        public override void SetCharacter(ContextObsidian context, string id)
        {
            List<character> chrlist = context.datahandler.getCharactersForCampaign(context.selectedCampaign);
            IEnumerable<character> selChr = from c in chrlist where c.id == id select c;
            if (selChr.Count() > 0)
            {
                context.selectedCharacter = selChr.First();

                // Status prüfen: Wenn alle Daten vorhanden sind, bereit für Update. Kampagne wird nicht abgeprüft.
                if ((!String.IsNullOrEmpty(context.uploadedCharacterData.id)))
                    context.state = new ObsidianStateUpdateDataComplete();
                else
                    context.state = new ObsidianStateLoggedIn();
            }
        }
예제 #5
0
 public override void DoUpdate(ContextObsidian context)
 {
     // Im Status LoggedIn nicht möglich (Daten nicht komplett)
 }
예제 #6
0
        public override void SetUpdateData(ContextObsidian context, character chr)
        {
            context.uploadedCharacterData = chr;

            // Status prüfen: Nicht erforderlich, da bereits im Ready-Zustand
        }
예제 #7
0
 public virtual void SetUpdateData(ContextObsidian context, character chr)
 {
 }
예제 #8
0
 public virtual void SetCharacter(ContextObsidian context, string id)
 {
 }
예제 #9
0
 public virtual void SetCampaign(ContextObsidian context, string id)
 {
 }
예제 #10
0
 public virtual void DoUpdate(ContextObsidian context)
 {
 }