public void Setup() { this.serviceCollection = new ServiceCollection(); this.itemRegistryMock = new Mock <IItemRegistry>(); this.itemRegistry = new ItemRegistry(); }
public void InitialStartup() { ItemRegistry.Initialize(new List <Type>() { typeof(StoneChunk) }); }
public static void Postfix(GameScript __instance, ref Item[] ___gatherStorage) { for (int i = 0; i < 9; i++) { AnimIcon animIcon = (AnimIcon)__instance.gatherStorageIconBack[i].GetComponent("AnimIcon"); if ((ItemRegistry.GetTypeByID(___gatherStorage[i].id) & ItemType.LEVELING) != ItemType.LEVELING) { __instance.gatherStorageIconBack[i].SetActive(false); animIcon.anim = 0; } else { __instance.gatherStorageIconBack[i].GetComponent <Renderer>().material = (Material)Resources.Load("iBack" + ___gatherStorage[i].tier); if (___gatherStorage[i].tier == 3) { animIcon.anim = 1; } else { animIcon.anim = 0; } __instance.gatherStorageIconBack[i].SetActive(true); } } }
public static void Postfix(GameScript __instance, bool ___holdingCombatChip, Item ___holdingItem) { if (!___holdingCombatChip && ___holdingItem.id != 0 && ___holdingItem.q > 0) { AnimIcon animIcon = (AnimIcon)__instance.holdingItemBack.GetComponent("AnimIcon"); if ((ItemRegistry.GetTypeByID(___holdingItem.id) & ItemType.LEVELING) != ItemType.LEVELING) { __instance.holdingItemBack.SetActive(false); animIcon.anim = 0; } else { __instance.holdingItemBack.GetComponent <Renderer>().material = (Material)Resources.Load("iBack" + ___holdingItem.tier); if (___holdingItem.tier == 3) { animIcon.anim = 1; } else { animIcon.anim = 0; } __instance.holdingItemBack.SetActive(true); } } }
public static void Postfix(GameScript __instance, int i, ref Item[] ___inventoryQuest) { if (___inventoryQuest[i].q > 0) { AnimIcon animIcon = (AnimIcon)__instance.invQuestIconBack[i].GetComponent("AnimIcon"); if ((ItemRegistry.GetTypeByID(___inventoryQuest[i].id) & ItemType.LEVELING) != ItemType.LEVELING) { __instance.invQuestIconBack[i].SetActive(false); animIcon.anim = 0; } else { __instance.invQuestIconBack[i].GetComponent <Renderer>().material = (Material)Resources.Load("iBack" + ___inventoryQuest[i].tier); if (___inventoryQuest[i].tier == 3) { animIcon.anim = 1; } else { animIcon.anim = 0; } __instance.invQuestIconBack[i].SetActive(true); } } }
private void Init() { //TODO - just a test - WORKS! //_installedMods.Add(new TestMod()); GlSetup(); _itemRegistry = new ItemRegistry(); _blockRegistry = new BlockRegistry(); _recipeRegistry = new RecipeRegistry(); LoadMods(); GameRegistry(); WorldRenderer = new WorldRenderer(); EntityRenderer = new EntityRenderer(); GuiRenderer = new GuiRenderer(); FontRenderer = new FontRenderer(); SettingsManager.Load(); //load settings Camera.SetTargetFov(SettingsManager.GetFloat("fov")); _sensitivity = SettingsManager.GetFloat("sensitivity"); WorldRenderer.RenderDistance = SettingsManager.GetInt("renderdistance"); OpenGuiScreen(new GuiScreenMainMenu()); }
public static bool Prefix(GameScript __instance, ref Item[] ___craft, ref int ___craftType, int a, ref bool __result) { if (___craftType == 3) { __result = (bool)typeof(GameScript).GetMethod("CanPlaceCraft2", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(__instance, new object[] { a }); return(false); } if (ItemRegistry.GetSingleton().HasEntry(a)) { ItemInfo item = ItemRegistry.GetSingleton().GetEntry(a); __result = true; for (int i = 0; i < 3; i++) { if (___craft[i].id == a) { __result = false; __instance.Error(4); break; } if (___craft[i].id > 0) { if ((ItemRegistry.GetSingleton().HasEntry(___craft[i].id) ? (int)(ItemRegistry.GetSingleton().GetEntry(a).Type & ItemType.TIER_MASK) >> 8 : ___craft[i].id % 10) != (int)(item.Type & ItemType.TIER_MASK) >> 8) { __result = false; __instance.Error(5); break; } } } return(false); } return(true); }
public override void Setup() { base.Setup(); // Clear any existing data dropdown.ClearOptions(); optionCategoryMap.Clear(); foreach (ItemID id in GetItemIDs()) { // Get the current option ItemData data = ItemRegistry.Get(id); TMP_Dropdown.OptionData option = new TMP_Dropdown.OptionData(data.Name.Get(itemDisplayName), data.ShopItem.Icon); // Add the option to the dropdown and the dictionary dropdown.options.Add(option); optionCategoryMap.Add(option, id); } // Setup the value changed callback dropdown.onValueChanged.AddListener(SetDropdownValue); // Setup the value to the first one if (dropdown.options.Count > 0) { SetDropdownValueWithoutNotify(0); } }
public static void Initialize(Game1 game) { #if DEBUG Logger.MaskLevel = LogLevel.Trace; #else Logger.MaskLevel = LogLevel.Info; #endif Logger.Log(LogLevel.Info, "GemfruitMod", "Loading hooks..."); HookLoader.LoadHooks(); Logger.Log(LogLevel.Info, "GemfruitMod", "ResourceRegistry creation"); ResourceRegistry = new ResourceRegistry(); Logger.Log(LogLevel.Info, "GemfruitMod", "PlaceableRegistry creation"); PlaceableRegistry = new PlaceableRegistry(new LocalizedContentManager(game.Content.ServiceProvider, game.Content.RootDirectory)); Logger.Log(LogLevel.Info, "GemfruitMod", "ItemRegistry creation"); ItemRegistry = new ItemRegistry(new LocalizedContentManager(game.Content.ServiceProvider, game.Content.RootDirectory)); Logger.Log(LogLevel.Info, "GemfruitMod", "MonsterRegistry creation"); MonsterRegistry = new MonsterRegistry(); Logger.Log(LogLevel.Info, "GemfruitMod", "MineshaftSpawnRegistry creation"); MineshaftSpawnRegistry = new MineshaftSpawnRegistry(); Logger.Log(LogLevel.Info, "GemfruitMod", "WildernessSpawnRegistry creation"); WildernessSpawnRegistry = new WildernessSpawnRegistry(); Logger.Log(LogLevel.Info, "GemfruitMod", "PreservesRecipeRegistry creation"); PreservesRecipeRegistry = new PreservesRecipeRegistry(); Logger.Log(LogLevel.Info, "GemfruitMod", "KegRecipeRegistry creation"); KegRecipeRegistry = new KegRecipeRegistry(); Logger.Log(LogLevel.Info, "GemfruitMod", "MayonnaiseRecipeRegistry creation"); MayonnaiseRecipeRegistry = new MayonnaiseRecipeRegistry(); Logger.Log(LogLevel.Info, "GemfruitMod", "CrystalariumRecipeRegistry creation"); CrystalariumRecipeRegistry = new CrystalariumRecipeRegistry(); Logger.Log(LogLevel.Info, "GemfruitMod", "ArtifactDropRegistry creation"); ArtifactDropRegistry = new ArtifactDropRegistry(); Logger.Log(LogLevel.Info, "GemfruitMod", "GeodeResultRegistry creation"); GeodeResultRegistry = new GeodeResultRegistry(); }
public IItem YieldItem() { hitsTaken++; IItem returnItem = null; float probability = Random.Range(0f, 1f); if (probability <= (expectedRocksYielded / hitsRequired)) { returnItem = ItemRegistry.Instantiate(yieldedItem); } if (hitsTaken >= hitsRequired) { gameObject.SetActive(false); // Instantiates the mined rock prefab with the matching y rotation. GameObject rock = Instantiate(minedRockPrefab, transform.position, Quaternion.Euler(0, transform.rotation.y, 0)); rock.transform.parent = parent; Destroy(gameObject, 0.1f); } return(returnItem); }
public static void Postfix(GameScript __instance, int i, ref Item[] ___craft) { if (___craft[i].q > 0) { AnimIcon animIcon = (AnimIcon)__instance.craftIconBack[i].GetComponent("AnimIcon"); if ((ItemRegistry.GetTypeByID(___craft[i].id) & ItemType.LEVELING) != ItemType.LEVELING) { __instance.craftIconBack[i].SetActive(false); animIcon.anim = 0; } else { __instance.craftIconBack[i].GetComponent <Renderer>().material = (Material)Resources.Load("iBack" + ___craft[i].tier); MonoBehaviour.print("(GadgetCore Patched) inviconback tier " + ___craft[i].tier); if (___craft[i].tier == 3) { animIcon.anim = 1; } else { animIcon.anim = 0; } __instance.craftIconBack[i].SetActive(true); } } }
public bool ConnectToServer(string ip, int port) { var b = ServerHandler.Connect(ip, port); if (b) { ParticleRenderer = new ParticleRenderer(); SkyboxRenderer = new SkyboxRenderer(); BlockPos playerPos = new BlockPos(0, 100, 0);//MathUtil.NextFloat(-100, 100)); World = new WorldClientServer(); Player = new EntityPlayerSp(World, playerPos.ToVec()); World.AddEntity(Player); Player.SetItemStackInInventory(0, new ItemStack(ItemRegistry.GetItem(BlockRegistry.GetBlock <BlockCraftingTable>()))); ResetMouse(); MouseState state = Mouse.GetState(); _mouseLast = new Point(state.X, state.Y); } return(b); }
public static bool Prefix(ItemScript __instance, int[] stats, ref Item ___item, ref Package ___package) { ___item = GadgetCoreAPI.ConstructItemFromIntArray(stats); ___package = new Package(___item, __instance.gameObject, __instance.localItem); __instance.b.GetComponent <Renderer>().material = (Material)Resources.Load("i/i" + ___item.id); AnimIcon animIcon = (AnimIcon)__instance.back.GetComponent("AnimIcon"); if ((ItemRegistry.GetTypeByID(___item.id) & ItemType.LEVELING) != ItemType.LEVELING) { __instance.back.SetActive(false); animIcon.anim = 0; } else { __instance.back.GetComponent <Renderer>().material = (Material)Resources.Load("iBack" + ___item.tier); if (___item.tier == 3) { animIcon.anim = 1; } else { animIcon.anim = 0; } __instance.back.SetActive(true); } __instance.StartCoroutine(Burst.Invoke(__instance, new object[] { }) as IEnumerator); return(false); }
public static void Postfix(PlayerAppearance __instance, int[] ei, int a, bool dead) { if (ei[0] >= ItemRegistry.GetSingleton().GetIDStart() && ItemRegistry.GetSingleton().HasEntry(ei[0]) && (ItemRegistry.GetSingleton().GetEntry(ei[0]).GetEntryType() & ItemType.WEAPON) == ItemType.WEAPON && GadgetCoreAPI.IsCustomResourceRegistered("ie/ie" + ei[0])) { __instance.weaponObj.GetComponent <Renderer>().material = (Material)Resources.Load("ie/ie" + ei[0]); } }
public void InitialStartup() { ItemRegistry.Initialize(new List <Type>() { typeof(StoneRubble), typeof(Log) }); }
public void Craft(CraftingRecipe recipe) { if (recipe.MaterialsPresent(inventory)) { inventory = recipe.CraftFrom(inventory); AddToInventory(ItemRegistry.Instantiate(recipe.ProducesType)); } }
void Start() { itemCollector = GetComponent <ItemCollector>(); foreach (ItemType type in items) { itemCollector.AddToInventory(ItemRegistry.Instantiate(type)); } }
public static bool Prefix(GameScript __instance, int id, ref int __result) { if (ItemRegistry.GetSingleton().HasEntry(id)) { __result = ItemRegistry.GetSingleton().GetEntry(id).Value; return(false); } return(true); }
public static bool Prefix(GameScript __instance, Package package, ref IEnumerator __result) { if (ItemRegistry.GetSingleton().HasEntry(package.item.id)) { __result = AddItem(__instance, package); return(false); } return(true); }
public static bool Prefix(GameScript __instance, int id, ref IEnumerator __result) { if (ItemRegistry.GetSingleton().HasEntry(id)) { __result = AddItemGather(__instance, id); return(false); } return(true); }
internal ItemRegistry LoadItemRegistry(Guid dimensionID) { using (StreamReader sr = new StreamReader(WorldStorage.DimensionPaths[dimensionID] + Path.DirectorySeparatorChar + dimensionID + ".itemreg")) { ItemRegistry reg = (ItemRegistry)ProtoUtil.TypeModel.DeserializeWithLengthPrefix(sr.BaseStream, null, typeof(ItemRegistry), ProtoBuf.PrefixStyle.Base128, 0); return(reg); } }
public static bool Prefix(Projectile __instance, int dmg, ref int id, Vector3 dir) { if (!GadgetNetwork.MatrixReady && GadgetNetwork.GetTimeSinceConnect() < GadgetNetwork.MatrixTimeout) { __instance.StartCoroutine(GadgetUtils.WaitAndInvoke(RPCMethod, GadgetNetwork.MatrixTimeout - GadgetNetwork.GetTimeSinceConnect(), () => GadgetNetwork.MatrixReady, __instance, dmg, id, dir)); return(false); } GadgetNetwork.ConvertIDToLocal(ItemRegistry.GetSingleton() /* ProjectileRegistry */, ref id); return(true); }
public static bool Prefix(ItemStandScript __instance, ref int[] p) { if (!GadgetNetwork.MatrixReady && GadgetNetwork.GetTimeSinceConnect() < GadgetNetwork.MatrixTimeout) { __instance.StartCoroutine(GadgetUtils.WaitAndInvoke(RPCMethod, GadgetNetwork.MatrixTimeout - GadgetNetwork.GetTimeSinceConnect(), () => GadgetNetwork.MatrixReady, __instance, p)); return(false); } GadgetNetwork.ConvertIDToLocal(ItemRegistry.GetSingleton(), ref p[0]); return(true); }
public IItem YieldItem() { pickedUp = true; if (destroyOnYield) { gameObject.SetActive(false); Invoke("DoDestroy", destroyDelay); } return(ItemRegistry.Instantiate(itemType)); }
static void Postfix(ItemRegistry __instance, Dictionary <TaggedObjectType, List <ITaggedItem> > ___itemsByType) { Array values = Enum.GetValues(typeof(MCTaggedObjectType)); for (int i = 0; i < values.Length; i++) { TaggedObjectType key = (TaggedObjectType)values.GetValue(i); ___itemsByType[key] = new List <ITaggedItem>(); } }
public static bool Prefix(PlayerScript __instance, ref bool ___attacking, ref bool ___canAttack, ref GameScript ___gameScript, ref IEnumerator __result) { if (ItemRegistry.GetSingleton().HasEntry(GameScript.equippedIDs[0]) && !___attacking && ___canAttack && !___gameScript.combatSwitching && !PlayerScript.beaming && !VanillaItemInfo.Attacking) { ItemRegistry.GetSingleton().GetEntry(GameScript.equippedIDs[0]).InvokeOnAttack(__instance); __result = GadgetCoreAPI.EmptyEnumerator(); return(false); } return(true); }
public static bool Prefix(GameScript __instance, int slot, ref Item ___holdingItem, ref Item[] ___craft) { ItemInfo itemInfo = ItemRegistry.GetSingleton().GetEntry(___holdingItem.id); ItemType holdingItemType = itemInfo != null ? (itemInfo.Type & (ItemType.BASIC_MASK | ItemType.TYPE_MASK)) : ItemRegistry.GetDefaultTypeByID(___holdingItem.id); if ((holdingItemType & ItemType.NONSTACKING) == ItemType.NONSTACKING && ___craft[slot].id == ___holdingItem.id) { return(false); } return(true); }
/// <summary> /// This constructor is for creating a dimension identical to a dimension loaded from disk/network. /// </summary> /// <param name="dimensionName"></param> /// <param name="chunks"></param> /// <param name="id"></param> /// <param name="registry"></param> public Dimension(string dimensionName, ProtoArray <Chunk> chunks, Guid id, ItemRegistry registry) { this.ID = id; this.Manager = new ChunkManager(id, chunks); this.DimensionName = dimensionName; int dimensionID = World.AddDimension(this); //Anything that needs a dimensionID this.Items = registry; }
internal void RegisterPlaceableItems(ItemRegistry r) { foreach (var fi in _dictionary.Values.Select(f => f.GetPlaceableItem())) { if (r.Get(fi.Key).IsPresent()) { fi.Key = new ResourceKey(fi.Key.Namespace, fi.Key.Key + "_placeable"); } r.Register(fi.Key, fi); } }
public static bool Prefix(GameScript __instance, int slot, ref Item ___holdingItem) { ItemInfo itemInfo = ItemRegistry.GetSingleton().GetEntry(___holdingItem.id); ItemType holdingItemType = itemInfo != null ? (itemInfo.Type & (ItemType.BASIC_MASK | ItemType.TYPE_MASK)) : ItemRegistry.GetDefaultTypeByID(___holdingItem.id); if ((holdingItemType & ItemType.NONSTACKING) == ItemType.NONSTACKING) { SelectItemStorage.Invoke(__instance, new object[] { slot }); return(false); } return(true); }
public override void InitItems(ItemRegistry registry) { registry.Register<TrayBasket>(TrayBasket.ID); registry.Register<TechBlowbot>(TechBlowbot.ID); registry.Register<ChargableBattery>(ChargableBattery.ID); }