private void AddStartItemToInventory() { Workshop workshop = (Workshop)(byte)(int)nebulaObject.Tag((byte)PlayerTags.Workshop); SchemeDropper schemeDropper = new SchemeDropper(workshop, 1, resource, ObjectColor.white); MaterialObject material = new MaterialObject("CraftOre0001", workshop, 1, resource.Materials.Ore("CraftOre0001")); SchemeObject scheme = schemeDropper.Drop() as SchemeObject; scheme.ReplaceCraftingMaterials(new Dictionary <string, int> { { "CraftOre0001", 1 } }); Inventory.Add(scheme, 1); Inventory.Add(material, 5); log.InfoFormat("adding tutorial crafting materials at start yellow"); }
private void UpdateDropList() { content.Clear(); switch (dropList) { case DropList.RandomSchemeOfWorldLevel: { SchemeDropper dropper = new SchemeDropper( CommonUtils.GetRandomEnumValue <Workshop>(new List <Workshop>()), (nebulaObject.world as MmoWorld).Zone.Level, nebulaObject.resource); SchemeObject scheme = dropper.Drop() as SchemeObject; AddContent(new ServerInventoryItem(scheme, 1)); } break; } }
private void CheckComplete() { if (pirates.Count > 0) { if (allIsDead) { log.InfoFormat("Activator complete create chest".Yellow()); pirates.Clear(); SchemeDropper dropper = new SchemeDropper(CommonUtils.GetRandomEnumValue <Workshop>(new List <Workshop>()), 1, nebulaObject.resource, ObjectColor.orange); SchemeObject scheme = dropper.Drop() as SchemeObject; ConcurrentBag <ServerInventoryItem> dropList = new ConcurrentBag <ServerInventoryItem> { new ServerInventoryItem(scheme, 1) }; var obj = ObjectCreate.SharedChest((nebulaObject.world as MmoWorld), transform.position + Rand.UnitVector3() * 4, 5 * 60, dropList); obj.AddToWorld(); SetCooldownTimer(cooldown); SetInteractable(false); } } }
public void TestCase() { Dictionary <ShipModelSlotType, int> countDict = new Dictionary <ShipModelSlotType, int>() { { ShipModelSlotType.CB, 0 }, { ShipModelSlotType.CM, 0 }, { ShipModelSlotType.DF, 0 }, { ShipModelSlotType.DM, 0 }, { ShipModelSlotType.ES, 0 } }; Res res = new Res(@"C:\development\Nebula\TestClient\bin\Debug"); res.Load(); DropManager dropManager = DropManager.Get(res); int totalModules = 0; while (!Check(countDict)) { SchemeDropper schemeDropper = new SchemeDropper(Workshop.RedEye, 5, res); var scheme = schemeDropper.Drop() as SchemeObject; var module = scheme.Transform(dropManager) as ShipModule; totalModules++; if (module.Color == ObjectColor.green) { Console.WriteLine("Green module {0} = {1}", module.SlotType, module.Set); countDict[module.SlotType]++; } } Console.WriteLine("============================"); Console.WriteLine("Total modules = {0}", totalModules); foreach (var pair in countDict) { Console.WriteLine("{0}={1}", pair.Key, pair.Value); } Console.WriteLine("==============================="); }