// Static Cover private CoverData FindStaticCover(Transform targetTransform, Transform transformToDefend) { var targetTransformPos = targetTransform.position; if (targetTransform && myTransform) { //Closest Covers if (currentCoverSeekMethod == CoverSeekMethods.WithinCombatRange) { return(FindCoverWithinCombatRange(targetTransformPos, transformToDefend)); } //Advance Towards Cover if (currentCoverSeekMethod == CoverSeekMethods.AdvanceTowardsTarget) { return(FindAdvancingCover(targetTransformPos, transformToDefend)); } //Random Cover if (currentCoverSeekMethod == CoverSeekMethods.RandomCover) { return(FindRandomCover(targetTransformPos, transformToDefend)); } } var bsData = new CoverData(); return(bsData); }
public CoverData GetCoverImage(MangaInfo MangaInfo) { CoverData _Cover = new CoverData(); String PageHTML, FileLocation, CoverRegex = @"(?<File>http://s\d\.mangapanda\.com/cover/(?<Name>[\w-]+)/(?<FileName>[\w-]+l\d+?)(?<Extention>\.[\w]{3,4}))"; using (WebClient GWC = new WebClient()) { GWC.Encoding = Encoding.UTF8; PageHTML = GWC.DownloadString(MangaInfo.InfoPage); Match coverMatch = Regex.Match(PageHTML, CoverRegex); if (coverMatch.Success) { FileLocation = coverMatch.Groups["File"].Value; _Cover.CoverName = coverMatch.Groups["FileName"].Value; Stream tmpImage = new MemoryStream(GWC.DownloadData(FileLocation)); tmpImage.Position = 0; _Cover.CoverStream = new MemoryStream(); tmpImage.CopyTo(_Cover.CoverStream); tmpImage.Close(); } } return _Cover; }
public void Load(Hit hit, string url) { var currentScheduler = TaskScheduler.FromCurrentSynchronizationContext(); Task.Run(async() => { //load cover CoverLoadSemaphore.Wait(); var coverData = new CoverData(); //laod cover coverData.Image = await CoverService.LoadCoverAsyncLazyCached(url); CoverLoadSemaphore.Release(); return(coverData); }).ContinueWith(coverTask => { //if successfull if (coverTask.IsCompleted && coverTask.Result != null) { //set image var coverData = coverTask.Result; hit.CoverImage = coverData.Image; } }, currentScheduler); }
// Generating objects into plate here public void generateObjects(Theme theme) { EnvironmentData data = Data.Instance.getEnvByTheme(theme); // Interior for (int i = 0; i < plateData.interiorAmount; i++) { InteriorData interiorData = Utils.getRandomElement(data.interiors); GameObject instance = Instantiate(interiorData.prefab) as GameObject; instance.transform.SetParent(interior.transform); if (placeObject(instance)) { // Random rotation Vector3 euler = instance.transform.eulerAngles; euler.y = Random.Range(0f, 360f); instance.transform.eulerAngles = euler; } else { Destroy(instance.gameObject); } } // Covers for (int i = 0; i < plateData.coverAmount; i++) { CoverData coverData = Utils.getRandomElement(data.covers); GameObject instance = Instantiate(coverData.prefab) as GameObject; instance.transform.SetParent(covers.transform); instance.GetComponent <BaseDestructable>().durability = coverData.durability; if (placeObject(instance)) { // Random rotation Vector3 euler = instance.transform.eulerAngles; euler.y = Random.Range(0f, 360f); instance.transform.eulerAngles = euler; } else { Destroy(instance.gameObject); } } // Placing weapon drops for (int i = 0; i < 2; i++) { int weaponId = Data.Instance.getRandomWeaponId(); GameObject dropInstance = Instantiate(data.dropPrefab) as GameObject; dropInstance.transform.SetParent(transform); dropInstance.GetComponent <Drop>().createDropSimple(Entity.WEAPON, weaponId); if (!placeObject(dropInstance)) { Destroy(dropInstance.gameObject); } } // Placing item drops for (int i = 0; i < 2; i++) { int itemId = Data.Instance.getRandomItemId(); GameObject dropInstance = Instantiate(data.dropPrefab) as GameObject; dropInstance.transform.SetParent(transform); dropInstance.GetComponent <Drop>().createDropSimple(Entity.ITEM, itemId); if (!placeObject(dropInstance)) { Destroy(dropInstance.gameObject); } } }
/// <summary> /// basic init /// </summary> public Tile() { Traversals = new TraversalData(this); Cover = new CoverData(); TileObjects = new TileObjectData(this); }