private string RenderResource(ResourceRegistrationType registrationType, ResourcePlacementType placementType, bool includeAsBundle = false) { var resourcesEnqueued = _resourceRegistrations[registrationType].Where(x => x.Enqueued && x.PlacementType == placementType) .ToList(); //set all as unrendered because we are using singleton instance foreach (var resource in resourcesEnqueued) { resource.Rendered = false; } var renderFormat = registrationType == ResourceRegistrationType.Style ? "<link href='{0}' rel='stylesheet' type='text/css' />" : "<script src='{0}' type='text/javascript'></script>"; var renderBuilder = new StringBuilder(); foreach (var resource in resourcesEnqueued) { renderBuilder.Append(_RenderSingleResource(resource, renderFormat)); } return(renderBuilder.ToString()); }
public void EnqueueStyles(string[] resourceNames, string[] requiredResourceNames, ResourcePlacementType placementType = ResourcePlacementType.HeadTag) { if (requiredResourceNames == null) requiredResourceNames = new string[] { }; //append required resources foreach (var resourceName in requiredResourceNames) { EnqueueResource(resourceName, ResourceRegistrationType.Script, placementType, null); } //first get the dependent resources var dependentResources = _resourceRegistrations[ResourceRegistrationType.Style].Where( x => requiredResourceNames.Contains(x.ResourceName)).ToList(); //and now the actual resources foreach (var resourceName in resourceNames) { EnqueueResource(resourceName, ResourceRegistrationType.Style, placementType, dependentResources); } }
private void SpawnResourcesAndDoodads() { Transform resources = transform.Find("Resources"); Transform doodads = transform.Find("Doodads"); ClearResources(resources, doodads); // TODO: get rid of this water junk GameObject water = GameObject.Find("Water4Simple"); List <GameObject> doodadPrefabs = ListUtility.From( (GameObject)Resources.Load("Doodads/DeadTree6"), (GameObject)Resources.Load("Doodads/DeadTree7"), (GameObject)Resources.Load("Doodads/Smallbush4"), (GameObject)Resources.Load("Doodads/SmallRock4"), (GameObject)Resources.Load("Doodads/SmallRock7")); var prefabs = new Dictionary <ResourcePlacementType, IReadOnlyList <GameObject> > { [ResourcePlacementType.Trees] = ListUtility.From(Resources.Load <GameObject>("Buildings/WoodSource")), [ResourcePlacementType.Stone] = ListUtility.From(Resources.Load <GameObject>("Buildings/StoneRocks")), [ResourcePlacementType.Gold] = ListUtility.From(Resources.Load <GameObject>("Buildings/GoldRocks")), [ResourcePlacementType.Fish] = ListUtility.From(Resources.Load <GameObject>("Prefabs/FishingHole")), [ResourcePlacementType.Berries] = ListUtility.From(Resources.Load <GameObject>("Buildings/ForagingGround")), [ResourcePlacementType.Doodad] = doodadPrefabs, }; TerrainData terrainData = GetComponent <Terrain>().terrainData; float waterHeight = (water.transform.position.y - transform.position.y) / terrainData.size.y; ResourcePlacer placer = new ResourcePlacer(terrainData, waterHeight, newGameSettings.seed, newGameSettings.ResourceSettings); Dictionary <ResourcePlacementType, List <GameObject> > placedResources = ((ResourcePlacementType[])Enum.GetValues(typeof(ResourcePlacementType))) .ToDictionary(it => it, _ => new List <GameObject>()); const int resolution = 45; for (int x = 0; x < resolution; ++x) { for (int y = 0; y < resolution; ++y) { float u = (x + 0.5f) / resolution; float v = (y + 0.5f) / resolution; ResourcePlacementType type = placer.GetPlacementType(u, v); if (type == ResourcePlacementType.None) { continue; } int index = mRandom.Next(0, prefabs[type].Count); GameObject prefab = prefabs[type][index]; GameObject instance = GameController.Factory.Instantiate(prefab); placedResources[type].Add(instance); instance.transform.position = RandomizePosition(u, v, terrainData); instance.transform.SetParent(type == ResourcePlacementType.Doodad ? doodads : resources); if (type == ResourcePlacementType.Fish) { instance.transform.position = new Vector3( instance.transform.position.x, water.transform.position.y, instance.transform.position.z); } else { instance.GetComponent <NeolithicObject>().SnapToGround(); } } } ClusterResources(placedResources[ResourcePlacementType.Trees], 200.0f, 3.0f); ClusterResources(placedResources[ResourcePlacementType.Berries], 400.0f, 12.0f); }
public static MvcHtmlString RenderScripts(this HtmlHelper htmlHelper, ResourcePlacementType placementType, bool includeAsBundle = false) { var pageGenerator = mobSocialEngine.ActiveEngine.Resolve <IPageGenerator>(); return(MvcHtmlString.Create(pageGenerator.RenderScripts(placementType, includeAsBundle))); }
public static void EnqueueScripts(this HtmlHelper htmlHelper, string[] resourceNames, string[] requiredResourceNames = null, ResourcePlacementType placementType = ResourcePlacementType.BeforeEndBodyTag) { mobSocialEngine.ActiveEngine.Resolve <IPageGenerator>().EnqueueScripts(resourceNames, requiredResourceNames, placementType); }
public void EnqueueScripts(string[] resourceNames, string[] requiredResourceNames, ResourcePlacementType placementType = ResourcePlacementType.BeforeEndBodyTag) { if (requiredResourceNames == null) { requiredResourceNames = new string[] {} } ; //append required resources foreach (var resourceName in requiredResourceNames) { EnqueueResource(resourceName, ResourceRegistrationType.Script, placementType, null); } //first get the dependent resources var dependentResources = _resourceRegistrations[ResourceRegistrationType.Script].Where( x => requiredResourceNames.Contains(x.ResourceName)).ToList(); //and now the actual resources foreach (var resourceName in resourceNames) { EnqueueResource(resourceName, ResourceRegistrationType.Script, placementType, dependentResources); } }
private void EnqueueResource(string resourceName, ResourceRegistrationType resourceRegistrationType, ResourcePlacementType placementType, IList <Resource> dependsOn) { var registeredResource = _resourceRegistrations[resourceRegistrationType].FirstOrDefault(x => x.ResourceName == resourceName); if (registeredResource == null) { //may be this resource will be registered later, do it now RegisterResource(resourceName, string.Empty, resourceRegistrationType); //query again registeredResource = _resourceRegistrations[resourceRegistrationType].First(x => x.ResourceName == resourceName); } registeredResource.PlacementType = placementType; registeredResource.Enqueued = true; if (dependsOn != null) { registeredResource.DependsOn = dependsOn; } }
public string RenderScripts(ResourcePlacementType placementType, bool includeAsBundle = false) { return(RenderResource(ResourceRegistrationType.Script, placementType, includeAsBundle)); }
private void EnqueueResource(string resourceName, ResourceRegistrationType resourceRegistrationType, ResourcePlacementType placementType, IList<Resource> dependsOn) { var registeredResource = _resourceRegistrations[resourceRegistrationType].FirstOrDefault(x => x.ResourceName == resourceName); if (registeredResource == null) { //may be this resource will be registered later, do it now RegisterResource(resourceName, string.Empty, resourceRegistrationType); //query again registeredResource = _resourceRegistrations[resourceRegistrationType].First(x => x.ResourceName == resourceName); } registeredResource.PlacementType = placementType; registeredResource.Enqueued = true; if(dependsOn != null) registeredResource.DependsOn = dependsOn; }
private string RenderResource(ResourceRegistrationType registrationType, ResourcePlacementType placementType, bool includeAsBundle = false) { var resourcesEnqueued = _resourceRegistrations[registrationType].Where(x => x.Enqueued && x.PlacementType == placementType) .ToList(); //set all as unrendered because we are using singleton instance foreach (var resource in resourcesEnqueued) resource.Rendered = false; var renderFormat = registrationType == ResourceRegistrationType.Style ? "<link href='{0}' rel='stylesheet' type='text/css' />" : "<script src='{0}' type='text/javascript'></script>"; var renderBuilder = new StringBuilder(); foreach (var resource in resourcesEnqueued) { renderBuilder.Append(_RenderSingleResource(resource, renderFormat)); } return renderBuilder.ToString(); }
public string RenderStyles(ResourcePlacementType placementType, bool includeAsBundle = false) { return RenderResource(ResourceRegistrationType.Style, placementType, includeAsBundle); }
public static MvcHtmlString RenderStyles(this HtmlHelper htmlHelper, ResourcePlacementType placementType, bool includeAsBundle = false) { var pageGenerator = mobSocialEngine.ActiveEngine.Resolve<IPageGenerator>(); return MvcHtmlString.Create(pageGenerator.RenderStyles(placementType, includeAsBundle)); }
public static void EnqueueStyles(this HtmlHelper htmlHelper, string[] resourceNames, string[] requiredResourceNames = null, ResourcePlacementType placementType = ResourcePlacementType.HeadTag) { mobSocialEngine.ActiveEngine.Resolve<IPageGenerator>().EnqueueStyles(resourceNames, requiredResourceNames, placementType); }
public static HtmlString RenderScripts(this HtmlHelper htmlHelper, ResourcePlacementType placementType, bool includeAsBundle = false) { var pageGenerator = DependencyResolver.Resolve <IPageGenerator>(); return(new HtmlString(pageGenerator.RenderScripts(placementType, includeAsBundle))); }
public static void EnqueueStyles(this HtmlHelper htmlHelper, string[] resourceNames, string[] requiredResourceNames = null, ResourcePlacementType placementType = ResourcePlacementType.HeadTag) { DependencyResolver.Resolve <IPageGenerator>().EnqueueStyles(resourceNames, requiredResourceNames, placementType); }