コード例 #1
0
        public AddEditEquipmentModuleDialog(EquipmentModule equipmentModule)
        {
            InitializeComponent();
            Title = "Edit EquipmentModule";

            mViewEquipmentModule = new AddEditEquipmentModuleViewEquipmentModule(this, equipmentModule, CommonUtils.Operation.Update);
        }
コード例 #2
0
        public AddEditEquipmentModuleDialog(EquipmentModule equipmentModule, int unitId)
        {
            InitializeComponent();
            equipmentModule.UnitId = unitId;

            mViewEquipmentModule = new AddEditEquipmentModuleViewEquipmentModule(this, equipmentModule, CommonUtils.Operation.Add);
        }
コード例 #3
0
        public async Task <IActionResult> AddEquipment([FromBody] EquipmentView view)
        {
            EquipmentModule invMod = new EquipmentModule();

            NextNumber nnEquipment = await invMod.Equipment.Query().GetNextNumber();

            view.EquipmentNumber = nnEquipment.NextNumberValue;

            Equipment equipment = await invMod.Equipment.Query().MapToEntity(view);

            invMod.Equipment.AddEquipment(equipment).Apply();

            EquipmentView newView = await invMod.Equipment.Query().GetViewByNumber(view.EquipmentNumber);


            return(Ok(newView));
        }
コード例 #4
0
    public override void OnInspectorGUI()
    {
        EquipmentModule wc = (EquipmentModule)target;

        DrawDefaultInspector();

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("AutoPopulate"))
        {
            wc.AutoPopulate();
        }
        if (GUILayout.Button("Clear Hardpoints"))
        {
            wc.ClearHardpoints();
        }
        EditorGUILayout.EndHorizontal();
    }
コード例 #5
0
        public JsonResult FormSubmit(string id, string eqtId, string orgId, string stgId, string tagId,
                                     string mod, string fac, string facCode, DateTime facDate, int validInterval, DateTime purchaseDate)
        {
            var data        = false;
            var expiredDate = facDate.AddDays(validInterval);
            var eqt         = new Equipment
            {
                CateId       = eqtId,
                ChangeTime   = 0,
                Dispatched   = (short)DispatchedStatus.None,
                ExpiredTime  = expiredDate.ToUnixTime(),
                FactorCode   = facCode,
                FactorTime   = facDate.ToUnixTime(),
                Factory      = fac,
                InputTime    = DateTime.Now.ToUnixTime(),
                IsChanged    = 0,
                IsDel        = (short)DeleteStatus.No,
                IsLost       = 0,
                LibId        = stgId,
                Model        = mod,
                OrgId        = orgId,
                PurchaseTime = purchaseDate.ToUnixTime(),
                Status       = (short)EquipmentStatus.Normal,
                TagId        = tagId
            };
            var module = new EquipmentModule(CurrentUser);
            var isAdd  = string.IsNullOrWhiteSpace(id);

            if (isAdd)
            {
                eqt.Power = 100;
                data      = module.Add(eqt);
            }

            if (!isAdd)
            {
                eqt.Id = id;
                data   = module.Modify(eqt, t => t.Id == id);
            }

            return(Json(new { code = 0, msg = "Ok", data = data }, "text/html"));
        }
コード例 #6
0
    private void SaveStatus()
    {
        if (requestedNoSave)
        {
            return;
        }
        var pcStatus = statusModule as PartyCharaStatusModule;

        if (pcStatus == null)
        {
            return;
        }
        Debug.Log("Save Status");
        SaveData.SetInt("PlayerLevel", pcStatus.Level);
        SaveData.SetFloat("PlayerHP", pcStatus.HP);
        SaveData.SetFloat("PlayerMP", pcStatus.MP);
        SaveData.SetFloat("PlayerFood", pcStatus.Food);
        EquipmentModule.Save("");
        SaveData.Save();
    }
コード例 #7
0
    public void OnSceneGUI()
    {
        EquipmentModule wc = (EquipmentModule)target;

        if (wc.hardpoints != null && wc.hardpoints.Length > 0)
        {
            foreach (HardpointModule hp in wc.hardpoints)
            {
                if (hp != null)
                {
                    if (wc.showArcs)
                    {
                        Transform       tf = hp.transform;
                        HardpointConfig hc = hp.config;

                        //Draw traversal arcs
                        Handles.color = new Color(1.0f, 0.5f, 0.5f, 0.1f);
                        if (hc.limitBearing)
                        {
                            Handles.DrawSolidArc(tf.position, tf.up, tf.forward, hc.maxBearing, wc.ArcSize);
                            Handles.DrawSolidArc(tf.position, tf.up, tf.forward, -hc.minBearing, wc.ArcSize);
                        }
                        else
                        {
                            Handles.DrawSolidArc(tf.position, tf.up, tf.forward, 360.0f, wc.ArcSize);
                        }

                        //Draw elevation arc
                        Handles.color = new Color(0.5f, 0.5f, 1.0f, 0.1f);
                        Handles.DrawSolidArc(tf.position, tf.right, tf.forward, -hc.maxAzimuth, wc.ArcSize);

                        //Draw depression arc
                        Handles.color = new Color(0.5f, 1.0f, 0.5f, 0.1f);
                        Handles.DrawSolidArc(tf.position, tf.right, tf.forward, hc.minAzimuth, wc.ArcSize);
                    }
                }
            }
        }
    }
コード例 #8
0
        public void SetEquipment_Armor_NoException()
        {
            // ARRANGE
            var armorScheme = new TestPropScheme
            {
                Tags  = new[] { PropTags.Equipment.Armor },
                Equip = new TestPropEquipSubScheme
                {
                    SlotTypes = new[]
                    {
                        EquipmentSlotTypes.Body
                    }
                }
            };

            var slotSchemes = new[]
            {
                new PersonSlotSubScheme
                {
                    Types = EquipmentSlotTypes.Body
                }
            };

            var armorEquipment = new Equipment(armorScheme, Array.Empty <ITacticalActScheme>());

            const int ARMOR_SLOT = 0;

            var carrier = new EquipmentModule(slotSchemes);

            // ACT
            Action act = () =>
            {
                carrier[ARMOR_SLOT] = armorEquipment;
            };

            // ASSERT
            act.Should().NotThrow <Exception>();
        }
コード例 #9
0
 public JsonResult AddModule(int equipmentId, string name, string description, int?parentModuleId)
 {
     try
     {
         Equipment e = db.Equipments.Find(equipmentId);
         if (e != null)
         {
             EquipmentModule em = new EquipmentModule()
             {
                 Name           = name,
                 Description    = description,
                 ParentModuleId = parentModuleId
             };
             e.EquipmentModules.Add(em);
             db.SaveChanges();
             return(Json(new { result = true }, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception)
     {
     }
     return(Json(new { result = false }, JsonRequestBehavior.AllowGet));
 }
コード例 #10
0
        public void SetEquipment_ChangeEquipment_EventRaised()
        {
            // ARRANGE
            var scheme = new TestPropScheme
            {
                Equip = new TestPropEquipSubScheme
                {
                    SlotTypes = new[]
                    {
                        EquipmentSlotTypes.Hand
                    }
                }
            };

            var slotSchemes = new[]
            {
                new PersonSlotSubScheme
                {
                    Types = EquipmentSlotTypes.Hand
                }
            };

            var tacticalActScheme = new TestTacticalActScheme();

            var equipment = new Equipment(scheme, new[] { tacticalActScheme });

            const int changedSlot = 0;

            var carrier = new EquipmentModule(slotSchemes);

            // ACT
            using var monitor    = carrier.Monitor();
            carrier[changedSlot] = equipment;

            // ASSERT
            monitor.Should().Raise(nameof(carrier.EquipmentChanged));
        }
コード例 #11
0
 public JsonResult RemoveModule(int moduleId)
 {
     try
     {
         EquipmentModule em = db.EquipmentModules.Find(moduleId);
         if (em != null)
         {
             if (em.InstallationEquipmentModules.Count() == 0)
             {
                 db.EquipmentModules.Remove(em);
             }
             else
             {
                 em.ValidTo = DateTime.Now;
             }
             db.SaveChanges();
             return(Json(new { result = true }, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception)
     {
     }
     return(Json(new { result = false }, JsonRequestBehavior.AllowGet));
 }
コード例 #12
0
 public ShowEquipmentCommandHandler(EquipmentModule module)
 {
     this.module = module;
 }
コード例 #13
0
 public TakeoffCommandHandler(EquipmentModule module)
 {
     this.module = module;
 }
コード例 #14
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 equipmentModule = new EquipmentModule(personScheme.Slots);

            person.AddModule(equipmentModule);

            var effectsModule = new EffectsModule();

            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);

            var defaultActScheme = SchemeService.GetScheme <ITacticalActScheme>(person.Scheme.DefaultAct);
            var combatActModule  = new CombatActModule(
                defaultActScheme,
                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);
        }
コード例 #15
0
        public void SetEquipment_PropCombinationInTwoSlots_ExpectedExceptionGeneration(string propSid1,
                                                                                       string propSid2,
                                                                                       bool expectException)
        {
            // ARRANGE

            for (var i = 0; i < 2; i++)
            {
                Equipment equipment1 = null;
                Equipment equipment2 = null;

                var scheme1 = GetSchemeBySid(propSid1);
                if (scheme1 != null)
                {
                    equipment1 = new Equipment(scheme1, Array.Empty <ITacticalActScheme>());
                }

                if (propSid1 == propSid2)
                {
                    if (scheme1 != null)
                    {
                        equipment2 = new Equipment(scheme1, Array.Empty <ITacticalActScheme>());
                    }
                }
                else
                {
                    var scheme2 = GetSchemeBySid(propSid2);

                    if (scheme2 != null)
                    {
                        equipment2 = new Equipment(scheme2, Array.Empty <ITacticalActScheme>());
                    }
                }

                var slotSchemes = new[] {
                    new PersonSlotSubScheme {
                        Types = EquipmentSlotTypes.Hand
                    },
                    new PersonSlotSubScheme {
                        Types = EquipmentSlotTypes.Hand
                    }
                };

                var slotIndex1 = i == 0 ? 0 : 1;
                var slotIndex2 = i == 0 ? 1 : 0;

                var carrier = new EquipmentModule(slotSchemes);


                // ACT
                Action act = () =>
                {
                    carrier[slotIndex1] = equipment1;
                    carrier[slotIndex2] = equipment2;
                };


                // ASSERT
                if (expectException)
                {
                    act.Should().Throw <Exception>();
                }
                else
                {
                    act.Should().NotThrow <Exception>();
                }
            }
        }
コード例 #16
0
        public void SetEquipment_PistolAndShield2_NoException()
        {
            // ARRANGE
            var pistolScheme = new TestPropScheme
            {
                Tags  = new[] { PropTags.Equipment.Weapon, PropTags.Equipment.Ranged },
                Equip = new TestPropEquipSubScheme
                {
                    SlotTypes = new[] {
                        EquipmentSlotTypes.Hand
                    }
                }
            };

            var shieldScheme = new TestPropScheme
            {
                Tags  = new[] { PropTags.Equipment.Shield },
                Equip = new TestPropEquipSubScheme
                {
                    SlotTypes = new[] {
                        EquipmentSlotTypes.Hand
                    }
                }
            };

            var slotSchemes = new[] {
                new PersonSlotSubScheme {
                    Types = EquipmentSlotTypes.Hand
                },
                new PersonSlotSubScheme {
                    Types = EquipmentSlotTypes.Hand
                }
            };

            var tacticalActScheme = new TestTacticalActScheme
            {
                Stats = new TestTacticalActStatsSubScheme
                {
                    Range = new Range <int>(1, 1)
                }
            };

            var pistolEquipment1 = new Equipment(pistolScheme, new[] { tacticalActScheme });
            var sheildEquipment2 = new Equipment(shieldScheme, new[] { tacticalActScheme });

            // Смена слотов относительно предыдузего теста
            const int swordSlot1 = 1;
            const int swordSlot2 = 0;

            var carrier = new EquipmentModule(slotSchemes);


            // ACT
            Action act = () =>
            {
                carrier[swordSlot1] = pistolEquipment1;
                carrier[swordSlot2] = sheildEquipment2;
            };


            // ASSERT
            act.Should().NotThrow <Exception>();
        }
コード例 #17
0
 public CompareEquipmentCommandHandler(EquipmentModule module)
 {
     this.module = module;
 }
コード例 #18
0
 public void SetEquipmentModule(EquipmentModule equipmentModule)
 {
     this.equipmentModule = equipmentModule;
 }
コード例 #19
0
        public void SetEquipment_SwordAndShield_NoException()
        {
            // ARRANGE
            var swordScheme = new TestPropScheme
            {
                Tags  = new[] { PropTags.Equipment.Weapon },
                Equip = new TestPropEquipSubScheme
                {
                    SlotTypes = new[] {
                        EquipmentSlotTypes.Hand
                    }
                }
            };

            var shieldScheme = new TestPropScheme
            {
                Tags  = new[] { PropTags.Equipment.Shield },
                Equip = new TestPropEquipSubScheme
                {
                    SlotTypes = new[] {
                        EquipmentSlotTypes.Hand
                    }
                }
            };

            var slotSchemes = new[] {
                new PersonSlotSubScheme {
                    Types = EquipmentSlotTypes.Hand
                },
                new PersonSlotSubScheme {
                    Types = EquipmentSlotTypes.Hand
                }
            };

            var tacticalActScheme = new TestTacticalActScheme
            {
                Stats = new TestTacticalActStatsSubScheme
                {
                    Range = new Range <int>(1, 1)
                }
            };

            var swordEquipment1  = new Equipment(swordScheme, new[] { tacticalActScheme });
            var sheildEquipment2 = new Equipment(shieldScheme, new[] { tacticalActScheme });

            const int swordSlot1 = 0;
            const int swordSlot2 = 1;

            var carrier = new EquipmentModule(slotSchemes);


            // ACT
            Action act = () =>
            {
                carrier[swordSlot1] = swordEquipment1;
                carrier[swordSlot2] = sheildEquipment2;
            };


            // ASSERT
            act.Should().NotThrow <Exception>();
        }