public bool GetItem3D(string name, out Mesh Mesh, out Material[] Materials) { Mesh = new Mesh(); Materials = new Material[0]; if (!isReady) { return(false); } byte[] data; if (!name.Contains("ITEMS3D")) { data = dataFileReader.GetFile(Path.Combine("ITEMS3D", name)); } else { data = dataFileReader.GetFile(name); } if (data.Length == 0) { Wizardry8Unity.LogMessage(string.Format("Unknown Item '{0}'.", name), true); } var file = new ItemsFile(data, System.IO.Path.GetFileNameWithoutExtension(name)); Mesh = file.ItemMesh; Materials = file.ItemMaterials; return(true); }
/// 조회 private void InitModel() { ItemsSelect.Clear(); ItemsFile.Clear(); //저장된 shp파일 목록 DirectoryInfo di = new DirectoryInfo(BizUtil.GetDataFolder("shape")); //foreach (FileInfo fi in di.GetFiles().Where(f=> f.Extension.Contains("shp") || f.Extension.Contains("dbf") || f.Extension.Contains("prj") || f.Extension.Contains("shx"))) foreach (FileInfo fi in di.GetFiles().Where(f => f.Extension.Contains("shp"))) { try { FileDtl dtl = new FileDtl(); dtl.DWN_NAM = fi.Name; dtl.FIL_TYP = fi.Extension.Replace(".", ""); dtl.FIL_SIZ = fi.Length.ToString(); //파일객체 ItemsSelect.Add(dtl); } catch (Exception e) { Console.WriteLine(e.Message); } } }
public IModable copyDeep() { var result = new ItemsFile(); result.Items = Modable.copyDeep(Items); return(result); }
/// <summary> /// Initial implementation just dumps ItemDescription to JSON. /// </summary> /// <param name="fallExePath">Path to FALL.EXE containing item database.</param> /// <param name="outputPath">Output path for JSON file.</param> public static void CreateJSON(string fallExePath, string outputPath) { ItemsFile itemsFile = new ItemsFile(fallExePath); List <ItemDescription> itemDescriptions = new List <ItemDescription>(itemsFile.ItemsCount); for (int i = 0; i < itemsFile.ItemsCount; i++) { itemDescriptions.Add(itemsFile.GetItemDescription(i)); } }
/// <summary> /// Initial implementation just dumps ItemDescription to JSON. /// </summary> /// <param name="fallExePath">Path to FALL.EXE containing item database.</param> /// <param name="outputPath">Output path for JSON file.</param> public static void CreateJSON(string fallExePath, string outputPath) { ItemsFile itemsFile = new ItemsFile(fallExePath); List <ItemTemplate> itemDescriptions = new List <ItemTemplate>(itemsFile.ItemsCount); for (int i = 0; i < itemsFile.ItemsCount; i++) { itemDescriptions.Add(itemsFile.GetItemDescription(i)); } string json = SaveLoadManager.Serialize(itemDescriptions.GetType(), itemDescriptions); File.WriteAllText(outputPath, json); }
public void DropRecord(List <FileInfo> filesData) { foreach (FileInfo fi in filesData) { if (!ItemsFile.Any(x => x.FullName == fi.FullName)) { //파일객체 ItemsFile.Add(fi); //파일db객체 FileDtl dtl = new FileDtl(); dtl.DWN_NAM = fi.Name; dtl.FIL_TYP = fi.Extension.Replace(".", ""); dtl.FIL_SIZ = fi.Length.ToString(); ItemsSelect.Add(dtl); } } }
private void AnaForm_Load(object sender, EventArgs e) { ShowForm(); timer1.Interval = 1000; timer1.Start(); saatGoster(); calendar1.TimeUnitsOffset = -16; lbltarih.Text = DateTime.Now.ToShortDateString(); this.Text = "** Önal Kuaför ve Güzellik Salonu ** www.onalkuafor.com.tr"; //NotifyIcon başlıyor. onalKuafor.ShowBalloonTip(2000, "Önal Kuaför Programı", "Hoşgeldiniz...", ToolTipIcon.Info); if (DateTime.Now.DayOfWeek.ToString() == "Friday") { timer1.Start(); } //Ajanda if (ItemsFile.Exists) { List <ItemInfo> lst = new List <ItemInfo>(); XmlSerializer xml = new XmlSerializer(lst.GetType()); using (Stream s = ItemsFile.OpenRead()) { lst = xml.Deserialize(s) as List <ItemInfo>; } foreach (ItemInfo item in lst) { CalendarItem cal = new CalendarItem(calendar1, item.StartTime, item.EndTime, item.Text); if (!(item.R == 0 && item.G == 0 && item.B == 0)) { cal.ApplyColor(Color.FromArgb(item.A, item.R, item.G, item.B)); } _items.Add(cal); } PlaceItems(); } }
// Use this for initialization void Start() { var slf = new SLFFile(@"W8\Data\DATA.SLF"); var itemstr = @"ITEMS3D\BOOKFOUR.ITM"; var data = slf.GetFile(itemstr); // var file2 = new ItemsFile(@"W8\Data\ITEMS3D\JACKHAMMER.ITM"); var file = new ItemsFile(data, System.IO.Path.GetFileNameWithoutExtension(itemstr)); var go = new GameObject(); go.name = file.Name; var meshfilter = go.AddComponent <MeshFilter>(); meshfilter.sharedMesh = file.ItemMesh; var meshRend = go.AddComponent <MeshRenderer>(); meshRend.sharedMaterial = file.ItemMaterials[0]; meshRend.materials = file.ItemMaterials; }
public ItemFactory(OtbFile otbFile, DatFile datFile, ItemsFile itemsFile) { metadatas = new Dictionary <ushort, ItemMetadata>(datFile.Items.Count); foreach (var otbItem in otbFile.Items) { if (otbItem.Group != ItemGroup.Deprecated) { metadatas.Add(otbItem.OpenTibiaId, new ItemMetadata() { TibiaId = otbItem.TibiaId, OpenTibiaId = otbItem.OpenTibiaId }); } } var lookup = otbFile.Items.ToLookup(otbItem => otbItem.TibiaId, otbItem => otbItem.OpenTibiaId); foreach (var datItem in datFile.Items) { foreach (var openTibiaId in lookup[datItem.TibiaId]) { ItemMetadata metadata = metadatas[openTibiaId]; if (datItem.Flags.Is(ItemFlags.IsGround)) { metadata.TopOrder = TopOrder.Ground; } else if (datItem.Flags.Is(ItemFlags.AlwaysOnTop1)) { metadata.TopOrder = TopOrder.HighPriority; } else if (datItem.Flags.Is(ItemFlags.AlwaysOnTop2)) { metadata.TopOrder = TopOrder.MediumPriority; } else if (datItem.Flags.Is(ItemFlags.AlwaysOnTop3)) { metadata.TopOrder = TopOrder.LowPriority; } else { metadata.TopOrder = TopOrder.Other; } if (datItem.Flags.Is(ItemFlags.IsContainer)) { metadata.Flags |= ItemMetadataFlags.IsContainer; } if (datItem.Flags.Is(ItemFlags.Stackable)) { metadata.Flags |= ItemMetadataFlags.Stackable; } if (datItem.Flags.Is(ItemFlags.Useable)) { metadata.Flags |= ItemMetadataFlags.Useable; } if (datItem.Flags.Is(ItemFlags.NotWalkable)) { metadata.Flags |= ItemMetadataFlags.NotWalkable; } if (datItem.Flags.Is(ItemFlags.NotMoveable)) { metadata.Flags |= ItemMetadataFlags.NotMoveable; } if (datItem.Flags.Is(ItemFlags.BlockProjectile)) { metadata.Flags |= ItemMetadataFlags.BlockProjectile; } if (datItem.Flags.Is(ItemFlags.BlockPathFinding)) { metadata.Flags |= ItemMetadataFlags.BlockPathFinding; } if (datItem.Flags.Is(ItemFlags.Pickupable)) { metadata.Flags |= ItemMetadataFlags.Pickupable; } if (datItem.Flags.Is(ItemFlags.Rotatable)) { metadata.Flags |= ItemMetadataFlags.Rotatable; } if (datItem.ItemHeight > 0) { metadata.Flags |= ItemMetadataFlags.HasHeight; } metadata.Speed = datItem.Speed; if (datItem.LightLevel > 0 || datItem.LightColor > 0) { metadata.Light = new Light((byte)datItem.LightLevel, (byte)datItem.LightColor); } } } foreach (var xmlItem in itemsFile.Items) { if (xmlItem.OpenTibiaId < 20000) { ItemMetadata metadata = metadatas[xmlItem.OpenTibiaId]; metadata.Name = xmlItem.Name; metadata.Capacity = xmlItem.ContainerSize; metadata.FloorChange = xmlItem.FloorChange; } } }
public void Start() { dispatcher = new Dispatcher(); scheduler = new Scheduler(dispatcher); listeners = new List <Listener>(); listeners.Add(new Listener(7171, socket => new LoginConnection(this, socket))); listeners.Add(new Listener(7172, socket => new GameConnection(this, socket))); Clock = new Clock(12, 0); Logger = new Logger(); Channels = new ChannelCollection(); RuleViolations = new RuleViolationCollection(); PacketsFactory = new PacketsFactory(); using (Logger.Measure("Loading items", true)) { var otb = OtbFile.Load("data/items/items.otb"); var dat = DatFile.Load("data/items/tibia.dat"); var items = ItemsFile.Load("data/items/items.xml"); ItemFactory = new ItemFactory(otb, dat, items); } using (Logger.Measure("Loading monsters", true)) { var monsters = MonsterFile.Load("data/monsters"); MonsterFactory = new MonsterFactory(monsters); } using (Logger.Measure("Loading npcs", true)) { var npcs = NpcFile.Load("data/npcs"); NpcFactory = new NpcFactory(npcs); } using (Logger.Measure("Loading map", true)) { var otbm = OtbmFile.Load("data/map/pholium3.otbm"); Map = new Map(ItemFactory, otbm); } Pathfinding = new Pathfinding(Map); Events = new EventsCollection(); Scripts = new ScriptsCollection(); using (Logger.Measure("Loading scripts", true)) { Scripts.Start(this); } dispatcher.Start(); scheduler.Start(); foreach (var listener in listeners) { listener.Start(); } Logger.WriteLine("Server online"); }