예제 #1
0
        public Result <int> GetCount(int amcId)
        {
            var           result        = new Result <int>();
            SchemeService SchemeService = new SchemeService();

            result.Value     = SchemeService.Get(amcId);
            result.IsSuccess = true;
            return(result);
        }
예제 #2
0
        public Result <IList <Scheme> > GetAll(int amcId)
        {
            var           result        = new Result <IList <Scheme> >();
            SchemeService SchemeService = new SchemeService();

            result.Value     = SchemeService.GetAll(amcId);
            result.IsSuccess = true;
            return(result);
        }
예제 #3
0
        public Result <IList <Scheme> > GetAll()
        {
            var           result        = new Result <IList <Scheme> >();
            SchemeService SchemeService = new SchemeService();

            var lstClient = SchemeService.Get();

            result.Value     = (IList <Scheme>)lstClient;
            result.IsSuccess = true;
            return(result);
        }
예제 #4
0
        public void UsePropTest()
        {
            var person = new Mock <IPerson>().Object;
            var player = new Mock <IPlayer>().Object;
            var node   = new Mock <IMapNode>().Object;

            var actor = new Actor(person, player, node);

            var schemeFactory = new SchemeServiceHandlerFactory(CreateSchemeLocator());
            var schemeService = new SchemeService(schemeFactory);
            var propfactory   = new PropFactory(schemeService);

            var testProp = propfactory.CreateEquipment(schemeService.GetScheme <IPropScheme>("evil-pumpkin"));

            actor.UseProp(testProp);
        }
예제 #5
0
        public Result Delete(Scheme Scheme)
        {
            var result = new Result();

            try
            {
                SchemeService SchemeService = new SchemeService();
                SchemeService.Delete(Scheme);
                result.IsSuccess = true;
            }
            catch (Exception exception)
            {
                result.IsSuccess     = false;
                result.ExceptionInfo = exception;
            }
            return(result);
        }
예제 #6
0
 public async Task RemoveScheme(Guid schemeId)
 {
     await SchemeService.RemoveSchemeAsync(schemeId);
 }
예제 #7
0
        public IPerson Create(string personSchemeSid, IFraction fraction)
        {
            var personScheme = SchemeService.GetScheme <IPersonScheme>(personSchemeSid);

            var person = new HumanPerson(personScheme, fraction);

            var attributeModule = RollAndAddPersonAttributesToPerson(person);

            var movingModule = new MovingModule(attributeModule);

            person.AddModule(movingModule);

            var inventoryModule = new InventoryModule();

            person.AddModule(inventoryModule);

            var notNullSlots    = personScheme.Slots.Select(x => x !).ToArray();
            var equipmentModule = new EquipmentModule(notNullSlots);

            person.AddModule(equipmentModule);

            var effectsModule = new ConditionsModule();

            person.AddModule(effectsModule);

            var evolutionModule = new EvolutionModule(SchemeService);

            person.AddModule(evolutionModule);
            RollTraitPerks(evolutionModule);

            var survivalModule = new HumanSurvivalModule(personScheme, _survivalRandomSource, attributeModule,
                                                         effectsModule, evolutionModule, equipmentModule)
            {
                PlayerEventLogService = PlayerEventLogService
            };

            person.AddModule(survivalModule);

            RollStartEquipment(inventoryModule, person);

            if (person.Scheme.DefaultActs is null)
            {
                throw new InvalidOperationException();
            }

            var defaultActSchemes =
                person.Scheme.DefaultActs.Select(x => SchemeService.GetScheme <ITacticalActScheme>(x));
            var combatActModule = new CombatActModule(
                defaultActSchemes,
                equipmentModule,
                effectsModule,
                evolutionModule);

            person.AddModule(combatActModule);

            var combatStatsModule = new CombatStatsModule(evolutionModule, equipmentModule);

            person.AddModule(combatStatsModule);

            var diseaseModule = new DiseaseModule(effectsModule);

            person.AddModule(diseaseModule);

            var fowModule = new FowData();

            person.AddModule(fowModule);

            person.PlayerEventLogService = PlayerEventLogService;

            return(person);
        }
 private IDropTableScheme GetMainWeapons()
 {
     return(SchemeService.GetScheme <IDropTableScheme>(MAIN_WEAPON_DROP_SID));
 }
예제 #9
0
 public async Task RemoveJoint(Guid schemeId, Guid jointId)
 {
     await SchemeService.RemoveJointOnSchemeAsync(schemeId, jointId);
 }
 private IDropTableScheme GetOffWeapons()
 {
     return(SchemeService.GetScheme <IDropTableScheme>(OFF_WEAPON_DROP_SID));
 }
예제 #11
0
        public async Task <Joint> CreateJoint([FromBody] CreateJointModel jointModel)
        {
            var joint = await SchemeService.CreateJointOnSchemeAsync(jointModel.SchemeId, jointModel.NodeFromId, jointModel.NodeToId);

            return(joint);
        }
예제 #12
0
 public async Task RemoveNode(Guid schemeId, Guid nodeId)
 {
     await SchemeService.RemoveNodeFromScheme(schemeId, nodeId);
 }
 private IDropTableScheme GetHeads()
 {
     return(SchemeService.GetScheme <IDropTableScheme>(HEAD_DROP_SID));
 }
 private IDropTableScheme GetStartProps()
 {
     return(SchemeService.GetScheme <IDropTableScheme>(START_PROP_DROP_SID));
 }
예제 #15
0
        public async Task <Scheme> CreateScheme()
        {
            var scheme = await SchemeService.CreateSchemeAsync();

            return(scheme);
        }
예제 #16
0
        public async Task <ActionResult <Scheme> > GetScheme(Guid schemeId)
        {
            var scheme = await SchemeService.GetSchemeAsync(schemeId);

            return(scheme);
        }
예제 #17
0
        public async Task <IList <Scheme> > GetSchemes()
        {
            var schemes = await SchemeService.GetSchemesAsync();

            return(schemes);
        }
예제 #18
0
        public async Task <Node> CreateNode([FromBody] CreateNodeModel nodeModel)
        {
            var node = await SchemeService.CreateNodeOnScheme(nodeModel.SchemeId, nodeModel.X, nodeModel.Y, string.Empty);

            return(node);
        }
 private IDropTableScheme GetArmors()
 {
     return(SchemeService.GetScheme <IDropTableScheme>(BODY_DROP_SID));
 }