public IEnumerator LoadStaticContentAsync(LoadStaticContentAsyncArgs args) { assetBundle = AssetBundle.LoadFromMemory(Properties.Resources.lunarscrap); LanguageTokens.Add("ITEM_SCRAPLUNAR_NAME", "Item Scrap, Lunar"); LanguageTokens.Add("ITEM_SCRAPLUNAR_LORE", "No notes found."); LanguageTokens.Add("ITEM_SCRAPLUNAR_DESC", "Does nothing. Prioritized when used with 3D printers."); LanguageTokens.Add("ITEM_SCRAPLUNAR_PICKUP", "Does nothing. Prioritized when used with 3D printers."); LunarScrapDef = ScriptableObject.CreateInstance <ItemDef>(); LunarScrapDef.canRemove = true; LunarScrapDef.descriptionToken = "ITEM_SCRAPLUNAR_DESC"; LunarScrapDef.hidden = false; LunarScrapDef.loreToken = "ITEM_SCRAPLUNAR_LORE"; LunarScrapDef.name = "ScrapLunar"; LunarScrapDef.nameToken = "ITEM_SCRAPLUNAR_NAME"; LunarScrapDef.pickupIconSprite = assetBundle.LoadAsset <Sprite>("Assets/LunarScrap.png"); LunarScrapDef.pickupModelPrefab = Resources.Load <GameObject>("Prefabs/PickupModels/PickupScrap"); LunarScrapDef.pickupToken = "ITEM_SCRAPLUNAR_PICKUP"; LunarScrapDef.tier = ItemTier.Lunar; LunarScrapDef.tags = new ItemTag[] { ItemTag.Scrap, ItemTag.WorldUnique }; LunarScrapDef.unlockableDef = null; ContentPack.itemDefs.Add(new ItemDef[] { LunarScrapDef }); args.ReportProgress(1f); yield break; }
public bool MoveNext() { InitlializeTokenBufferIfEmpty(); if (CurrentSymbol == LexiconSymbol.SkipMaterial || CurrentSymbol == LexiconSymbol.NA) { CurrentTokenBuffer.Clear(); } while (!TokenStreamReader.EndOfStream) { var rawCharacter = TokenStreamReader.Read(); var convertedCharacter = Convert.ToChar(rawCharacter); var singleToken = LanguageTokens.FindLexiconSymbol(convertedCharacter); CurrentTokenBuffer.Add(convertedCharacter); var validTokenBuffer = LanguageTokens.FindLexiconSymbol(CurrentTokenBuffer); var tempValidTokenBuffer = validTokenBuffer; var rulesToApply = validTokenBuffer; rulesToApply = Rules.Select(appliedRule => rulesToApply = appliedRule(singleToken, rulesToApply, CurrentSymbol)) .Where(ls => ls != LexiconSymbol.NA) .LastOrDefault(); if (rulesToApply != tempValidTokenBuffer) { validTokenBuffer = rulesToApply; } if (CurrentTokenBuffer.Count > 0 && validTokenBuffer == LexiconSymbol.Assign) { CurrentTokenBuffer.RemoveAt(CurrentTokenBuffer.Count - 1); } CurrentSymbol = validTokenBuffer; var mayStopSymbol = LanguageTokens.FindLexiconSymbol(new List <char>() { convertedCharacter }); if (mayStopSymbol == LexiconSymbol.SkipMaterial) { CurrentSymbol = mayStopSymbol; } if (CurrentSymbol != LexiconSymbol.NA) { return(true); } } return(false); }
internal static void LoadResources() { //Loads the main asset bundle just like it says LoadMainAssetbundle(); //Register the language tokens LanguageTokens.RegisterLanguageTokens(); //Loads our icons (U the best SOM) Sprites.LoadIcons(); //Registers our custom projectiles Projectiles.RegisterProjectiles(); }
public IEnumerator LoadStaticContentAsync(LoadStaticContentAsyncArgs args) { DebrisBundle = AssetBundle.LoadFromMemory(Properties.Resources.debrisartifact); DebrisArtifact = ScriptableObject.CreateInstance <ArtifactDef>(); LanguageTokens.Add("DEB_NAME_TOKEN", "Artifact of Debris"); LanguageTokens.Add("DEB_DESC_TOKEN", "All items turn to scrap to be printed."); DebrisArtifact.nameToken = "DEB_NAME_TOKEN"; DebrisArtifact.descriptionToken = "DEB_DESC_TOKEN"; DebrisArtifact.smallIconDeselectedSprite = DebrisBundle.LoadAsset <Sprite>("Assets/Scrap_Dim.png"); DebrisArtifact.smallIconSelectedSprite = DebrisBundle.LoadAsset <Sprite>("Assets/Scrap.png"); ContentPack.artifactDefs.Add(new ArtifactDef[] { DebrisArtifact }); args.ReportProgress(1f); yield break; }
public static string GetString(LanguageTokens token) => strings[(int)token];