public ProxyManagerWindow() { Instance = this; InitializeComponent(); InitLogging(); Title = $"{Title} - {System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(4)}"; DataContext = new ManagerWindowViewModel(); componentEngine = new ComponentEngine(ClientComponents); int i = 0; ClientComponents.ForEach(cur => { cur.ComponentIndex = i++; cur.ManagerWindowViewModel = Data; TextBox curComponentBlock = new TextBox { Margin = new Thickness(5), IsReadOnly = true, Width = 50, Padding = new Thickness(3), TextAlignment = TextAlignment.Center, Text = cur.Title, }; stackMain.Children.Add(curComponentBlock); cur.UpdateBackgroundColor(); }); }
private void TestEngineHasAllTonnages(string sName) { for (int i = 10; i <= 400; i += 5) { ComponentEngine componentEngine = new ComponentEngine(i, sName); } }
public void TestEngineTonnage() { List <string> lstEngineTypes = new List <string>(ComponentEngine.GetEngineTypes()); foreach (string s in lstEngineTypes) { TestEngineHasAllTonnages(s); } }
public void TestEngineSizeAttributes() { List <string> lstEngineTypes = new List <string>(ComponentEngine.GetEngineTypes()); foreach (string s in lstEngineTypes) { TestEngineTonnagesAreProgressive(s); } }
private void TestEngineTonnagesAreProgressive(string sName) { double dLastTonnage = 0; for (int i = 10; i <= 400; i += 5) { ComponentEngine componentEngine = new ComponentEngine(i, sName); Assert.True(componentEngine.Tonnage >= dLastTonnage); dLastTonnage = componentEngine.Tonnage; } }
public override void OnBlockGenerated(int value, int x, int y, int z, bool isLoaded) { value = BlastBlowerBlock.Index; if (ComponentEngine.IsPowered(Utils.Terrain, x, y, z) && (Check(x + 1, y, z) || Check(x - 1, y, z) || Check(x, y + 1, z) || Check(x, y - 1, z) || Check(x, y, z + 1) || Check(x, y, z - 1))) { value |= FurnaceNBlock.SetHeatLevel(Terrain.ExtractData(Utils.Terrain.GetCellValue(x, y, z)), 1) << 14; } Utils.SubsystemTerrain.ChangeCell(x, y, z, value); }
/// <summary> /// Encoding of the 'Mech Structure Conversion table /// on SO359. /// </summary> /// <param name="sEngineType"></param> /// <param name="MechTonnage"></param> /// <returns></returns> static public int GetStructure(ComponentEngine engine, int MechTonnage) { Dictionary <string, int[]> dicTechnologyBase = null; if (engine.TechnologyBase == TECHNOLOGY_BASE.CLAN) { dicTechnologyBase = ClanStructureLookup; } else { dicTechnologyBase = ISStructureLookup; } foreach (string sEngineType in dicTechnologyBase.Keys) { if (Utilities.IsSynonymFor(sEngineType, engine.EngineType)) { return(dicTechnologyBase[sEngineType][(int)((MechTonnage - 10) / 5)]); } } return(0); }
public void Update(float dt) { if (HeatLevel > 0f) { m_fireTimeRemaining = MathUtils.Max(0f, m_fireTimeRemaining - dt); if (m_fireTimeRemaining == 0f) { HeatLevel = 0f; } } if (m_updateSmeltingRecipe) { m_updateSmeltingRecipe = false; m_smeltingRecipe2 = FindSmeltingRecipe(); if (m_smeltingRecipe2 != m_smeltingRecipe) { m_smeltingRecipe = m_smeltingRecipe2; SmeltingProgress = 0f; //m_music = 0; } } if (m_smeltingRecipe2 != null) { Point3 coordinates = m_componentBlockEntity.Coordinates; m_smeltingRecipe = ComponentEngine.IsPowered(Utils.Terrain, coordinates.X, coordinates.Y, coordinates.Z) ? m_smeltingRecipe2 : null; } if (m_smeltingRecipe == null) { HeatLevel = 0f; m_fireTimeRemaining = 0f; //m_music = -1; } else { m_fireTimeRemaining = 100f; } if (m_fireTimeRemaining <= 0f) { m_smeltingRecipe = null; SmeltingProgress = 0f; //m_music = -1; } if (m_smeltingRecipe != null) { SmeltingProgress = MathUtils.Min(SmeltingProgress + m_speed * dt, 1f); if (SmeltingProgress >= 1f) { for (int l = 0; l < m_furnaceSize; l++) { if (m_slots[l].Count > 0) { m_slots[l].Count--; } } m_slots[ResultSlotIndex].Value = ItemBlock.IdTable[m_smeltingRecipe]; m_slots[ResultSlotIndex].Count += m_count; m_smeltingRecipe = null; SmeltingProgress = 0f; m_updateSmeltingRecipe = true; } } }
public void OnNeighborBlockChanged(SubsystemTerrain subsystemTerrain, int neighborX, int neighborY, int neighborZ) { Powered = ComponentEngine.IsPowered(subsystemTerrain.Terrain, Point.X, Point.Y, Point.Z); }
public void OnBlockAdded(SubsystemTerrain subsystemTerrain, int value, int oldValue) { Powered = ComponentEngine.IsPowered(subsystemTerrain.Terrain, Point.X, Point.Y, Point.Z); }