private void LoadMonsters() { _monsters = new MonsterCollection("monsters.xml"); //buttons int idx = 0; const int firstMonsterButtonLeft = 429; const int firstMonsterButtonTop = 129; const int monstersInRow = 5; foreach (var monster in _monsters) { //create button var monsterButton = new System.Windows.Forms.Button(); monster.Button = monsterButton; monsterButton.Enabled = false; monsterButton.Image = System.Drawing.Image.FromFile(Path.Combine("Obrázky", monster.Thumbnail)); monsterButton.Location = new System.Drawing.Point(firstMonsterButtonLeft + ((idx % monstersInRow) * 86), firstMonsterButtonTop + ((idx / monstersInRow) * 86)); //TODO monsterButton.Name = "button" + monster.Id; monsterButton.Size = new System.Drawing.Size(80, 70); monsterButton.TabIndex = 20 + idx; monsterButton.Text = monster.Name; monsterButton.TextAlign = System.Drawing.ContentAlignment.BottomCenter; monsterButton.UseVisualStyleBackColor = true; monsterButton.Click += (sender, args) => FocusOrBuyAnimal(monster); this.Controls.Add(monsterButton); idx++; } }
public void CollisionCheck() { var gameObjectsToRemove = new HashSet <ILaneObject>(); foreach (var monster in MonsterCollection) { foreach (var bullet in BulletCollection) { if (monster.LanePosition <= bullet.LanePosition) { if (monster.Color == bullet.Color) { gameObjectsToRemove.Add(monster); // Killed a monster => scored Score.UpdateScore( Score.MonsterKilledPoints); } gameObjectsToRemove.Add(bullet); } } } // Remove the objects MonsterCollection.RemoveWhere( monster => gameObjectsToRemove.Contains(monster)); BulletCollection.RemoveWhere( bullet => gameObjectsToRemove.Contains(bullet)); }
// Start is called before the first frame update void Start() { coolTime = 9999999; startButton.gameObject.SetActive(true); monsterCollection = GameObject.FindGameObjectWithTag("MonsterCollection").GetComponent <MonsterCollection>(); rounds = new List <StageRound>(); MakeStage(); }
private MonsterCollection monsterCollection; // Récupérer le fichier MonsterCollection void Start() { XmlSerializer serial = new XmlSerializer(typeof(MonsterCollection)); //Sérialise et désérialise des objets dans des documents XML ou à partir de documents XML. XmlSerializer permet de contrôler le mode d'encodage des objets en langage XML. Stream stream = new FileStream(Application.dataPath + "/_SCRIPTS/XML/ReadXmlFile.xml", FileMode.Open); // permet de lire le fichier XML monsterCollection = (MonsterCollection)serial.Deserialize(stream); // ce qui est définie dans MonsterCollection est maintenant égal à ce qui est dans le XML Debug.Log(monsterCollection.Monsters[0].Name); Debug.Log(monsterCollection.Monsters[1].Defense); }
public void ChangeLanesLength(int newLength) { Length = newLength; // Remove all Bullets outside the lane MonsterCollection.RemoveWhere( monster => !IsInsideLane(monster)); // Remove all Bullets outside the lane BulletCollection.RemoveWhere( bullet => !IsInsideLane(bullet)); }
public void MoveMonsters() { foreach (var monster in MonsterCollection) { monster.LanePosition -= 1; if (!IsInsideLane(monster)) { MonsterCollection.Remove(monster); } } MonsterCollection.RemoveWhere( monster => !IsInsideLane(monster)); }
public void SpawnMonster(Monster monster) { monster.LanePosition = Length; // Check if the space is occupied by another bullet // Don't add the new one in this case. foreach (var otherMonster in MonsterCollection) { if (otherMonster.LanePosition == monster.LanePosition) { return; } } MonsterCollection.Add(monster); }
public void MakeAStory_When_Called_With_Story_Components_A_Single_Story_Is_Produced() { LootCollection fakeLootCollection = new LootCollection(); var LootList = new List <LootModel>(); LootList.Add(new LootModel("Loot", 10)); fakeLootCollection.Loot = LootList; var mockLootRepository = new Mock <IRepository>(); mockLootRepository .Setup(x => x.GetLootCollection()) .Returns(fakeLootCollection); var fakeMonsterCollection = new MonsterCollection(); var monsterList = new List <MonsterModel>(); monsterList.Add(new MonsterModel("Monster", 1, 1, 1, 10)); fakeMonsterCollection.Monsters = monsterList; var mockMonsterRepository = new Mock <IRepository>(); mockMonsterRepository .Setup(x => x.GetMonsterCollection()) .Returns(fakeMonsterCollection); var stubStoryElements = new StoryElements( new MonsterFactory(mockMonsterRepository.Object), new LootFactory(mockLootRepository.Object), new RoomFactory(1, 1)); stubStoryElements.CreateStoryElements(); var sut = new DungeonGenerator.StoryMaker(); var storyResult = sut.MakeAStory(stubStoryElements); var TestStory = $"You stand in a room 1' x 1'.\n" + $"On the far side of the room you see a Monster, \n" + $"guarding a Loot"; Assert.Equal(TestStory, storyResult); }
public void OnEnable() { _monsterCollection = AssetDatabase.LoadAssetAtPath <MonsterCollection>("Assets/ScriptableObjects/Monster/MonsterCollection.asset"); _root = rootVisualElement; var visualTree = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>("Assets/ScriptableObjects/Editor/MonsterEditor.uxml"); VisualElement labelFromUXML = visualTree.CloneTree(); _root.Add(labelFromUXML); _styleSheet = AssetDatabase.LoadAssetAtPath <StyleSheet>("Assets/ScriptableObjects/Editor/MonsterEditor.uss"); _defaultIcon = AssetDatabase.LoadAssetAtPath <Sprite>("Assets/Sprites/Skill_PlaceHolder.png"); _title = _root.Q("Title") as Label; _removeSkillButton = _root.Q("RemoveSkillButton") as Button; _removeSkillButton.clicked += RemoveSkill; _backToSkillsButton = _root.Q("BackToSkillsButton") as Button; _backToSkillsButton.clicked += BackToSkills; RefreshCollection(); }
public void MakeAStory_When_Called_With_A_Single_Monster_The_Singluar_Joining_Word_Will_Be_Used() { LootCollection fakeLootCollection = new LootCollection(); var LootList = new List <LootModel>(); LootList.Add(new LootModel("Loot", 10)); fakeLootCollection.Loot = LootList; var mockLootRepository = new Mock <IRepository>(); mockLootRepository .Setup(x => x.GetLootCollection()) .Returns(fakeLootCollection); var fakeMonsterCollection = new MonsterCollection(); var monsterList = new List <MonsterModel>(); monsterList.Add(new MonsterModel("Monster", 1, 1, 1, 10)); fakeMonsterCollection.Monsters = monsterList; var mockMonsterRepository = new Mock <IRepository>(); mockMonsterRepository .Setup(x => x.GetMonsterCollection()) .Returns(fakeMonsterCollection); var stubStoryElements = new StoryElements( new MonsterFactory(mockMonsterRepository.Object), new LootFactory(mockLootRepository.Object), new RoomFactory(10, 10)); stubStoryElements.CreateStoryElements(); var sut = new StoryMaker(); var storyResult = sut.MakeAStory(stubStoryElements); Assert.Contains("a Monster", storyResult); }