//constructor //Possibly requires explicit keyword public Aircraft(Type type, ResourceHolder<Texture, ResourceID> textures) { mType = type; mSprite = new Sprite(textures.get(toTextureID(type))); FloatRect bounds = mSprite.GetLocalBounds(); mSprite.Origin = new Vector2f(bounds.Width / 2, bounds.Height / 2); }
public Context(RenderWindow window, ResourceHolder<Texture, ResourceID> textures, ResourceHolder<Font, FontID> fonts, Player player) { this.window = window; this.textures = textures; this.fonts = fonts; this.player = player; }
static void getChildren(DirectoryInfo[] dirs) { if (dirs.Length == 0) { return; } for (int i = 0; i < dirs.Length; ++i) { DirectoryInfo dir = new DirectoryInfo(dirs[i].FullName); DirectoryInfo[] tmp = dir.GetDirectories(); string lowerDirsName = dirs[i].Name.ToLower(); FileInfo[] files = dirs[i].GetFiles(); if (files.Length > 0 && !isOnlyMeta(files)) { ResourceHolder newResrouceHolder = new ResourceHolder(lowerDirsName, files[0].Extension); foreach (FileInfo fi in files) { if (!fi.Name.EndsWith(".meta")) { int startpos = fi.FullName.LastIndexOf("\\Resources\\") + "\\Resources\\".Length; newResrouceHolder._pathList.Add(fi.FullName.Substring(startpos).Replace("\\", "/").Replace(newResrouceHolder._extension, "")); } } resourceHolders.Add(newResrouceHolder); } getChildren(tmp); } }
public void UpdateBunkerResources() { FoodInBunker.text = "Food\n" + ResourceHolder.GetFood().Count; WaterInBunker.text = "Water\n" + ResourceHolder.GetWater().Count; MedicalSuppliesInBunker.text = "Medical Supplies\n" + ResourceHolder.GetMedicalSupplies().Count; WeaponsInBunker.text = "Weapons\n" + ResourceHolder.GetWeapon().Count; }
private T Load <T>(Wz_Node node = null, string assetName = null) { if (node == null && assetName == null) { throw new ArgumentNullException(); } assetName = assetName ?? node.FullPathToFile; ResourceHolder holder; if (!loadedItems.TryGetValue(assetName, out holder)) { var res = InnerLoad(node ?? PluginManager.FindWz(assetName), typeof(T)); if (res == null) { return(default(T)); } holder = new ResourceHolder(); holder.Resource = res; loadedItems[assetName] = holder; } //结算计数器 if (isCounting) { holder.Count++; } //特殊处理 return((T)holder.Resource); }
protected void Produce() { float maxPercentageToAdd = 100f / 10f; float percentageToAdd = maxPercentageToAdd * CitizenFactor(); productionRound += percentageToAdd; if (productionRound < 100f) { return; } productionRound = 0f; List <ResAmount> actualInputs = new List <ResAmount>(); foreach (ResAmount input in inputs) { actualInputs.Add(new ResAmount(input.GetResType(), input.GetAmount())); } List <ResAmount> actualOutputs = new List <ResAmount>(); foreach (ResAmount output in outputs) { actualOutputs.Add(new ResAmount(output.GetResType(), output.GetAmount())); } if (ResourceHolder.CanAfford(actualInputs)) { ResourceHolder.Consume(actualInputs); ResourceHolder.Produce(actualOutputs); } }
public void PickUpResource() { if (Input.GetKeyDown(KeyCode.Space)) { ResourceHolder.AddToBackPack(this); } }
/// <summary> /// 卸载资源,并返回资源是否已经被删除 /// </summary> /// <param name="resourceHolder">持有要卸载的资源的ResourceHolder</param> /// <returns> /// 资源已经被删除 true /// 资源还未被删除 false /// </returns> protected bool UnloadResource(ResourceHolder resourceHolder) { bool res = false; string resourceName = resourceHolder.resourceName; object resource = resourceHolder.resource; if (resource != null) { if (DecreaseResourceReferenceCount(resourceName)) { // 引用计数已经降为零,删除资源 resourceReferenceTable.Remove(resource); resourceTable.Remove(resourceName); UnloadResourceObject(resourceName, resource); res = true; } } else { if (LogUtil.ShowError != null) { LogUtil.ShowError(string.Format("要释放的资源[{0}]不存在", resourceName)); } res = true; } return(res); }
private void tryPlacing(GameObject tryObj) { var ph = tryObj.GetComponent <BuildingPlaceHolder>(); if (!ResourceHolder.CanAfford(ph.costs)) { PopupWindow.ShowPopup("You cannot afford this."); SetNotPlacable(tryObj); return; } BuildingPlaceHolder.State state = ph.state; if (state == BuildingPlaceHolder.State.NONE) { return; } else if (state == BuildingPlaceHolder.State.PLACING_NOT_POSSIBLE) { SetNotPlacable(tryObj); } else if (state == BuildingPlaceHolder.State.PLACING) { SetPlacable(tryObj); } }
private void ShowResourceInGrid(ResourceHolder resource) { if (resource == null) { dataGridView1.DataSource = null; return; } dataGridView1.DataSource = resource.StringsTable; foreach (var languageHolder in resource.Languages.Values) { dataGridView1.Columns[languageHolder.LanguageId].DefaultCellStyle.WrapMode = DataGridViewTriState.True; } dataGridView1.Columns[ColNameNoLang].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridView1.Columns[ColNameComment].DisplayIndex = dataGridView1.Columns.Count - 1; dataGridView1.Columns[ColNameTranslated].Visible = false; dataGridView1.Columns[ColNameError].Visible = false; dataGridView1.Columns[ColNameKey].ReadOnly = true; ApplyConditionalFormatting(); }
public Context(RenderWindow window,ResourceHolder<Texture,TextureID> textures, ResourceHolder<Font,FontID> fonts, Player player) { mWindow = window; mTextures = textures; mFonts = fonts; mPlayer = player; }
static void Main(string[] args) { var holder = new ResourceHolder(1000, 101); holder.CopyTo(); holder.CopyFrom(); }
public void TestSpendShouldFailWhenNotEnoughResourceAndNotForced() { ResourceHolder rh = new ResourceHolder("Buns", 5, 5); Assert.AreEqual(rh.Deplete(10), 5); }
public void TestSpendShouldSucceedWhenJustEnoughResource() { ResourceHolder rh = new ResourceHolder("Buns", 5, 5); Assert.AreEqual(rh.Deplete(5), 0); }
public void TestSpendShouldDebtWhenNotEnoughResourceAndForced() { ResourceHolder rh = new ResourceHolder("Buns", 5, 5); Assert.AreEqual(rh.Deplete(10, true), -5); }
//=============================== FUNCTIONALITY ==============================// private void UpdateSelectorComboBox() { ResourceHolder.Get.ChangeResourceType(ResourceType.Foliage); List <TileCategory> rootCategories = ResourceHolder.Get.GetSelectedCategories(); LoadedTileCategories = rootCategories .Select(c => new TileCategory(c.Name, new List <TileObject>(c.TileObjects))) .ToList(); List <TileObject> tileObjects = AvailableObjects.Select(o => o.TileObject).ToList(); foreach (TileCategory tileCategory in LoadedTileCategories) { var objectsToRemove = tileCategory.TileObjects.Where(t => !tileObjects.Contains(t)).ToList(); foreach (TileObject tileObject in objectsToRemove) { tileCategory.TileObjects.Remove(tileObject); } } LoadedTileCategories.RemoveAll(c => c.TileObjects.Count == 0); Selection.AssignSelection(LoadedTileCategories[0].TileObjects[0]); IEnumerable <string> names = ResourceHolder.GetCategoryNames(LoadedTileCategories); CategorySelector.ItemsSource = names; CategorySelector.SelectedIndex = 0; _selectorGridCreator.UpdateTileGroup(LoadedTileCategories); _selectorGridCreator.CreateSelectionPanel(LoadedTileCategories[0]); }
public void AddResourceCard(GameObject cardObject) { ResourceHolder resourceHolder = new ResourceHolder(); resourceHolder.cardObject = cardObject; resourcesList.Add(resourceHolder); }
public void UpdateStatus(ResourceHolder holder) { if (holder == Owner) { if (SampleText.isActiveAndEnabled) { var changeValue = ""; if (holder.Change > 0) { changeValue = "+" + holder.Change; } else if (holder.Change < 0) { changeValue = holder.Change.ToString(); } SampleText.text = string.Format("{0}: {1} {2}", holder.Resource.Name, holder.Count, changeValue); } Icon.color = GetColor(holder.Change); Icon.transform.localScale = Vector3.one; if (holder.Change != _prevChange) { Icon.transform.DOShakeScale(0.33f, Vector2.one, 10, 0).OnComplete(() => Icon.transform.localScale = Vector3.one); _prevChange = holder.Change; } Slider.fillAmount = (float)holder.Count / _maxValue; } }
public GameApplication() { mWindow = new RenderWindow(new VideoMode(640, 480), "SFML App", Styles.Close); mWindow.SetKeyRepeatEnabled(false); mPlayer = new Player(); mTextures = new ResourceHolder<Texture, ResourceID>(); mTextures.load(ResourceID.TitleScreen, "Media/Textures/TitleScreen.png"); mTextures.load(ResourceID.ButtonNormal, "Media/Textures/ButtonNormal.png"); mTextures.load(ResourceID.ButtonSelected, "Media/Textures/ButtonSelected.png"); mTextures.load(ResourceID.ButtonPressed,"Media/Textures/ButtonPressed.png"); mFonts = new ResourceHolder<Font, FontID>(); mFonts.load(FontID.Main, "Media/Sansation.ttf"); mStateStack = new StateStack(new State.Context(mWindow,mTextures,mFonts,mPlayer)); eventqueue = new Queue<Event>(); registerStates(); mStateStack.pushState(StateID.Title); mWindow.Closed += onClosed; mWindow.GainedFocus += gainedFocus; mWindow.LostFocus += lostFocus; mWindow.KeyPressed += keyPressed; }
// Token: 0x06000374 RID: 884 RVA: 0x0001F2F8 File Offset: 0x0001D4F8 private void OpenFileBrowser(int matNo1, ACCTexture acctex) { ACCTexturesView.fileBrowser = new FileBrowser(new Rect(0f, 0f, ACCTexturesView.uiParams.fileBrowserRect.width, ACCTexturesView.uiParams.fileBrowserRect.height), "テクスチャファイル選択", delegate(string path) { ACCTexturesView.fileBrowser = null; if (path == null) { return; } acctex.filepath = (this.textureDir = Path.GetDirectoryName(path)); string fileName = Path.GetFileName(path); if (acctex.editname != fileName) { acctex.editname = fileName; acctex.dirty = true; } this.ChangeTexFile(this.textureDir, acctex.editname, matNo1, acctex.propName); }); ResourceHolder instance = ResourceHolder.Instance; ACCTexturesView.fileBrowser.DirectoryImage = instance.DirImage; ACCTexturesView.fileBrowser.FileImage = instance.PictImage; ACCTexturesView.fileBrowser.NoFileImage = instance.FileImage; ACCTexturesView.fileBrowser.labelStyle = ACCTexturesView.uiParams.listStyle; ACCTexturesView.fileBrowser.SelectionPatterns = new string[] { "*.tex", "*.png" }; if (!string.IsNullOrEmpty(this.textureDir)) { ACCTexturesView.fileBrowser.CurrentDirectory = this.textureDir; } }
//添加资源 private void AddResource(Object resource, string name, string type) { if (resource == null) { return; } //获取资源地址作为key值 string path = AssetDatabase.GetAssetPath(resource); if (mResourceDict.ContainsKey(path)) { mResourceDict[path].ResourceUseCount++; } else { ResourceHolder resourceHolder = new ResourceHolder { ResourceObject = resource, ResourcePath = path, ResourceName = name, ResourceType = type, ResourceUseCount = 1 }; mResourceDict.Add(path, resourceHolder); mResourceList.Add(resourceHolder); } }
public void Add() { var rh = new ResourceHolder(); rh.Add("resource1", "operation1", "principal1"); Assert.Equal(1, rh.ResourceCount); }
/// <summary> /// Registers a custom resource. /// </summary> /// <param name="name">The name.</param> /// <param name="location">The location.</param> /// <param name="version">The version.</param> /// <param name="resource">The resource.</param> /// <param name="mimeType">Mime-type.</param> /// <param name="lastModified">The last modified.</param> public void RegisterCustomResource(string name, string location, string version, IResource resource, string mimeType, DateTime?lastModified) { AssertParams(name, resource, mimeType); keyToResource[new ResourceKey(name, location, version)] = new ResourceHolder(resource, mimeType, lastModified); }
public void Contains() { var rh = new ResourceHolder(); rh.Add("resource1", "operation1", "principal1"); Assert.True(rh.Contains("resource1", "operation1", "principal1")); }
public TextNode(ResourceHolder<Font, FontID> fonts, string text) { mText = new Text(); mText.Font = fonts.get(FontID.Main); mText.DisplayedString = text; mText.CharacterSize = 20; }
void InitHolders() { foreach (var res in Resources.Resources) { var holder = new ResourceHolder(res, StartCount); Holders.Add(holder); Events.Fire(new Resource_New(holder, MaxResource)); } }
private void Awake() { GameManager.instance = this; allBots = Object.FindObjectsOfType <Bot>().ToList(); currentlySelectedBots = new List <Bot>(); homeBase.isConnected = true; resourceHolder = GetComponent <ResourceHolder>(); StartCoroutine(UpdateConnectivityClock()); }
public void Place() { foreach (ResAmount cost in costs) { ResourceHolder.Consume(cost.GetResType(), cost.GetAmount()); } Instantiate(building, gameObject.transform.position, Quaternion.identity); Destroy(gameObject); }
private void Awake() { if (Instance != null) { Destroy(gameObject); return; } Instance = this; }
private void OnTriggerEnter(Collider other) { if (other.tag == "Player") { //dump backpack and start the 30 seconds of "surviving" in the bunker ResourceHolder.EmptyBackpack(); WaitManager.instance.StartWaitPhase(); } }
public Projectile(Type type, ResourceHolder<Texture, ResourceID> textures):base(1) //I don't know how much HP there is { mType = type; mSprite = new Sprite(textures.get(Table[(int)type].texture)); mSprite.centerOrigin(); mTargetDirection = new Vector2f(); }
public void TestResourceModuleShouldBeConstructed() { ResourceHolder rh = new ResourceHolder("Test", 100, 40); Assert.AreEqual("Test", rh.Name); Assert.AreEqual(100, rh.Max); Assert.AreEqual(40, rh.Value); Assert.AreEqual(0.4f, rh.Percent, 0.01f); Assert.AreEqual(null, rh.Owner); }
public void TestSetMaxRetainPercentShouldSetMaxAndVal() { ResourceHolder rh = new ResourceHolder("Zoms", 100, 100); rh.SetMaxRetainPercent(200); Assert.AreEqual(200, rh.Value); Assert.AreEqual(200, rh.Max); Assert.AreEqual(1f, rh.Percent); }
public void Init(string resourceName, ResourceHolder resourceHolder, Action <AsyncResourceRequester, object> resourceHolderGenerateCallback, object callbackExtraParam) { progress = 0f; done = false; fail = false; released = false; this.resourceName = resourceName; this.resourceHolder = resourceHolder; this.resourceHolderGenerateCallback = resourceHolderGenerateCallback; this.callbackExtraParam = callbackExtraParam; }
public void AddResourceCard(GameObject cardObject) { ResourceHolder resourceHolder = new ResourceHolder { cardObject = cardObject }; resourcesList.Add(resourceHolder); Settings.RegisterEvent(username + " dropped a resource card", Color.white); }
public void TestCanSpendFalse() { ResourceHolder rh = new ResourceHolder("Buns", 100, 100); int val = rh.Deplete(90); Assert.AreEqual(val, 10); Assert.False(rh.CanSpend(11)); Assert.True(rh.CanSpend(10)); }
public Button(ResourceHolder<Font, FontID> fonts, ResourceHolder<Texture, ResourceID> textures) { //ACTION IS NOT INITIALIZED mNormalTexture = new Texture(textures.get(ResourceID.ButtonNormal)); mSelectedTexture = new Texture(textures.get(ResourceID.ButtonSelected)); mPressedTexture = new Texture(textures.get(ResourceID.ButtonPressed)); mSprite = new Sprite(mNormalTexture); mText = new Text("", fonts.get(FontID.Main), 16); mIsToggle = false; FloatRect bounds = mSprite.GetLocalBounds(); mText.Position = new Vector2f(bounds.Width / 2, bounds.Height / 2); }
public World(RenderWindow window) { mWindow = window; mWorldView = window.DefaultView; mWorldBounds = new IntRect(0, 0, (int)mWorldView.Size.X, 2000); //have to explcitly cast Size.X from float to int because of cast issues between IntRect and FloatRect later on mSpawnPosition = new Vector2f(mWorldView.Size.X / 2, mWorldBounds.Height - mWorldView.Size.Y); //original code is mWorldBounds.Height - mWorldView.Size, but caused error mScrollSpeed = -50; //this is not included in book but in source code mSceneLayers = new SceneNode[(int)Layer.LayerCount]; mTextures = new ResourceHolder<Texture, ResourceID>(); mSceneGraph = new SceneNode(); mPlayerAircraft = null; mCommandQueue = new CommandQueue(); mWorldView.Center = mSpawnPosition; loadTextures(); buildScene(); }
public GameApplication() { mWindow = new RenderWindow(new VideoMode(640, 480), "SFML App", Styles.Close); mWindow.SetKeyRepeatEnabled(false); mPlayer = new Player(); mTextures = new ResourceHolder<Texture, TextureID>(); mFonts = new ResourceHolder<Font, FontID>(); mFonts.load(FontID.Title, "Assets/KarmaFuture.ttf"); mStateStack = new StateStack(new Context(mWindow, mTextures, mFonts, mPlayer)); eventqueue = new Queue<Input.Event>(); registerStates(); mStateStack.pushState(StateID.Title); mWindow.Closed += onClosed; mWindow.GainedFocus += gainedFocus; mWindow.LostFocus += lostFocus; mWindow.KeyPressed += keyPressed; }
public Aircraft(Type type, ResourceHolder<Texture, ResourceID> textures, ResourceHolder<Font,FontID> fonts) :base(Table[(int)type].hitpoints) { mType = type; mSprite = new Sprite(textures.get(toTextureID(type))); FloatRect bounds = mSprite.GetLocalBounds(); mSprite.Origin = new Vector2f(bounds.Width / 2, bounds.Height / 2); TextNode healthDisplay = new TextNode(fonts, " "); ; mHealthDisplay = healthDisplay; attachChild(healthDisplay); mTravelledDistance = 0; mDirectionIndex = 0; mIsFiring = false; mIsLaunchingMissile = false; MissileAmmo = 3; mIsMarkedForRemoval = false; mFireCountdown = Time.Zero; mFireRateLevel = 1; mSpreadLevel = 1; mFireCommand = new Command(); mFireCommand.category = (uint)Category.PlayerAircraft; mFireCommand.actionfunc = (SceneNode node, Time time) => { SceneNode aircraft = (Aircraft)node; createBullets(aircraft, textures); }; mLaunchCommand = new Command(); }
public void createBullets(SceneNode node, ResourceHolder<Texture,ResourceID> textures) { Projectile.Type type = isAllied() ? Projectile.Type.AlliedBullet : Projectile.Type.EnemyBullet; switch (mSpreadLevel) { case 1: createProjectile(node, type, 0.0f, 0.5f, textures); break; case 2: createProjectile(node, type, -0.33f, 0.33f, textures); createProjectile(node, type, +0.33f, 0.33f, textures); break; case 3: createProjectile(node, type, -0.5f, 0.33f, textures); createProjectile(node, type, 0.0f, 0.5f, textures); createProjectile(node, type, +0.5f, 0.33f, textures); break; } }
public void createProjectile(SceneNode node, Projectile.Type type, float xOffset, float yOffset, ResourceHolder<Texture, ResourceID> textures) { Projectile projectile = new Projectile(type, textures); Vector2f offset = new Vector2f(xOffset * mSprite.GetGlobalBounds().Width, yOffset * mSprite.GetGlobalBounds().Height); Vector2f velocity = new Vector2f(0, projectile.getMaxSpeed()); float sign = isAllied() ? -1 : +1; projectile.Position = getWorldPosition() + offset * sign; projectile.setVelocity(velocity * sign); node.attachChild(projectile); }
public Project(Solution parent, string name, string fullFilename, string relativeFilename) { this.parent = parent; this.name = name; this.fullFilename = fullFilename; this.relativeFilename = relativeFilename; XmlDocument projectFile = new XmlDocument(); projectFile.Load(fullFilename); XmlNamespaceManager nsMgr = new XmlNamespaceManager(projectFile.NameTable); nsMgr.AddNamespace("x", "http://schemas.microsoft.com/developer/msbuild/2003"); XmlNodeList resourceNodes = projectFile.SelectNodes("/x:Project/x:ItemGroup/x:EmbeddedResource", nsMgr); Dictionary<string, ResourceHolder> holders = new Dictionary<string, ResourceHolder>(); foreach (XmlNode xmlNode in resourceNodes) { string dependentUpon = null; foreach (XmlNode childNode in xmlNode.ChildNodes) { if (childNode.Name == "DependentUpon") dependentUpon = childNode.InnerText; } XmlAttribute attribute = xmlNode.Attributes["Include"]; if (attribute != null) { if(!attribute.Value.EndsWith(".resx", StringComparison.OrdinalIgnoreCase)) continue; string baseFilename = attribute.Value.Substring(0, attribute.Value.Length - 5); ResourceHolder holder = new ResourceHolder(baseFilename, dependentUpon); holders.Add(baseFilename.ToLower(), holder); } } // Find the bases Dictionary<string, Resource> baseResources = new Dictionary<string, Resource>(); foreach (KeyValuePair<string, ResourceHolder> kvp in holders) { int dotIndex = kvp.Key.LastIndexOf('.'); if (dotIndex > -1) { string baseName = kvp.Key.Substring(0, dotIndex); ResourceHolder baseHolder; if (holders.TryGetValue(baseName, out baseHolder)) { // Found our base Resource baseResource; if (!baseResources.TryGetValue(baseName, out baseResource)) { // Create new baseResource = new Resource(Path.GetFileName(baseHolder.Filename), baseHolder.Filename, baseHolder.DependentUpon); baseResources.Add(baseName, baseResource); } string languageId = kvp.Value.Filename.Substring(baseName.Length + 1); parent.AddLanguage(languageId); baseResource.AddLanguageFile(languageId, Path.Combine( Path.Combine(parent.RootPath, Path.GetDirectoryName(relativeFilename)), kvp.Value.Filename + ".resx")); } else { // Specified language without a base resource file, ignore } } else { Resource baseResource; if (!baseResources.TryGetValue(kvp.Key, out baseResource)) { // Create new baseResource = new Resource(Path.GetFileName(kvp.Value.Filename), kvp.Value.Filename, kvp.Value.DependentUpon); baseResources.Add(kvp.Key, baseResource); } baseResource.AddLanguageFile(string.Empty, Path.Combine( Path.Combine(parent.RootPath, Path.GetDirectoryName(relativeFilename)), kvp.Value.Filename + ".resx")); } } this.resources = baseResources.Values.ToList(); }
public NoCachingScope() : base(CreateHolder()) { _myHolder = Holder; _isActive = true; }
public Label(string text, ResourceHolder<Font, FontID> fonts) { mText = new Text(text, fonts.get(FontID.Main), 16); }