public override void Init() { base.Init(); this.animator = GetComponent <Animator>(); this.generator = GetComponent <EnergyGenerator>(); }
private static void Postfix(GameObject go) { if (!(bool)EasierBuildingsState.StateManager.State.ExtraPipeOutputs) { return; } ConduitPortInfo secondaryOutPort = new ConduitPortInfo(ConduitType.Liquid, new CellOffset(1, 0)); go.AddOrGet <Storage>().capacityKg = 100f; EnergyGenerator energyGenerator = go.AddOrGet <EnergyGenerator>(); energyGenerator.formula.outputs = new EnergyGenerator.OutputItem[] { new EnergyGenerator.OutputItem(SimHashes.CarbonDioxide, 0.5f, false, new CellOffset(0, 3), 383.15f), new EnergyGenerator.OutputItem(SimHashes.DirtyWater, 0.75f, true, new CellOffset(1, 1), 313.15f) }; ConduitDispenser2 conduitDispenser2 = go.AddOrGet <ConduitDispenser2>(); conduitDispenser2.secondaryOutput = secondaryOutPort; conduitDispenser2.conduitType = secondaryOutPort.conduitType; conduitDispenser2.invertElementFilter = true; conduitDispenser2.elementFilter = new SimHashes[] { SimHashes.Petroleum, SimHashes.Ethanol, SimHashes.CarbonDioxide }; }
public void Update(bool isFast, float pastRound, int round) { recoverTime += pastRound * GameConstants.RoundRecoverAddon * ((round >= GameConstants.RoundRecoverDoubleRound) ? 2 : 1); var need = isFast ? GameConstants.DrawManaTimeFast : GameConstants.DrawManaTime; if (recoverTime >= need) { recoverTime -= need; AddManaData(EnergyGenerator.NextAimMana, 1); EnergyGenerator.UseMana(); EnergyGenerator.Next(round); } if (ManaChanged != null)//todo 先ws下 { ManaChanged(); } SpikeManager.OnRound(pastRound); comboTime -= pastRound; if (comboTime <= 0) { comboTime = 0; CardManager.UpdateCardCombo(); } if (CardManager.HeroSkillCd > 0) { CardManager.HeroSkillCd -= pastRound; if (HeroSkillChanged != null && CardManager.HeroSkillCd <= 0) { HeroSkillChanged(true); } } }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery); var energyGenerator = go.AddOrGet <EnergyGenerator>(); energyGenerator.formula = EnergyGenerator.CreateSimpleFormula(SimHashes.RefinedCarbon.CreateTag(), 1f, 600f, SimHashes.CarbonDioxide, 0.25f, true, CellOffset.none, 700f); energyGenerator.meterOffset = Meter.Offset.Behind; energyGenerator.SetSliderValue(50f, 0); energyGenerator.powerDistributionOrder = 9; var storage = go.AddOrGet <Storage>(); storage.capacityKg = 600f; go.AddOrGet <LoopingSounds>(); Prioritizable.AddRef(go); var manualDeliveryKg = go.AddOrGet <ManualDeliveryKG>(); manualDeliveryKg.SetStorage(storage); manualDeliveryKg.requestedItemTag = SimHashes.RefinedCarbon.CreateTag(); manualDeliveryKg.capacity = storage.capacityKg; manualDeliveryKg.refillMass = 100f; manualDeliveryKg.choreTypeIDHash = Db.Get().ChoreTypes.PowerFetch.IdHash; Tinkerable.MakePowerTinkerable(go); ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = ConduitType.Gas; conduitDispenser.invertElementFilter = false; conduitDispenser.elementFilter = new [] { SimHashes.CarbonDioxide }; }
public override void DoPostConfigureComplete(GameObject go) { GeneratedBuildings.RegisterLogicPorts(go, LogicOperationalController.INPUT_PORTS_N1_0); go.AddOrGet <LogicOperationalController>(); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false); go.AddOrGet <LoopingSounds>(); go.AddOrGet <Storage>(); ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Gas; conduitConsumer.consumptionRate = 1f; conduitConsumer.capacityTag = GameTagExtensions.Create(SimHashes.Hydrogen); conduitConsumer.capacityKG = 2f; conduitConsumer.forceAlwaysSatisfied = true; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump; EnergyGenerator energyGenerator = go.AddOrGet <EnergyGenerator>(); energyGenerator.formula = EnergyGenerator.CreateSimpleFormula(SimHashes.Hydrogen.CreateTag(), 0.1f, 2f, SimHashes.Void, 0f, true, default(CellOffset), 0f); energyGenerator.powerDistributionOrder = 8; energyGenerator.ignoreBatteryRefillPercent = true; energyGenerator.meterOffset = Meter.Offset.Behind; Tinkerable.MakePowerTinkerable(go); go.AddOrGetDef <PoweredActiveController.Def>(); }
private void OnCopySettings(object data) { GameObject gameObject = (GameObject)data; EnergyGenerator component = gameObject.GetComponent <EnergyGenerator>(); if ((UnityEngine.Object)component != (UnityEngine.Object)null) { batteryRefillPercent = component.batteryRefillPercent; } }
public static void Postfix(GameObject go) { go.GetComponent <EnergyGenerator>() .formula = EnergyGenerator.CreateSimpleFormula( WoodLogConfig.TAG, 1.2f, 720f, SimHashes.CarbonDioxide, CarbonOption.Instance.CO2_lumbergen, CompatabilityPatches.GEN_STORE_OUTPUTS, new CellOffset(0, 1), 383.15f); }
private List <int[]> monsterAddonOnce = new List <int[]>(); //一次性的强化 #endregion public Player(bool playerControl, bool isLeft) { IsLeft = isLeft; IsAlive = true; isPlayerControl = playerControl; CardManager = new CardManager(this); EnergyGenerator = new EnergyGenerator(); SpikeManager = new SpikeManager(this); TrapHolder = new TrapHolder(this); State = new PlayerState(); }
private static void Prefix(EnergyGenerator __instance, Storage ___storage, MeterController ___meter) { if (__instance.hasMeter) { float mass = 0; foreach (EnergyGenerator.InputItem inputItem in __instance.formula.inputs) { mass += ___storage.GetAmountAvailable(inputItem.tag); } ___meter.SetPositionPercent(mass / __instance.formula.inputs[0].maxStoredMass); } }
protected override void OnPrefabInit() { base.OnPrefabInit(); Subscribe(-592767678, OnOperationalChangedDelegate); Subscribe(824508782, OnActiveChangedDelegate); workerStatusItem = Db.Get().DuplicantStatusItems.GeneratingPower; attributeConverter = Db.Get().AttributeConverters.MachinerySpeed; attributeExperienceMultiplier = DUPLICANTSTATS.ATTRIBUTE_LEVELING.PART_DAY_EXPERIENCE; skillExperienceSkillGroup = Db.Get().SkillGroups.Technicals.Id; skillExperienceMultiplier = SKILLS.PART_DAY_EXPERIENCE; EnergyGenerator.EnsureStatusItemAvailable(); }
public static void Postfix(GameObject go, Tag prefab_tag) { var energyGenerator = go.GetComponent <EnergyGenerator>(); energyGenerator.formula = EnergyGenerator.CreateSimpleFormula( SimHashes.Carbon.CreateTag(), 1f, 600f, SimHashes.CarbonDioxide, CarbonOption.Instance.CO2_coalgen, CompatabilityPatches.GEN_STORE_OUTPUTS, new CellOffset(1, 2), 383.15f); }
protected void InitBase() { Lp = 3; Mp = 3; Pp = 3; EnergyGenerator.Next(0); var jobConfig = ConfigData.GetJobConfig(Job); if (jobConfig.SkillId > 0) { HeroSkillList.Add(jobConfig.SkillId);//添加职业技能 } }
public MirrorPlayer(int id, ActiveCards cpcards, bool isLeft) : base(false, isLeft) { PeopleId = id; PeopleConfig peopleConfig = ConfigData.GetPeopleConfig(id); Level = peopleConfig.Level; Job = UserProfile.InfoBasic.Job; EnergyGenerator.SetRateNpc(peopleConfig); Cards = cpcards.GetCopy(); InitBase(); }
private void buttonBuildEnergyGenerator_Click(object sender, EventArgs e) { if (gameBoard.board[prevX, prevY].building != null) { return; } gameBoard.gameResource.energy -= EnergyGenerator.BUILD_COST; Building building = new EnergyGenerator(gameBoard.board[prevX, prevY], gameBoard.random); gameBoard.board[prevX, prevY].building = building; gameBoard.buildings.Add(building); panelBuildNew.Visible = false; panelBuilding.Visible = true; updateTile(prevX, prevY); }
protected override List <Spell> getSpells() { Spell spell1 = new EnergyGenerator(this); //Spell spell2 = new Fireball(this); Spell spell2 = new BigDamage(this); Spell spell3 = new StealLife(this); //Spell spell4 = new Empower(this); //Spell spell4 = new Knockback(this); //Spell spell4 = new EnergyHeal(this); //Spell spell4 = new Block(this); //Spell spell4 = new AOEAttack(this); //Spell spell4 = new Bomb(this); return(new List <Spell> { spell1, spell2, spell3 }); }
public static void Apply(GameObject go) { EnergyGenerator origEnergyGenerator = go.GetComponent <EnergyGenerator>(); Storage storage = go.GetComponent <Storage>(); ManualDeliveryKG origManualDeliveryKG = go.GetComponent <ManualDeliveryKG>(); if (storage.capacityKg == 20000) { // the storage haven't been set. The sliders rely on it for max value. Set it to the max storage from other components. storage.capacityKg = Mathf.Max(origManualDeliveryKG.capacity, origEnergyGenerator.formula.inputs[0].maxStoredMass); } CoalEnergyGenerator energyGenerator = go.AddOrGet <CoalEnergyGenerator>(); energyGenerator.powerDistributionOrder = origEnergyGenerator.powerDistributionOrder; energyGenerator.hasMeter = true; energyGenerator.formula = origEnergyGenerator.formula; CoalManualDeliveryKG manualDeliveryKG = go.AddOrGet <CoalManualDeliveryKG>(); manualDeliveryKG.SetStorage(storage); manualDeliveryKG.requestedItemTag = origManualDeliveryKG.requestedItemTag; manualDeliveryKG.ignoresOperationStatus = true; manualDeliveryKG.capacity = origManualDeliveryKG.capacity; manualDeliveryKG.refillMass = origManualDeliveryKG.refillMass; manualDeliveryKG.choreTags = new Tag[] { GameTags.ChoreTypes.Power }; manualDeliveryKG.choreTypeIDHash = Db.Get().ChoreTypes.PowerFetch.IdHash; DualSlider dualSlider = go.AddOrGet <DualSlider>(); dualSlider.fillUptoThreshold = manualDeliveryKG.capacity; dualSlider.refillThreshold = manualDeliveryKG.refillMass; CoalDeliveryController controller = go.AddOrGet <CoalDeliveryController>(); controller.batteryRefillPercent = 0.5f; AddStrings.AddString(manualDeliveryKG.RequestedItemTag.Name); UnityEngine.Object.DestroyImmediate(origEnergyGenerator); UnityEngine.Object.DestroyImmediate(origManualDeliveryKG); }
public AIPlayer(int id, string deck, bool isLeft, int rlevel, bool isPlayerControl) : base(isPlayerControl, isLeft) { PeopleId = id; Level = rlevel; PeopleConfig peopleConfig = ConfigData.GetPeopleConfig(id); Job = peopleConfig.Job; EnergyGenerator.SetRateNpc(peopleConfig); DeckCard[] cds = DeckBook.GetDeckByName(deck, Level); Cards = new ActiveCards(cds); // PlayerAttr attr = new PlayerAttr(); // attr.ModifyMonsterData(HeroData); InitBase(); }
public override void DoPostConfigureComplete(GameObject go) { GeneratedBuildings.RegisterLogicPorts(go, LogicOperationalController.INPUT_PORTS_0_0); go.AddOrGet <LogicOperationalController>(); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false); go.AddOrGet <LoopingSounds>(); Storage storage = go.AddOrGet <Storage>(); storage.capacityKg = 50f; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Gas; conduitConsumer.consumptionRate = 0.900000036f; conduitConsumer.capacityTag = GameTags.CombustibleGas; conduitConsumer.capacityKG = 0.900000036f; conduitConsumer.forceAlwaysSatisfied = true; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump; EnergyGenerator energyGenerator = go.AddOrGet <EnergyGenerator>(); energyGenerator.powerDistributionOrder = 8; energyGenerator.ignoreBatteryRefillPercent = true; EnergyGenerator.Formula formula = default(EnergyGenerator.Formula); formula.inputs = new EnergyGenerator.InputItem[1] { new EnergyGenerator.InputItem(GameTags.CombustibleGas, 0.09f, 0.900000036f) }; formula.outputs = new EnergyGenerator.OutputItem[2] { new EnergyGenerator.OutputItem(SimHashes.DirtyWater, 0.0675f, false, new CellOffset(1, 1), 313.15f), new EnergyGenerator.OutputItem(SimHashes.CarbonDioxide, 0.0225f, true, new CellOffset(0, 2), 383.15f) }; energyGenerator.formula = formula; ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = ConduitType.Gas; conduitDispenser.invertElementFilter = true; conduitDispenser.elementFilter = new SimHashes[2] { SimHashes.Methane, SimHashes.Syngas }; Tinkerable.MakePowerTinkerable(go); go.AddOrGetDef <PoweredActiveController.Def>(); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery); CoalEnergyGenerator energyGenerator = go.AddOrGet <CoalEnergyGenerator>(); energyGenerator.formula = EnergyGenerator.CreateSimpleFormula(SimHashes.Carbon.CreateTag(), 1f, 600f, SimHashes.Void, 0f, true); energyGenerator.powerDistributionOrder = 9; Storage storage = go.AddOrGet <Storage>(); storage.capacityKg = 600f; go.AddOrGet <LoopingSounds>(); Prioritizable.AddRef(go); CoalManualDeliveryKG manualDeliveryKG = go.AddOrGet <CoalManualDeliveryKG>(); manualDeliveryKG.SetStorage(storage); manualDeliveryKG.requestedItemTag = new Tag("Coal"); manualDeliveryKG.ignoresOperationStatus = true; manualDeliveryKG.capacity = storage.capacityKg; manualDeliveryKG.refillMass = 100f; manualDeliveryKG.choreTags = new Tag[] { GameTags.ChoreTypes.Power }; manualDeliveryKG.choreTypeIDHash = Db.Get().ChoreTypes.PowerFetch.IdHash; BuildingElementEmitter buildingElementEmitter = go.AddOrGet <BuildingElementEmitter>(); buildingElementEmitter.emitRate = 0.02f; buildingElementEmitter.temperature = 310f; buildingElementEmitter.element = SimHashes.CarbonDioxide; buildingElementEmitter.modifierOffset = new Vector2(1f, 2f); DualSlider dualSlider = go.AddOrGet <DualSlider>(); dualSlider.fillUptoThreshold = manualDeliveryKG.capacity; dualSlider.refillThreshold = manualDeliveryKG.refillMass; CoalDeliveryController controller = go.AddOrGet <CoalDeliveryController>(); controller.batteryRefillPercent = 0.5f; Tinkerable.MakePowerTinkerable(go); }
public RandomPlayer(int id, bool isLeft, bool isplayerControl) : base(isplayerControl, isLeft) { PeopleId = id; PeopleConfig peopleConfig = ConfigData.GetPeopleConfig(id); Level = peopleConfig.Level; Job = UserProfile.InfoBasic.Job; EnergyGenerator.SetRateNpc(peopleConfig); DeckCard[] cd = new DeckCard[GameConstants.DeckCardCount]; for (int i = 0; i < GameConstants.DeckCardCount; i++) { cd[i] = new DeckCard(CardConfigManager.GetRandomCard(0, -1), 1, 0); } Cards = new ActiveCards(cd); InitBase(); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false); EnergyGenerator energyGenerator = go.AddOrGet <EnergyGenerator>(); energyGenerator.formula = EnergyGenerator.CreateSimpleFormula(SimHashes.Water.CreateTag(), 1f, 10f, SimHashes.Water, 1f, true, new CellOffset(0, 0), 0f); energyGenerator.meterOffset = Meter.Offset.Behind; energyGenerator.powerDistributionOrder = 15; go.AddOrGet <LoopingSounds>(); Prioritizable.AddRef(go); Storage storage = go.AddOrGet <Storage>(); storage.capacityKg = 10f; storage.showInUI = true; storage.allowItemRemoval = false; storage.showDescriptor = true; storage.fetchCategory = Storage.FetchCategory.GeneralStorage; Tinkerable.MakePowerTinkerable(go); go.AddOrGet <BrisInfiniteGenerator>(); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery); EnergyGenerator energyGenerator = go.AddOrGet <EnergyGenerator>(); energyGenerator.formula = EnergyGenerator.CreateSimpleFormula( SimHashes.Hydrogen.CreateTag(), HYDROGEN_BURN_RATE, 10f, SimHashes.Iron, IRON_CREATE_RATE, true, new CellOffset(0, 0), 473.15f); energyGenerator.meterOffset = Meter.Offset.Behind; energyGenerator.powerDistributionOrder = 9; energyGenerator.ignoreBatteryRefillPercent = true; Storage storage = go.AddOrGet <Storage>(); storage.capacityKg = STORAGE_SIZE; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Gas; conduitConsumer.consumptionRate = 2f; conduitConsumer.capacityKG = 8f; conduitConsumer.forceAlwaysSatisfied = true; conduitConsumer.capacityTag = GameTagExtensions.Create(SimHashes.Hydrogen); conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump; ElementDropper elementDropper = go.AddOrGet <ElementDropper>(); elementDropper.emitTag = new Tag("Iron"); elementDropper.emitMass = 10f; elementDropper.emitOffset = new Vector3(0f, 0f, 0f); //FusionReactor reactor = go.AddOrGet<FusionReactor>(); go.AddOrGet <LoopingSounds>(); Prioritizable.AddRef(go); Tinkerable.MakePowerTinkerable(go); go.AddOrGet <MinimumOperatingTemperature>().minimumTemperature = 373.15f; }
public static void Postfix(GameObject go) { EnergyGenerator origEnergyGenerator = go.GetComponent <EnergyGenerator>(); Storage storage = go.GetComponent <Storage>(); ManualDeliveryKG origManualDeliveryKG = go.GetComponent <ManualDeliveryKG>(); CoalEnergyGenerator energyGenerator = go.AddOrGet <CoalEnergyGenerator>(); energyGenerator.powerDistributionOrder = origEnergyGenerator.powerDistributionOrder; energyGenerator.hasMeter = true; energyGenerator.formula = origEnergyGenerator.formula; CoalManualDeliveryKG manualDeliveryKG = go.AddOrGet <CoalManualDeliveryKG>(); manualDeliveryKG.SetStorage(storage); manualDeliveryKG.requestedItemTag = origManualDeliveryKG.requestedItemTag; manualDeliveryKG.ignoresOperationStatus = true; manualDeliveryKG.capacity = origManualDeliveryKG.capacity; manualDeliveryKG.refillMass = origManualDeliveryKG.refillMass; manualDeliveryKG.choreTags = new Tag[] { GameTags.ChoreTypes.Power }; manualDeliveryKG.choreTypeIDHash = Db.Get().ChoreTypes.PowerFetch.IdHash; DualSlider dualSlider = go.AddOrGet <DualSlider>(); dualSlider.fillUptoThreshold = manualDeliveryKG.capacity; dualSlider.refillThreshold = manualDeliveryKG.refillMass; CoalDeliveryController controller = go.AddOrGet <CoalDeliveryController>(); controller.batteryRefillPercent = 0.5f; AddStrings.AddString(manualDeliveryKG.RequestedItemTag.Name); UnityEngine.Object.DestroyImmediate(origEnergyGenerator); UnityEngine.Object.DestroyImmediate(origManualDeliveryKG); }
public override void DoPostConfigureComplete(GameObject go) { GeneratedBuildings.RegisterLogicPorts(go, LogicOperationalController.INPUT_PORTS_0_0); go.AddOrGet <LogicOperationalController>(); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false); go.AddOrGet <LoopingSounds>(); go.AddOrGet <Storage>(); BuildingDef def = go.GetComponent <Building>().Def; float num = 20f; go.AddOrGet <LoopingSounds>(); ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = def.InputConduitType; conduitConsumer.consumptionRate = 10f; conduitConsumer.capacityTag = GameTags.CombustibleLiquid; conduitConsumer.capacityKG = num; conduitConsumer.forceAlwaysSatisfied = true; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump; EnergyGenerator energyGenerator = go.AddOrGet <EnergyGenerator>(); energyGenerator.powerDistributionOrder = 8; energyGenerator.ignoreBatteryRefillPercent = true; energyGenerator.hasMeter = true; EnergyGenerator.Formula formula = default(EnergyGenerator.Formula); formula.inputs = new EnergyGenerator.InputItem[1] { new EnergyGenerator.InputItem(GameTags.CombustibleLiquid, 2f, num) }; formula.outputs = new EnergyGenerator.OutputItem[2] { new EnergyGenerator.OutputItem(SimHashes.CarbonDioxide, 0.5f, false, new CellOffset(0, 3), 383.15f), new EnergyGenerator.OutputItem(SimHashes.DirtyWater, 0.75f, false, new CellOffset(1, 1), 313.15f) }; energyGenerator.formula = formula; Tinkerable.MakePowerTinkerable(go); go.AddOrGetDef <PoweredActiveController.Def>(); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false); EnergyGenerator energyGenerator = go.AddOrGet <EnergyGenerator>(); energyGenerator.formula = EnergyGenerator.CreateSimpleFormula(SimHashes.Carbon.CreateTag(), 1f, 600f, SimHashes.CarbonDioxide, 0.02f, false, new CellOffset(1, 2), 383.15f); energyGenerator.meterOffset = Meter.Offset.Behind; energyGenerator.SetSliderValue(50f, 0); energyGenerator.powerDistributionOrder = 9; Storage storage = go.AddOrGet <Storage>(); storage.capacityKg = 600f; go.AddOrGet <LoopingSounds>(); Prioritizable.AddRef(go); ManualDeliveryKG manualDeliveryKG = go.AddOrGet <ManualDeliveryKG>(); manualDeliveryKG.SetStorage(storage); manualDeliveryKG.requestedItemTag = new Tag("Coal"); manualDeliveryKG.capacity = storage.capacityKg; manualDeliveryKG.refillMass = 100f; manualDeliveryKG.choreTypeIDHash = Db.Get().ChoreTypes.PowerFetch.IdHash; Tinkerable.MakePowerTinkerable(go); }
public HumanPlayer(bool isLeft) : base(true, isLeft) { PeopleId = 0; Level = UserProfile.InfoBasic.Level; Job = UserProfile.InfoBasic.Job; DeckCard[] cd = new DeckCard[GameConstants.DeckCardCount]; for (int i = 0; i < GameConstants.DeckCardCount; i++) { int id = UserProfile.InfoCard.SelectedDeck.GetCardAt(i); cd[i] = new DeckCard(UserProfile.InfoCard.GetDeckCardById(id)); } Cards = new ActiveCards(cd); int[] energyRate = { 0, 0, 0 }; int[] equipOn = Array.ConvertAll(UserProfile.InfoEquip.Equipon, a => a.BaseId); CalculateEquipAndSkill(equipOn, energyRate); EnergyGenerator.SetRate(energyRate, UserProfile.InfoBasic.Job); InitBase(); BattleManager.Instance.RuleData.CheckPlayerData(this); }
public void HardDelete(EnergyGenerator energyGenerator) { this.energyGeneratorRepository.HardDelete(energyGenerator); this.energyGeneratorRepository.SaveChanges(); }
public void Update(EnergyGenerator energyGenerator) { this.energyGeneratorRepository.Update(energyGenerator); this.energyGeneratorRepository.SaveChanges(); }
public static async Task SeedDatabase(ApplicationDbContext context, UserManager <ApplicationUser> userManager) { if (!context.Users.Any()) { var personsWithPasswords = new List <PersonWithPassword> { new PersonWithPassword ( new ApplicationUser { UserName = "******", Email = "*****@*****.**", Address = "45 Long Beach Blvd, Miami" }, new Person { FirstName = "John", LastName = "Doe" }, "NewPassword123$" ), new PersonWithPassword ( new ApplicationUser { UserName = "******", Email = "*****@*****.**", Address = "15 Square Ave, London" }, new Person { FirstName = "Michael", LastName = "Jordan" }, "FreshPassword123$" ) }; foreach (var personWithPassword in personsWithPasswords) { var applicationUser = personWithPassword.AppUser; IdentityResult result = await userManager.CreateAsync(applicationUser, personWithPassword.Password); if (result.Succeeded) { var person = personWithPassword.Person; person.ApplicationUserId = applicationUser.Id; context.Persons.Add(person); } } context.SaveChanges(); } if (!context.Manufacturers.Any()) { var manufacturers = new List <Manufacturer> { new Manufacturer() { Name = "Philips" }, new Manufacturer() { Name = "Siemens" }, new Manufacturer() { Name = "Samsung" }, new Manufacturer() { Name = "Asus" }, new Manufacturer() { Name = "IBM" }, new Manufacturer() { Name = "Whirlpool" }, new Manufacturer() { Name = "LG" }, new Manufacturer() { Name = "Solar City" }, new Manufacturer() { Name = "Tesla" }, new Manufacturer() { Name = "Teledyne Energy Systems" }, }; context.Manufacturers.AddRange(manufacturers); context.SaveChanges(); } if (!context.ElectricalDeviceTypes.Any()) { var electricalDeviceTypes = new List <ElectricalDeviceType> { new ElectricalDeviceType() { TypeName = "LED Light" }, new ElectricalDeviceType() { TypeName = "Washing Machine" }, new ElectricalDeviceType() { TypeName = "Air conditioner" }, new ElectricalDeviceType() { TypeName = "Computer" }, new ElectricalDeviceType() { TypeName = "Refridgerator" }, new ElectricalDeviceType() { TypeName = "Electronic Microscope" }, new ElectricalDeviceType() { TypeName = "Water Pump" }, new ElectricalDeviceType() { TypeName = "Water Heater" }, new ElectricalDeviceType() { TypeName = "Energy Generator" }, new ElectricalDeviceType() { TypeName = "Solar panel" }, new ElectricalDeviceType() { TypeName = "Radioisotope Thermoelectric Generator" }, new ElectricalDeviceType() { TypeName = "Battery Pack" } }; context.ElectricalDeviceTypes.AddRange(electricalDeviceTypes); context.SaveChanges(); } if (!context.ElectricalDeviceModels.Any()) { var philips = context.Manufacturers.FirstOrDefault(m => m.Name == "Philips"); var siemens = context.Manufacturers.FirstOrDefault(m => m.Name == "Siemens"); var samsung = context.Manufacturers.FirstOrDefault(m => m.Name == "Samsung"); var whirlpool = context.Manufacturers.FirstOrDefault(m => m.Name == "Whirlpool"); var lg = context.Manufacturers.FirstOrDefault(m => m.Name == "LG"); var solarCity = context.Manufacturers.FirstOrDefault(m => m.Name == "Solar City"); var tesla = context.Manufacturers.FirstOrDefault(m => m.Name == "Tesla"); var teledyne = context.Manufacturers.FirstOrDefault(m => m.Name == "Teledyne Energy Systems"); var electricalDeviceModels = new List <ElectricalDeviceModel> { new ElectricalDeviceModel() { ModelName = "Philips CH5 Air Conditioner", MeasuringUnit = "Degrees (C)", MinValue = 18.0d, MaxValue = 30.0d, Step = 1.0d, PowerPerStep = 5.6d, PowerAtLowestUnitLevel = 30.0d, ModelIdentifier = "KL54-PLPS", Manufacturer = philips, ElectricalDeviceType = context.ElectricalDeviceTypes.FirstOrDefault(edt => edt.TypeName == "Air conditioner") }, new ElectricalDeviceModel() { ModelName = "Siemens LED Light FC83H", MeasuringUnit = "Lumens", MinValue = 30.0d, MaxValue = 90.0d, Step = 5.0d, PowerPerStep = 0.6, PowerAtLowestUnitLevel = 4.0d, ModelIdentifier = "9DE4-SMNS", Manufacturer = siemens, ElectricalDeviceType = context.ElectricalDeviceTypes.FirstOrDefault(edt => edt.TypeName == "LED Light") }, new ElectricalDeviceModel() { ModelName = "Samsung Fridge DL23M", MeasuringUnit = "Degrees (C)", MinValue = -15.0d, MaxValue = 6.0d, Step = 1.0d, PowerPerStep = 7.0d, PowerAtLowestUnitLevel = 35.0d, ModelIdentifier = "CV7J-SMSG", Manufacturer = samsung, ElectricalDeviceType = context.ElectricalDeviceTypes.FirstOrDefault(edt => edt.TypeName == "Refridgerator") }, new ElectricalDeviceModel() { ModelName = "Whirlpool Water Pump DH4F", MeasuringUnit = "LitresPerMin", MinValue = 0.5d, MaxValue = 20.0d, Step = 0.5d, PowerPerStep = 7.0d, PowerAtLowestUnitLevel = 45.0d, ModelIdentifier = "JE3C-WHPL", Manufacturer = whirlpool, ElectricalDeviceType = context.ElectricalDeviceTypes.FirstOrDefault(edt => edt.TypeName == "Water Pump") }, new ElectricalDeviceModel() { ModelName = "LG Water Heater KD25", MeasuringUnit = "Degrees (C)", MinValue = 20.0d, MaxValue = 80.0d, Step = 1.0d, PowerPerStep = 0.5d, PowerAtLowestUnitLevel = 22.0d, ModelIdentifier = "90QW-LGLG", Manufacturer = lg, ElectricalDeviceType = context.ElectricalDeviceTypes.FirstOrDefault(edt => edt.TypeName == "Water Heater") }, new ElectricalDeviceModel() { ModelName = "Solar City MX45 Panel", MeasuringUnit = "Watts", MinValue = 0.0d, MaxValue = 80.0d, Step = 1.0d, PowerPerStep = 0.5d, PowerAtLowestUnitLevel = 0.0d, ModelIdentifier = "34FD-SLCT", Manufacturer = solarCity, ElectricalDeviceType = context.ElectricalDeviceTypes.FirstOrDefault(edt => edt.TypeName == "Solar panel") }, new ElectricalDeviceModel() { ModelName = "Teledyne HJ24 MMRTG", MeasuringUnit = "Degrees (C)", MinValue = 0.0d, MaxValue = 120.0d, Step = 1.0d, PowerPerStep = 0.5d, PowerAtLowestUnitLevel = 0.0d, ModelIdentifier = "3F4F-TLDN", Manufacturer = teledyne, ElectricalDeviceType = context.ElectricalDeviceTypes.FirstOrDefault(edt => edt.TypeName == "Radioisotope Thermoelectric Generator") }, new ElectricalDeviceModel() { ModelName = "Tesla 24CF Power Pack", Capacity = 50000, MeasuringUnit = "Degrees (C)", MinValue = 0.0d, MaxValue = 250.0d, Step = 1.0d, PowerPerStep = 0.5d, PowerAtLowestUnitLevel = 0.0d, ModelIdentifier = "90QW-TSLA", Manufacturer = tesla, ElectricalDeviceType = context.ElectricalDeviceTypes.FirstOrDefault(edt => edt.TypeName == "Battery Pack") } }; context.ElectricalDeviceModels.AddRange(electricalDeviceModels); context.SaveChanges(); if (!context.EnergyGenerators.Any()) { var energyGenerators = new List <EnergyGenerator>(); var teledyneRadioisotopeGeneratorModel = context.ElectricalDeviceModels.FirstOrDefault(edm => edm.ModelName == "Teledyne HJ24 MMRTG"); var radioisotopeGenerator = new EnergyGenerator() { SerialNumber = "VC23-DF42-OK49-3F4F-TLDN", ElectricalDeviceModel = teledyneRadioisotopeGeneratorModel }; energyGenerators.Add(radioisotopeGenerator); var radioisotopeGeneratorSecond = new EnergyGenerator() { SerialNumber = "LQ21-CA30-SQ1P-3F4F-TLDN", ElectricalDeviceModel = teledyneRadioisotopeGeneratorModel }; energyGenerators.Add(radioisotopeGeneratorSecond); string[] setOfStrings = new string[] { "JFC9", "PO92", "CXO9", "AZ39", "PO9W", "QE31", "SXL4", "BA6G" }; var solarCityPanelModel = context.ElectricalDeviceModels.FirstOrDefault(edm => edm.ModelName == "Solar City MX45 Panel"); int setLength = setOfStrings.Length; Random randomGenerator = new Random(); for (int i = 0; i < 20; i++) { StringBuilder sb = new StringBuilder(); for (int j = 0; j < 3; j++) { string randomString = setOfStrings[randomGenerator.Next(0, setLength)]; sb.AppendFormat("{0}-", randomString); } var energyGenerator = new EnergyGenerator() { SerialNumber = sb.ToString(), ElectricalDeviceModel = solarCityPanelModel }; energyGenerators.Add(energyGenerator); } context.EnergyGenerators.AddRange(energyGenerators); context.SaveChanges(); } if (!context.BatteryPacks.Any()) { var battery = new BatteryPack() { SerialNumber = "D3AP-W24C-QW2X-90QW-TSLA", ElectricalDeviceModel = context.ElectricalDeviceModels.FirstOrDefault(edm => edm.ModelName == "Tesla 24CF Power Pack") }; context.BatteryPacks.Add(battery); context.SaveChanges(); } } if (!context.BaseUnits.Any()) { context.BaseUnits.AddRange ( new BaseUnit { Name = "Living Space" }, new BaseUnit { Name = "Green House" } ); context.SaveChanges(); } if (!context.ElectricalSystemTypes.Any()) { var electricalSystemTypes = new List <ElectricalSystemType> { new ElectricalSystemType { Name = "Air-Conditining System" }, new ElectricalSystemType { Name = "Lighting System" }, new ElectricalSystemType { Name = "Fridge System" }, new ElectricalSystemType { Name = "Water Pumping System" }, new ElectricalSystemType { Name = "Water Heating System" } }; context.ElectricalSystemTypes.AddRange(electricalSystemTypes); context.SaveChanges(); } if (!context.ElectricalSystems.Any()) { var livingSpaceBaseUnit = context.BaseUnits.FirstOrDefault(u => u.Name == "Living Space"); var greenHouseBaseUnit = context.BaseUnits.FirstOrDefault(bu => bu.Name == "Green House"); var airConditioningSystemType = context.ElectricalSystemTypes.FirstOrDefault(est => est.Name == "Air-Conditining System"); var ligthingSystemType = context.ElectricalSystemTypes.FirstOrDefault(est => est.Name == "Lighting System"); var fridgeSystemType = context.ElectricalSystemTypes.FirstOrDefault(est => est.Name == "Fridge System"); var waterPumpingSystemType = context.ElectricalSystemTypes.FirstOrDefault(est => est.Name == "Water Pumping System"); var waterHeatingSystemType = context.ElectricalSystemTypes.FirstOrDefault(est => est.Name == "Water Heating System"); var airConditioningLivingSpace = new ElectricalSystem() { Name = "Air Conditioning System (Living Space)", BaseUnit = livingSpaceBaseUnit, ElectricalSystemType = airConditioningSystemType }; var airConditioningGreenHouse = new ElectricalSystem() { Name = "Air Conditioning System (Green House)", BaseUnit = greenHouseBaseUnit, ElectricalSystemType = airConditioningSystemType }; var lightsSystemLivingSpace = new ElectricalSystem() { Name = "LED Lights (Living Space)", BaseUnit = livingSpaceBaseUnit, ElectricalSystemType = ligthingSystemType }; var lightsSystemGreenHouse = new ElectricalSystem() { Name = "LED Lights (Green House)", BaseUnit = greenHouseBaseUnit, ElectricalSystemType = ligthingSystemType }; var fridgeSystemLivingSpace = new ElectricalSystem() { Name = "Fridge System (Living Space)", BaseUnit = livingSpaceBaseUnit, ElectricalSystemType = fridgeSystemType }; var fridgeSystemGreenHouse = new ElectricalSystem() { Name = "Fridge System (Green House)", BaseUnit = greenHouseBaseUnit, ElectricalSystemType = fridgeSystemType }; var waterPumpSystemLivingSpace = new ElectricalSystem() { Name = "Water Pumping System (Living Space)", BaseUnit = livingSpaceBaseUnit, ElectricalSystemType = waterPumpingSystemType }; var waterPumpSystemGreenHouse = new ElectricalSystem() { Name = "Water Pumping System (Green House)", BaseUnit = greenHouseBaseUnit, ElectricalSystemType = waterPumpingSystemType }; var waterHeatingSystemLivingSpace = new ElectricalSystem() { Name = "Water Heating System (Living Space)", BaseUnit = livingSpaceBaseUnit, ElectricalSystemType = waterHeatingSystemType }; var waterHeatingSystemGreenHouse = new ElectricalSystem() { Name = "Water Heating System (Green House)", BaseUnit = greenHouseBaseUnit, ElectricalSystemType = waterHeatingSystemType }; var electricalSystems = new List <ElectricalSystem> { airConditioningLivingSpace, airConditioningGreenHouse, lightsSystemLivingSpace, lightsSystemGreenHouse, fridgeSystemLivingSpace, fridgeSystemGreenHouse, waterPumpSystemLivingSpace, waterPumpSystemGreenHouse, waterHeatingSystemLivingSpace, waterHeatingSystemGreenHouse }; context.ElectricalSystems.AddRange(electricalSystems); context.SaveChanges(); } if (!context.ElectricalDevices.Any()) { var ledLightsLivingSpaceSystem = context.ElectricalSystems.FirstOrDefault(es => es.Name == "LED Lights (Living Space)"); var ledLightsGreenHouseSystem = context.ElectricalSystems.FirstOrDefault(es => es.Name == "LED Lights (Living Space)"); var philipsCH5AirConditioner = context.ElectricalDeviceModels.FirstOrDefault(es => es.ModelName == "Philips CH5 Air Conditioner"); var siemensLEDLightFC83H = context.ElectricalDeviceModels.FirstOrDefault(es => es.ModelName == "Siemens LED Light FC83H"); var samsungFridgeDL23M = context.ElectricalDeviceModels.FirstOrDefault(es => es.ModelName == "Samsung Fridge DL23M"); var whirlpoolWaterPumpDH4F = context.ElectricalDeviceModels.FirstOrDefault(es => es.ModelName == "Whirlpool Water Pump DH4F"); var lgWaterHeaterKD25 = context.ElectricalDeviceModels.FirstOrDefault(es => es.ModelName == "LG Water Heater KD25"); var electricalDevices = new List <ElectricalDevice> { new ElectricalDevice() { SerialNumber = "4HDE-BHRU-98CH-KL54-PLPS", ElectricalDeviceModel = philipsCH5AirConditioner, ElectricalSystem = context.ElectricalSystems.FirstOrDefault(es => es.Name == "Air Conditioning System (Living Space)"), MeasuringUnitCurrentLevel = 21.0d }, new ElectricalDevice() { SerialNumber = "BNMV-RT65-AS9K-KL54-PLPS", ElectricalDeviceModel = philipsCH5AirConditioner, ElectricalSystem = context.ElectricalSystems.FirstOrDefault(es => es.Name == "Air Conditioning System (Green House)"), MeasuringUnitCurrentLevel = 21.0d }, new ElectricalDevice() { SerialNumber = "8XCD-GHJD-82WD-9DE4-SMNS", ElectricalDeviceModel = siemensLEDLightFC83H, ElectricalSystem = ledLightsLivingSpaceSystem, MeasuringUnitCurrentLevel = 30.0d }, new ElectricalDevice() { SerialNumber = "KERL-PKS1-DF9A-9DE4-SMNS", ElectricalDeviceModel = siemensLEDLightFC83H, ElectricalSystem = ledLightsLivingSpaceSystem, MeasuringUnitCurrentLevel = 30.0d }, new ElectricalDevice() { SerialNumber = "BCRE-MGHW-KSD3-9DE4-SMNS", ElectricalDeviceModel = siemensLEDLightFC83H, ElectricalSystem = ledLightsGreenHouseSystem, MeasuringUnitCurrentLevel = 45.0d }, new ElectricalDevice() { SerialNumber = "PA8G-LM2A-DF9A-9DE4-SMNS", ElectricalDeviceModel = siemensLEDLightFC83H, ElectricalSystem = ledLightsGreenHouseSystem, MeasuringUnitCurrentLevel = 45.0d }, new ElectricalDevice() { SerialNumber = "PKLC-WERP-CVBH-CV7J-SMSG", ElectricalDeviceModel = samsungFridgeDL23M, ElectricalSystem = context.ElectricalSystems.FirstOrDefault(es => es.Name == "Fridge System (Living Space)"), MeasuringUnitCurrentLevel = 4.0d }, new ElectricalDevice() { SerialNumber = "MVC8-KDKD-CD9K-CV7J-SMSG", ElectricalDeviceModel = samsungFridgeDL23M, ElectricalSystem = context.ElectricalSystems.FirstOrDefault(es => es.Name == "Fridge System (Green House)"), MeasuringUnitCurrentLevel = 4.0d }, new ElectricalDevice() { SerialNumber = "FH3S-DE4C-CF5D-JE3C-WHPL", ElectricalDeviceModel = whirlpoolWaterPumpDH4F, ElectricalSystem = context.ElectricalSystems.FirstOrDefault(es => es.Name == "Water Pumping System (Living Space)"), MeasuringUnitCurrentLevel = 14.0d }, new ElectricalDevice() { SerialNumber = "MVC8-KDKD-CD9K-JE3C-WHPL", ElectricalDeviceModel = whirlpoolWaterPumpDH4F, ElectricalSystem = context.ElectricalSystems.FirstOrDefault(es => es.Name == "Water Pumping System (Green House)"), MeasuringUnitCurrentLevel = 0.5d }, new ElectricalDevice() { SerialNumber = "8XCD-GHJD-82WD-90QW-LGLG", ElectricalDeviceModel = lgWaterHeaterKD25, ElectricalSystem = context.ElectricalSystems.FirstOrDefault(es => es.Name == "Water Heating System (Living Space)"), MeasuringUnitCurrentLevel = 70.0d }, new ElectricalDevice() { SerialNumber = "KL2W-AS2E-WE3C-90QW-LGLG", ElectricalDeviceModel = lgWaterHeaterKD25, ElectricalSystem = context.ElectricalSystems.FirstOrDefault(es => es.Name == "Water Heating System (Green House)"), MeasuringUnitCurrentLevel = 20.0d } }; context.ElectricalDevices.AddRange(electricalDevices); context.SaveChanges(); } }
internal static PortDisplayOutput AddOutput(GameObject go, CellOffset offset, SimHashes elementHash) { Element element = ElementLoader.GetElement(elementHash.CreateTag()); ConduitType conduitType = element.IsGas ? ConduitType.Gas : element.IsLiquid ? ConduitType.Liquid : ConduitType.Solid; // port color Color32 color = element.substance.conduitColour; color.a = 255; // for some reason the alpha channel is set to invisible for some elements (hydrogen only?) if (color.r == 0 && color.g == 0 && color.b == 0) { // avoid completely black icons since the background is black color.r = 25; color.g = 25; color.b = 25; } PortDisplayOutput outputPort = new PortDisplayOutput(conduitType, offset, null, color); PortDisplayController controller = go.AddOrGet <PortDisplayController>(); controller.Init(go); controller.AssignPort(go, outputPort); ElementConverter converter = go.GetComponent <ElementConverter>(); if (converter != null) { for (int i = 0; i < converter.outputElements.Length; ++i) { ElementConverter.OutputElement item = converter.outputElements[i]; if (item.elementHash == elementHash) { converter.outputElements[i].storeOutput = true; PipedDispenser dispenser = go.AddComponent <PipedDispenser>(); dispenser.elementFilter = new SimHashes[] { elementHash }; dispenser.AssignPort(outputPort); dispenser.alwaysDispense = true; dispenser.SkipSetOperational = true; PipedOptionalExhaust exhaust = go.AddComponent <PipedOptionalExhaust>(); exhaust.dispenser = dispenser; exhaust.elementHash = elementHash; exhaust.elementTag = elementHash.CreateTag(); exhaust.capacity = item.massGenerationRate * converter.OutputMultiplier * 5; break; } } } else { EnergyGenerator energyGenerator = go.GetComponent <EnergyGenerator>(); if (energyGenerator != null) { for (int i = 0; i < energyGenerator.formula.outputs.Length; ++i) { EnergyGenerator.OutputItem item = energyGenerator.formula.outputs[i]; if (item.element == elementHash) { energyGenerator.formula.outputs[i].store = true; PipedDispenser dispenser = go.AddComponent <PipedDispenser>(); dispenser.elementFilter = new SimHashes[] { elementHash }; dispenser.AssignPort(outputPort); dispenser.alwaysDispense = true; dispenser.SkipSetOperational = true; PipedOptionalExhaust exhaust = go.AddComponent <PipedOptionalExhaust>(); exhaust.dispenser = dispenser; exhaust.elementHash = elementHash; exhaust.elementTag = elementHash.CreateTag(); exhaust.capacity = item.creationRate * 5; break; } } } } return(outputPort); }