Ejemplo n.º 1
0
        public Version InstallOld(Forge forge)
        {
            _logService.Info(nameof(ForgeInstallService), $"Installing old forge. Version: {forge.ID} Build: {forge.Build}");

            string jsonPath = $"{_gamePathService.VersionsDir}/{forge.ID}/{forge.ID}.json";
            string jarPath  = $"{_gamePathService.ForgeLibDir}/{forge.FullName}/forge-{forge.FullName}.jar";

            if (!File.Exists(jarPath))
            {
                _logService.Warn(nameof(ForgeInstallService), $"Cannot find forge jar, installation aborted");

                return(null);
            }

            using var archive = ZipFile.OpenRead(jarPath);
            var entry = archive.GetEntry("version.json");

            using var reader = new StreamReader(entry.Open(), Encoding.UTF8);
            string json = reader.ReadToEnd();

            // The early forge versions' naming conventions are just obnoxious
            json = Regex.Replace(json, "\"id\":\\s\".*\"", $"\"id\": \"{forge.ID}\"");

            Directory.CreateDirectory(Path.GetDirectoryName(jsonPath));
            File.WriteAllText(jsonPath, json);

            return(_versionService.AddNew(jsonPath));
        }
Ejemplo n.º 2
0
        public Version AutoInstall(Forge forge)
        {
            string id       = $"{forge.GameVersion}-forge-{forge.Version}";
            string jsonPath = $"{_gamePathService.VersionsDir}/{id}/{id}.json";
            string fullName = $"{forge.GameVersion}-{forge.Version}" +
                              (forge.HasSuffix ? $"-{forge.GameVersion}" : null);
            string jarPath = $"{_gamePathService.ForgeLibDir}/{fullName}/forge-{fullName}.jar";

            if (!File.Exists(jarPath))
            {
                return(null);
            }

            using var archive = ZipFile.OpenRead(jarPath);
            var entry = archive.GetEntry("version.json");

            using var reader = new StreamReader(entry.Open(), Encoding.UTF8);
            string json = reader.ReadToEnd();

            json = Regex.Replace(json, "\"id\":\\s\".*\"", $"\"id\": \"{id}\"");

            Directory.CreateDirectory(Path.GetDirectoryName(jsonPath));
            File.WriteAllText(jsonPath, json);

            return(_versionService.AddNew(jsonPath));
        }
Ejemplo n.º 3
0
        // end Datafile

        // Forge
        private void createFilelistToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (treeView.SelectedNode == null)
            {
                return;
            }

            EntryTreeNode node  = (EntryTreeNode)treeView.SelectedNode;
            Forge         forge = node.Forge;

            if (forge != null)
            {
                string filelist = forge.CreateFilelist();
                if (filelist.Length > 0)
                {
                    using (SaveFileDialog dialog = new SaveFileDialog())
                    {
                        dialog.FileName = $"{forge.Name}-filelist.txt";
                        dialog.Filter   = "Text files|*.txt|All files|*.*";
                        if (dialog.ShowDialog() == DialogResult.OK)
                        {
                            File.WriteAllText(dialog.FileName, filelist);
                            MessageBox.Show("Created filelist.", "Done");
                        }
                    }
                }
            }
        }
Ejemplo n.º 4
0
        // end Convert

        // Datafile
        private void saveRawDataAsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (treeView.SelectedNode == null)
            {
                return;
            }

            EntryTreeNode node  = (EntryTreeNode)treeView.SelectedNode;
            Forge         forge = node.Forge;

            saveFileDialog.FileName = node.Text;
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                Forge.FileEntry entry = forge.GetFileEntry(node.Text);
                byte[]          data  = forge.GetRawData(entry);
                try
                {
                    File.WriteAllBytes(saveFileDialog.FileName, data);
                }
                catch (IOException ee)
                {
                    Console.WriteLine(ee);
                }
                finally
                {
                    MessageBox.Show("Done");
                }
            }
        }
Ejemplo n.º 5
0
        private void extractAllToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (treeView.SelectedNode == null)
            {
                return;
            }

            EntryTreeNode node  = (EntryTreeNode)treeView.SelectedNode;
            Forge         forge = node.Forge;

            if (forge != null && forge.FileEntries.Length > 0)
            {
                using (FolderBrowserDialog dialog = new FolderBrowserDialog())
                {
                    if (dialog.ShowDialog() == DialogResult.OK)
                    {
                        BeginMarquee();
                        Parallel.ForEach(forge.FileEntries, (fe) =>
                        {
                            string name = fe.NameTable.Name;
                            byte[] data = forge.GetRawData(fe);
                            File.WriteAllBytes(Path.Combine(dialog.SelectedPath, name), data);
                        });
                        EndMarquee();
                        MessageBox.Show($"Extracted all of {forge.Name}.", "Done");
                    }
                }
            }
        }
Ejemplo n.º 6
0
        // Datafile
        private void saveRawDataAsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (treeView.SelectedNode == null)
            {
                return;
            }

            EntryTreeNode node  = (EntryTreeNode)treeView.SelectedNode;
            Forge         forge = node.GetForge();

            saveFileDialog.FileName = $"{node.Text}.dat";
            saveFileDialog.Filter   = "Raw Data|*.dat|All Files|*.*";
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                Forge.FileEntry entry = forge.GetFileEntry(node.Text);
                byte[]          data  = forge.GetRawData(entry);
                try
                {
                    File.WriteAllBytes(saveFileDialog.FileName, data);
                }
                catch (IOException ee)
                {
                    Console.WriteLine(ee);
                }
                finally
                {
                    MessageBox.Show("Extracted decompressed data.", "Success");
                }
            }
        }
Ejemplo n.º 7
0
        public void AddOrRemoveForge(Forge forge)
        {
            // add to the combobox
            string listName = FormatName(forge);

            if (forgeComboBox.Items.Contains(listName))
            {
                forgeComboBox.Items.Remove(listName);
            }
            else
            {
                forgeComboBox.Items.Add(listName);
            }

            // add to the forges list
            if (forges.Contains(forge))
            {
                forges.Remove(forge);
            }
            else
            {
                forges.Add(forge);
            }

            // select the first item in the combobox
            if (forgeComboBox.Items.Count == 1)
            {
                forgeComboBox.SelectedIndex = 0;
            }
        }
    /// <summary>
    /// 当人物手里没东西,或者有材料的时候与火车交互
    /// </summary>
    private void Train(string hitname, RaycastHit hitObject)
    {
        if (hitname == "Tank")
        {
            // 获取碰撞到的火车
            Tank          tank      = hitObject.collider.gameObject.GetComponent <Tank>();
            Resmaterial[] materials = transform.GetComponentsInChildren <Resmaterial>();

            // 将人物手中资源块放入车厢
            for (int i = materials.Length; i > 0; i--)
            {   // 逆序,先把手中材料的子物体放进车厢
                tank.StoreMat(materials[i - 1]);
            }

            tm.UpdateMatrial();
        }
        else if (hitname == "Forge")
        {
            // 获取所碰撞到的车厢
            Forge forge = hitObject.collider.gameObject.GetComponent <Forge>();
            // 人物hero取出铁轨
            //forge.FetchRail(transform.gameObject);
            bool takeRail = forge.FetchRail(tm.rightHand);

            if (takeRail)// 如果捡起了铁轨,修改右手的状态,改为Rail
            {
                tm.handState = ToolManager.HANDSTATE.RAIL;
            }
        }
    }
Ejemplo n.º 9
0
        public async ValueTask <Version> ManualInstallAsync(Forge forge)
        {
            string id            = $"{forge.GameVersion}-forge-{forge.Version}";
            string jsonPath      = $"{_gamePathService.VersionsDir}/{id}/{id}.json";
            string installerPath = $"{_gamePathService.RootDir}/{forge.GameVersion}-{forge.Version}-installer.jar";

            try
            {
                string profilePath = $"{_gamePathService.RootDir}/launcher_profiles.json";
                // Just a dummy json...but required by forge installer
                if (!File.Exists(profilePath))
                {
                    File.WriteAllText(profilePath, "{}");
                }

                var process = Process.Start(new ProcessStartInfo
                {
                    FileName        = installerPath,
                    UseShellExecute = true,
                });

                await Task.Run(() => process.WaitForExit());

                File.Delete(installerPath);
                File.Delete($"{forge.GameVersion}-{forge.Version}-installer.jar.log");

                return(_versionService.AddNew(jsonPath));
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                return(null);
            }
        }
Ejemplo n.º 10
0
        public IEnumerable <JLibrary> GetJLibraries(Forge forge)
        {
            string installerPath = $"{_gamePathService.RootDir}/{forge.FullName}-installer.jar";

            using var archive = ZipFile.OpenRead(installerPath);

            IEnumerable <JLibrary> jlibs;

            using (var memoryStream = new MemoryStream())
            {
                var versionEntry = archive.GetEntry("version.json");
                using var versionStream = versionEntry.Open();
                versionStream.CopyTo(memoryStream);
                var jver = JsonSerializer.Deserialize <JVersion>(memoryStream.ToArray());
                jlibs = jver.libraries;
            }

            using (var memoryStream = new MemoryStream())
            {
                var profileEntry = archive.GetEntry("install_profile.json");
                using var profileStream = profileEntry.Open();
                profileStream.CopyTo(memoryStream);
                var installProfile = JsonSerializer.Deserialize <JForgeInstallProfile>(memoryStream.ToArray());

                jlibs = jlibs.Union(installProfile.libraries);
            }

            return(jlibs);
        }
Ejemplo n.º 11
0
        public override int GetHashCode()
        {
            int result = 31;

            result = 31 * result + Forge.GetHashCode();
            result = 31 * result + ExternalId.GetHashCode();
            return(result);
        }
Ejemplo n.º 12
0
    static void Main(string[] args)
    {
        Forge           sword     = new Forge("Bread Sword");
        Material        bread     = new Material("Bread", 5, 10000);
        Material        breadMat  = new Material("Bread", 5, 10000);
        List <Material> materials = new List <Material>();

        materials.Add(breadMat);
        sword.AddMaterials(bread);
        Console.WriteLine(sword.craft(materials));
    }
        public void MarkDownReactor_Build_WhenSingleFileAndSettings_Should_ReturnFiles()
        {
            OptionsObj.IsMiltiFiles = true;
            _reactor = new MarkDownReactor(Forge.GetOutputWriter(), Forge.GetXmlContentReader());
            _reactor.Load(DllPathObj, XmlPathObj);
            _reactor.Build(OptionsObj);
            var files = Directory.EnumerateFiles(OutPutPathObj).ToList();

            files.Should().NotBeNull();
            files.Count(s => s.Contains("Home.md")).Should().Be(1);
        }
Ejemplo n.º 14
0
 //runs at the start of the program
 //finds gameobjects and initializes variables
 private void Start()
 {
     if (list)
     {
         cont      = GetComponent <Forge>();
         canvas    = GameObject.Find("Canvas");
         searchBox = GameObject.Find("searchFilter");
         tmp       = null;
         buttons   = new List <GameObject>();
         GenerateList("");
     }
 }
Ejemplo n.º 15
0
        public async Task <bool> SignDelegationOperationAsync(
            IKeyStorage keyStorage,
            WalletAddress address,
            CancellationToken cancellationToken = default)
        {
            var xtz = (Atomex.Tezos)Currency;

            if (address.KeyIndex == null)
            {
                Log.Error("Can't find private key for address {@address}", address);
                return(false);
            }

            using var securePrivateKey = keyStorage
                                         .GetPrivateKey(Currency, address.KeyIndex);

            if (securePrivateKey == null)
            {
                Log.Error("Can't find private key for address {@address}", address);
                return(false);
            }

            using var privateKey = securePrivateKey.ToUnsecuredBytes();

            var rpc = new Rpc(xtz.RpcNodeUri);

            Head = await rpc
                   .GetHeader()
                   .ConfigureAwait(false);

            var forgedOpGroup = await rpc
                                .ForgeOperations(Head, Operations)
                                .ConfigureAwait(false);

            var forgedOpGroupLocal = Forge.ForgeOperationsLocal(Head, Operations);

            if (true)  //if (config.CheckForge == true) add option for higher security tezos mode to config
            {
                if (forgedOpGroupLocal.ToString() != forgedOpGroup.ToString())
                {
                    Log.Error("Local and remote forge results differ");
                    return(false);
                }
            }

            SignedMessage = TezosSigner.SignHash(
                data: Hex.FromString(forgedOpGroup.ToString()),
                privateKey: privateKey,
                watermark: Watermark.Generic,
                isExtendedKey: privateKey.Length == 64);

            return(true);
        }
Ejemplo n.º 16
0
        private static void Prefix(Forge __instance)
        {
            var settings = Fire_RVSettings.Instance;

            __instance.m_MinTemperatureForCrafting = settings.MinTemperature;

            HeatReservoir myreservoir = Fire_RV.GetHeatReservoir(Utils.GetGuidFromGameObject(__instance.m_Fire.gameObject));

            if (myreservoir != null)
            {
                __instance.m_MinTemperatureForCrafting -= myreservoir.temp;
            }
        }
Ejemplo n.º 17
0
        private List <EntryTreeNode> PopulateForge(EntryTreeNode node)
        {
            Forge forge = node.Forge;

            if (forge == null)
            {
                return(null);
            }

            // read if only the forge has not been read
            if (!forge.IsFullyRead())
            {
                if (forge.GetEntryCount() > 20000)
                {
                    string entries = string.Format("{0:n0}", forge.GetEntryCount());
                    if (MessageBox.Show($"This .forge contains more than 20,000 entries ({entries} exactly). Blacksmith may freeze while loading or it may not load them at all.\nDo this at your own risk.", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        forge.Read();
                    }
                    else
                    {
                        return(null);
                    }
                }
                else
                {
                    forge.Read();
                }
                node.Forge = forge; // set again for assurance
            }

            // populate the forge tree with its entries
            List <EntryTreeNode> entryNodes = new List <EntryTreeNode>();

            foreach (Forge.FileEntry entry in forge.FileEntries)
            {
                EntryTreeNode n = new EntryTreeNode
                {
                    Game   = node.Game,
                    Offset = entry.IndexTable.OffsetToRawDataTable,
                    Path   = Path.Combine(node.Path, entry.NameTable.Name),
                    Size   = entry.IndexTable.RawDataSize,
                    Text   = entry.NameTable.Name,
                    Type   = EntryTreeNodeType.ENTRY
                };
                n.Nodes.Add(new EntryTreeNode(""));
                entryNodes.Add(n);
            }

            return(entryNodes);
        }
Ejemplo n.º 18
0
        private void saveDecompressedDataAsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (treeView.SelectedNode == null)
            {
                return;
            }

            EntryTreeNode node  = (EntryTreeNode)treeView.SelectedNode;
            Forge         forge = node.GetForge();
            string        text  = node.Text;

            byte[] decompressedData = null;

            BeginMarquee();

            Helpers.DoBackgroundWork(() =>
            {
                Forge.FileEntry entry = forge.GetFileEntry(text);
                byte[] rawData        = forge.GetRawData(entry);
                decompressedData      = Odyssey.ReadFile(rawData);
            }, () =>
            {
                EndMarquee();

                // failure
                if (decompressedData.Length == 0 || decompressedData == null)
                {
                    MessageBox.Show("Could not decompress data.", "Failure");
                    return;
                }

                saveFileDialog.FileName = string.Concat(node.Text, ".", Helpers.ExtensionForGame(node.Game));
                saveFileDialog.Filter   = $"{Helpers.NameOfGame(node.Game)} Data|*.{Helpers.ExtensionForGame(node.Game)}|All Files|*.*";
                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        File.WriteAllBytes(saveFileDialog.FileName, decompressedData);
                    }
                    catch (IOException ee)
                    {
                        Console.WriteLine(ee);
                    }
                    finally
                    {
                        MessageBox.Show("Done");
                    }
                }
            });
        }
Ejemplo n.º 19
0
        private List <EntryTreeNode> PopulateEntry(EntryTreeNode node)
        {
            // extract the contents from the forge
            Forge forge = node.GetForge();

            byte[] data = forge.GetRawData(node.Offset, node.Size);

            // decompress
            string file = $"{node.Text}.{Helpers.ExtensionForGame(node.Game)}";

            if (node.Game == Game.ODYSSEY)
            {
                Helpers.WriteToFile(file, Odyssey.ReadFile(data), true);
            }
            else if (node.Game == Game.ORIGINS)
            {
                Helpers.WriteToFile(file, Odyssey.ReadFile(data), true);
            }
            else if (node.Game == Game.STEEP)
            {
                Helpers.WriteToFile(file, Steep.ReadFile(data), true);
            }

            // path will hold the file name
            node.Path = file;

            // get resource locations and create nodes
            List <EntryTreeNode> nodes = new List <EntryTreeNode>();

            using (Stream stream = new FileStream(Helpers.GetTempPath(file), FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                using (BinaryReader reader = new BinaryReader(stream))
                {
                    Helpers.ResourceLocation[] locations = Helpers.LocateResourceIdentifiers(reader);
                    foreach (Helpers.ResourceLocation location in locations)
                    {
                        nodes.Add(new EntryTreeNode {
                            Game         = node.Game,
                            Path         = file,
                            ResourceType = location.Type,
                            Text         = location.Type.ToString(),
                            Type         = EntryTreeNodeType.SUBENTRY
                        });
                    }
                }
            }

            return(nodes);
        }
Ejemplo n.º 20
0
 public static bool Reforge_UpdateEquipBtn(CtrlForge __instance, IScrollItme item)
 {
     if (isReforgeMode)
     {
         var       t             = Traverse.Create(__instance);
         int       categoryIndex = t.Field("categoryIndex").GetValue <int>();
         var       array         = t.Field("sort").Field("array").GetValue() as List <ForgeInfo>[];
         ForgeInfo forgeInfo     = array[categoryIndex][item.Index];
         Forge     item2         = forgeInfo.Item;
         Props     equip         = forgeInfo.Equip;
         forgeInfo.Dialog.Clear();
         int price = GetReforgePrice(equip);
         if (Game.GameData.Money < price)
         {
             forgeInfo.IsConditionPass = false;
             for (int j = 1; j < 3; j++)
             {
                 forgeInfo.Dialog.Add(string.Format("SecondaryInterface031{0}", j));
             }
         }
         InventoryData inventoryData = Game.GameData.Inventory[equip.Id];
         if (forgeInfo.Dialog.Count <= 0)
         {
             forgeInfo.IsConditionPass = true;
             for (int l = 1; l < 3; l++)
             {
                 forgeInfo.Dialog.Add(string.Format("SecondaryInterface034{0}", l));
             }
         }
         ForgeScrollInfo forgeScrollInfo = new ForgeScrollInfo
         {
             ItemName        = equip.Name,
             ItemIcon        = Game.Resource.Load <Sprite>(string.Format(GameConfig.PropsCategoryPath, (int)equip.PropsCategory)),
             Remark          = price.ToString(),
             IsNew           = false,
             IsShowSign      = item2.IsSpecial,
             IsConditionPass = forgeInfo.IsConditionPass
         };
         if (item != null)
         {
             item.UpdateWidget(new object[]
             {
                 forgeScrollInfo
             });
         }
         return(false);
     }
     return(true);
 }
Ejemplo n.º 21
0
        public static string ForgeEntrypoint(string value)
        {
            string res = "";

            if (EntrypointTags.ContainsKey(value))
            {
                res += EntrypointTags[value].ToString("X2");
            }
            else
            {
                res += "ff";
                res += Forge.ForgeArray(Encoding.Default.GetBytes(value).ToHexString());
            }

            return(res);
        }
        public void MarkDownReactor_Build_WhenMiltiFiles_Should_ReturnFiles()
        {
            OptionsObj.IsMiltiFiles = true;
            _reactor = new MarkDownReactor(Forge.GetOutputWriter(), Forge.GetXmlContentReader());
            _reactor.Load(DllPathObj, XmlPathObj);
            _reactor.Build(OptionsObj);
            var files = Directory.EnumerateFiles(OutPutPathObj).ToList();

            files.Should().NotBeNull();
            if (OptionsObj.IsMiltiFiles)
            {
                files.Count(s => s.Contains("ITestInterface.md") || s.Contains("TestEnum.md") ||
                            s.Contains("TestClass.md"))
                .Should()
                .Be(3);
            }
        }
Ejemplo n.º 23
0
        public IEnumerable <DownloadItem> GetDownload(Forge forge, bool isInstallerNeeded)
        {
            var item = new DownloadItem
            {
                Name = $"Forge-{forge.FullName}",

                Path = isInstallerNeeded
                    ? $"{_gamePathService.RootDir}/{forge.FullName}-installer.jar"
                    : $"{_gamePathService.ForgeLibDir}/{forge.FullName}/forge-{forge.FullName}.jar",

                Url = $"{_urlService.Base.Forge}{forge.FullName}/forge-{forge.FullName}" +
                      $"-{(isInstallerNeeded ? "installer" : "universal")}.jar",

                IsCompleted     = false,
                DownloadedBytes = 0,
            };

            return(Enumerable.Repeat(item, 1));
        }
Ejemplo n.º 24
0
        public void SpawnForge()
        {
            Forge node = forgeScene.Instance() as Forge;

            if (stats.Mana < node.ManaCost)
            {
                return;
            }
            stats.ManaDrain(node.ManaCost);
            Node2D gameNode = GetParent().GetParent() as Node2D;
            Node2D heroNode = GetParent() as KinematicBody2D;

            node.Position           = new Vector2((heroNode.Position.x + direction * wallSpawnPoint.x), heroNode.Position.y);
            node.Direction          = direction;
            node.FireBallSpawnPoint = wallSpawnPoint;
            gameNode.AddChild(node);
            can_cooldown = false;
            cooldownTimer.Start();
        }
Ejemplo n.º 25
0
        private void saveDecompressedDataAsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (treeView.SelectedNode == null)
            {
                return;
            }

            EntryTreeNode node  = (EntryTreeNode)treeView.SelectedNode;
            Forge         forge = node.Forge;
            string        text  = node.Text;

            byte[] decompressedData = null;

            BeginMarquee();

            Helpers.DoBackgroundWork(() =>
            {
                Forge.FileEntry entry = forge.GetFileEntry(text);
                byte[] rawData        = forge.GetRawData(entry);
                decompressedData      = Odyssey.ReadFile(rawData);
            }, () =>
            {
                EndMarquee();

                saveFileDialog.FileName = $"{node.Text}.dec";
                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        File.WriteAllBytes(saveFileDialog.FileName, decompressedData);
                    }
                    catch (IOException ee)
                    {
                        Console.WriteLine(ee);
                    }
                    finally
                    {
                        MessageBox.Show("Done");
                    }
                }
            });
        }
Ejemplo n.º 26
0
    public override bool LevelUp()
    {
        bool canBeUpgraded = false;

        if (currentLevel >= maxLevel)
        {
            EventLog.Instance.AddAction(LogType.Error, objectName.ToString() + " is already max level: " + currentLevel + "/" + maxLevel, transform.position);
            return(canBeUpgraded);
        }
        else if (!Manager.Instance.HasEnoughMana(upgradeCost))
        {
            EventLog.Instance.AddAction(LogType.Error, "You need " + upgradeCost + " " + Manager.Instance.CurrencyName + " to upgrade " + objectName, transform.position);
            return(canBeUpgraded);
        }
        else if (isUpgrading)
        {
            EventLog.Instance.AddAction(LogType.Error, Messages.AlreadyUpgradingBuilding, transform.position);
            return(canBeUpgraded);
        }
        else if (behaviour is Forge)
        {
            Forge forge = (Forge)behaviour;
            if (forge.IsDoingResearch)
            {
                EventLog.Instance.AddAction(LogType.Error, Messages.CantUpgradeWhileResearching, transform.position);
                return(canBeUpgraded);
            }
        }
        else if (behaviour is Barracks)
        {
            Barracks barracks = (Barracks)behaviour;
            if (barracks.Alreadytraining)
            {
                EventLog.Instance.AddAction(LogType.Error, Messages.CantUpgradingWhileTraining, transform.position);
                return(canBeUpgraded);
            }
        }
        canBeUpgraded = true;
        SpawnDustParticles(upgradeTime);
        StartCoroutine(DoUpgrade(upgradeTime));
        return(canBeUpgraded);
    }
Ejemplo n.º 27
0
        public LargeForgeHouse(Mobile owner) : base(owner)
        {
            Item i;

            i        = new Forge();
            i.ItemID = 0x197A;
            AddAddon(i, 3, 3, 7);

            i        = new Forge();
            i.ItemID = 0x197E;
            AddAddon(i, 4, 3, 7);

            i        = new Forge();
            i.ItemID = 0x1982;
            AddAddon(i, 5, 3, 7);

            i        = new Anvil();
            i.ItemID = 0xFB0;
            AddAddon(i, 4, 1, 7);
        }
Ejemplo n.º 28
0
        public GameViewModel(CustomCanvas canvas)
        {
            _brickNavigators = new List <IBrickNavigator> {
                new SquareBrickNavigator()
            };
            _canvas            = canvas;
            _canvas.MouseDown += _canvas_MouseDown;
            MoveDownCommand    = new DelegateCommand(MoveDownAction);

            /*
             * RightMoveCommand = new DelegateCommand(RightMoveAction);
             * LeftMoveCommand = new DelegateCommand(LeftMoveAction);
             * UpRotateCommand = new DelegateCommand(UpRotateAction);
             */
            _forge         = new Forge();
            worker         = new BackgroundWorker();
            worker.DoWork += Worker_DoWork;
            worker.WorkerReportsProgress = true;
            worker.ProgressChanged      += Worker_ProgressChanged;
            worker.RunWorkerCompleted   += Worker_RunWorkerCompleted;
            _activeRects = new List <Rectangle>();
        }
Ejemplo n.º 29
0
        public IEnumerable <DownloadItem> GetDownload(Forge forge)
        {
            string fullName = $"{forge.GameVersion}-{forge.Version}" +
                              (forge.HasSuffix ? $"-{forge.GameVersion}" : null);

            var item = new DownloadItem
            {
                Name = $"Forge-{fullName}",

                Path = forge.IsAutoInstall
                    ? $"{_gamePathService.ForgeLibDir}/{fullName}/forge-{fullName}.jar"
                    : $"{_gamePathService.RootDir}/{fullName}-installer.jar",

                Url = forge.IsAutoInstall
                    ? $"{_urlService.Base.Forge}{fullName}/forge-{fullName}-universal.jar"
                    : $"{_urlService.Base.Forge}{fullName}/forge-{fullName}-installer.jar",

                IsCompleted     = false,
                DownloadedBytes = 0,
            };

            return(new[] { item });
        }
Ejemplo n.º 30
0
        public void showPlaceInfo()
        {
            string placeCommand = place.showPlaceInformation();

            if (placeCommand == "s" && place.Shop == true)
            {
                Shop shop = new Shop();
                hero = shop.showShopItems(hero);
            }
            else if (placeCommand == "b" && place.Bed == true)
            {
                Bed bed = new Bed();
                hero = bed.useBed(hero);
            }
            else if (placeCommand == "a" && place.Arena == true)
            {
                EnemyArena enemyArena = new EnemyArena();
                hero = enemyArena.pickEnemyToFight(hero);
            }
            else if (placeCommand == "f" && place.Forge == true)
            {
                Forge forge = new Forge();
                hero = forge.showForgeOptions(hero);
            }
            else if (placeCommand == "n" && place.NextPlace != null)
            {
                place        = place.goToNextPlace();
                hero.PlaceId = place.Id;
                heroBusiness.Update(hero);
            }
            else if (placeCommand == "p" && place.PrevPlace != null)
            {
                place        = place.goToPrevPlace();
                hero.PlaceId = place.Id;
                heroBusiness.Update(hero);
            }
        }