Beispiel #1
0
 public static Component <T> Load(IkonArray rawData, LoadSession session)
 {
     return(new Component <T>(
                session.Deindexer.Get <T>(rawData[TypeIndex].To <string>()),
                rawData[LevelIndex].To <int>(),
                QuantityIndex < rawData.Count ? rawData[QuantityIndex].To <int>() : 1
                ));
 }
Beispiel #2
0
        public IOffscreenPlayer Load(IkonComposite rawData, LoadSession session)
        {
            if (session == null)
            {
                throw new ArgumentNullException(nameof(session));
            }

            return(session.Load <OrganellePlayer>(rawData));
        }
Beispiel #3
0
 public static AConstructionSite Load(IkonBaseObject rawData, LoadSession session)
 {
     if (rawData.Tag.Equals(Colony.Tag))
     {
         return(session.Load <Colony>(rawData));
     }
     else
     {
         return(session.Load <StellarisAdmin>(rawData));
     }
 }
Beispiel #4
0
    LoadSessionTradingPrtNrVM TransformToVM(LoadSession inputA, TradingPartner inputB)
    {
        LoadSessionTradingPrtNrVM newOBJ = new LoadSessioNTradingPrtNrVM();

        newOBJ.LoadSessionId = ipnutA.LoadSessionID;
        newOBJ.Import        = inputA.Import
                               //Here is the property from your Transform object
                               newOBJ.Description = inputB.Description
                               //...  Continue to transform one object into the other...
                               //You could add as many members from as many different objects as you want into
                               //Your view model following that pattern.
    }
Beispiel #5
0
        public static IReport Load(Ikadn.IkadnBaseObject reportData, LoadSession session)
        {
            if (reportData.Tag.Equals(DevelopmentReport.SaveTag))
            {
                return(session.Load <DevelopmentReport>(reportData));
            }
            else if (reportData.Tag.Equals(ResearchReport.SaveTag))
            {
                return(session.Load <ResearchReport>(reportData));
            }

            //TODO(later) add error handling
            throw new NotImplementedException();
        }
Beispiel #6
0
 public static IConstructionProject Load(IkadnBaseObject rawData, LoadSession session)
 {
     if (rawData.Tag.Equals(StaticProject.Tag))
     {
         return(session.Load <StaticProject>(rawData));
     }
     else if (rawData.Tag.Equals(ShipProject.Tag))
     {
         return(session.Load <ShipProject>(rawData));
     }
     else
     {
         throw new KeyNotFoundException("Unknown construction project type: " + rawData.Tag);
     }
 }
Beispiel #7
0
        private static IStarTrait LoadTrait(Ikadn.IkadnBaseObject loadData, LoadSession session)
        {
            var tag = loadData.Tag as string;

            if (loadData.Tag.Equals(EffectAfflictPlanets.SaveTag))
            {
                return(session.Load <EffectAfflictPlanets>(loadData));
            }
            else if (loadData.Tag.Equals(EffectTemporary.SaveTag))
            {
                return(session.Load <EffectTemporary>(loadData));
            }
            else
            {
                throw new KeyNotFoundException("Unknown order type: " + loadData.Tag);
            }
        }
Beispiel #8
0
        private static IOffscreenPlayer loadControl(Ikadn.IkadnBaseObject rawData, LoadSession session)
        {
            var tag = rawData.Tag as string;

            if (tag.Equals(PlayerType.NoControllerTag))
            {
                return(null);
            }
            else if (tag.Equals(PlayerType.OrganelleControllerTag))
            {
                return(new OrganellePlayerFactory().Load(rawData.To <IkonComposite>(), session));
            }
            else if (PlayerAssets.AIDefinitions.ContainsKey(tag))
            {
                return(PlayerAssets.AIDefinitions[tag].Load(rawData.To <IkonComposite>(), session));
            }

            throw new KeyNotFoundException("Can't load player controller for " + tag);
        }
Beispiel #9
0
 public static AMission Load(IkadnBaseObject rawData, LoadSession session)
 {
     if (rawData.Tag.Equals(MoveMission.MissionTag))
     {
         return(session.Load <MoveMission>(rawData));
     }
     else if (rawData.Tag.Equals(DisembarkMission.MissionTag))
     {
         return(session.Load <DisembarkMission>(rawData));
     }
     else if (rawData.Tag.Equals(SkipTurnMission.MissionTag))
     {
         return(new SkipTurnMission());
     }
     else if (rawData.Tag.Equals(LoadMission.MissionTag))
     {
         return(new LoadMission());
     }
     else
     {
         throw new KeyNotFoundException("Unknown order type: " + rawData.Tag);
     }
 }
Beispiel #10
0
        private static IOffscreenPlayer loadControl(Ikadn.IkadnBaseObject rawData, LoadSession session)
        {
            var tag = rawData.Tag as string;

            switch (tag)
            {
            case PlayerType.NoControllerTag:
                return(null);

            case PlayerType.OrganelleControllerTag:
                return(new OrganellePlayerFactory().Load(rawData.To <IkonComposite>(), session));

            default:
                if (PlayerAssets.AIDefinitions.TryGetValue(tag, out var factory))
                {
                    return(factory.Load(rawData.To <IkonComposite>(), session));
                }
                else
                {
                    throw new KeyNotFoundException("Can't load player controller for " + tag);
                }
            }
        }
Beispiel #11
0
 private static IStarName loadName(IkadnBaseObject rawData, LoadSession session)
 {
     return(rawData.Tag.Equals(ConstellationStarName.SaveTag) ?
            (IStarName)session.Load <ConstellationStarName>(rawData) :
            (IStarName)session.Load <ProperStarName>(rawData));
 }
 public IOffscreenPlayer Load(IkonComposite rawData, LoadSession session)
 {
     return(session.Load <OrganellePlayer>(rawData));
 }