Exemplo n.º 1
0
    // 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);
    }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        // 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);
                }
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// basic init
 /// </summary>
 public Tile()
 {
     Traversals  = new TraversalData(this);
     Cover       = new CoverData();
     TileObjects = new TileObjectData(this);
 }