public void UpdateTerminals(MultiShopController self) { // choose random item tier ItemTierShopConfig itemTierConfig = PickRandomItemTier(); MultiShop.RepopulateTerminals(self, itemTierConfig); }
public void CreateTerminals(On.RoR2.MultiShopController.orig_CreateTerminals orig, MultiShopController self) { // choose random item tier ItemTierShopConfig itemTierConfig = PickRandomItemTier(); self.itemTier = itemTierConfig.itemTier; self.Networkcost = 1; MultiShop.CreateTerminals(orig, self, itemTierConfig); }
public void CreateTerminals(On.RoR2.MultiShopController.orig_CreateTerminals orig, RoR2.MultiShopController self) { int index = MultiShop.instances.Count; // I don't super like this ItemTierShopConfig itemTierConfig = ModConfig.tierWeights[index]; self.itemTier = itemTierConfig.itemTier; self.Networkcost = itemTierConfig.price; MultiShop.CreateTerminals(orig, self, itemTierConfig); }
public void SpawnShop(Xoroshiro128Plus xoroshiro128Plus) { SpawnCard card = Resources.Load <SpawnCard>("SpawnCards/InteractableSpawnCard/iscTripleShop"); GameObject multiShopGameObject = DirectorCore.instance.TrySpawnObject(new DirectorSpawnRequest(card, new DirectorPlacementRule { maxDistance = 30f, minDistance = 10f, placementMode = DirectorPlacementRule.PlacementMode.Approximate, position = TeleporterInteraction.instance.transform.position }, xoroshiro128Plus)); float startPosOffsetY = 0; // -7.2f; Vector3 endPosition = multiShopGameObject.transform.position; multiShopGameObject.transform.position = new Vector3(multiShopGameObject.transform.position.x, multiShopGameObject.transform.position.y + startPosOffsetY, multiShopGameObject.transform.position.z); MultiShopController multiShopController = multiShopGameObject.GetComponent <MultiShopController>(); List <PurchaseInteraction> purchaseInteractionList = new List <PurchaseInteraction>(); GameObject[] terminalGameObjects = multiShopController.GetFieldValue <GameObject[]>("terminalGameObjects"); for (int k = 0; k < terminalGameObjects.Length; k++) { purchaseInteractionList.Add(terminalGameObjects[k].GetComponent <PurchaseInteraction>()); terminalGameObjects[k].gameObject.transform.position = new Vector3(terminalGameObjects[k].gameObject.transform.position.x, terminalGameObjects[k].gameObject.transform.position.y + startPosOffsetY, terminalGameObjects[k].gameObject.transform.position.z); } //EffectManager.instance.SpawnEffect(Resources.Load<GameObject>("Prefabs/Effects/BeetleQueenBurrow"), new EffectData() EffectManager.instance.SpawnEffect(Resources.Load <GameObject>("Prefabs/Effects/TeleportOutBoom"), new EffectData() { origin = endPosition, rotation = Quaternion.identity }, true); MultiShop.terminalOffset = Math.Abs(terminalGameObjects[0].gameObject.transform.position.y - multiShopGameObject.transform.position.y); MultiShop multiShop = new MultiShop { multiShopController = multiShopController, terminalPurchaseInteractions = purchaseInteractionList, endPosition = endPosition }; MultiShop.instances.Add(multiShop); }
public void UpdateTerminals(RoR2.MultiShopController self) { MultiShop.RepopulateTerminals(self, MultiShop.RetrieveItemTierConfig(ModConfig.tierWeights, self.itemTier)); }