/// <summary> /// 保存物品 /// </summary> /// <param name="treasure">物品对象</param> public void SaveTreasure(Treasure treasure) { //获取当前操作的物品对象 var dbEntry = context.Treasures.Find(treasure.TreasureUID); //如果当前物品的GUID不存在,则新建 if (dbEntry == null) { context.Treasures.Add(treasure); } //否则就更新数据 else { //当前对象不为空,更新操作 if (dbEntry != null) { dbEntry.TreasureName = treasure.TreasureName ?? dbEntry.TreasureName; dbEntry.DetailContent = treasure.DetailContent ?? dbEntry.DetailContent; dbEntry.UpdateTime = DateTime.Now; dbEntry.TreasureType = treasure.TreasureType ?? dbEntry.TreasureType; dbEntry.TradeRange = treasure.TradeRange ?? dbEntry.TradeRange; dbEntry.Remarks = treasure.Remarks ?? dbEntry.Remarks; dbEntry.LocationProvince = treasure.LocationProvince ?? dbEntry.LocationProvince; dbEntry.LocationDistrict = treasure.LocationDistrict ?? dbEntry.LocationDistrict; dbEntry.LocationCity = treasure.LocationCity ?? dbEntry.LocationCity; dbEntry.DamageDegree = treasure.DamageDegree ?? dbEntry.DamageDegree; dbEntry.EditCount += 1; } } //保存更改 context.SaveChanges(); }
public async Task <IActionResult> PostTreasure([FromBody] Treasure treasure) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Treasure.Add(treasure); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (TreasureExists(treasure.Id)) { return(new StatusCodeResult(StatusCodes.Status409Conflict)); } else { throw; } } return(CreatedAtAction("GetTreasure", new { id = treasure.Id }, treasure)); }
void OnTriggerEnter2D(Collider2D collision) { if (Status == MiningMachineStatus.Drop) { if (collision.tag == "Wall") { Status = MiningMachineStatus.Drag; } else if (collision.tag == "Treasures") { Treasure treasure = collision.transform.GetComponentInParent <Treasure>(); float treasureHalfWidth = treasure.GetComponent <SpriteRenderer>().sprite.bounds.size.x * 0.5f; treasure.transform.position = hook.transform.position + hook.transform.right * treasureHalfWidth; treasure.transform.SetParent(hook.transform); DragTreasure = treasure; Status = MiningMachineStatus.Drag; } else if (collision.tag == "Chest") { Status = MiningMachineStatus.Drag; } } }
public Coin(Treasure.CoinNames name, string description, Treasure.Material typeOfMaterial, int quantityOfMaterial) { _name = name; _description = description; _typeOfMaterial = typeOfMaterial; _quantitiyOfMaterial = quantityOfMaterial; }
/// <summary> /// Gets the permanent data /// </summary> public void getData() { //Get quests quests = new List <Quest>(); string questsResult = SQL.Instance.executeQuery("select * from quest"); if (questsResult != "TRUE") { string[] questSplitResult = questsResult.Split('*'); foreach (string quest in questSplitResult) { quests.Add(JsonUtility.FromJson <Quest>(quest)); } } //Get players players.list = new List <Player>(); players = JsonUtility.FromJson <playerWrapper>(board.players); //Get treasure treasure = JsonUtility.FromJson <Treasure>(board.treasure); //Get layout layout = JsonUtility.FromJson <layoutWrapper>(board.layout); //Set map setMap(); //Assign quests to player defineQuests(); }
public void AddTreasureToMap_ShouldAddTreasureTileToMap() { Treasure treasure = new Treasure(1, 5, 5); TestMap.AddTreasureToMap(treasure); Assert.AreEqual(TileType.TREASURE, TestMap.TileMap[5, 5].tileType); }
public void SwpanTreasure() { float treasureX = Random.Range(transform.position.x + 1, transform.position.x + blockWidth - 1); float treasureY = Random.Range(transform.position.y - 1, transform.position.y - blockWidth + 1); Vector2 treasurePoistion = new Vector2(treasureX, treasureY); Treasure treasure = ((GameObject)Instantiate(Resources.Load("Item/Treasure"), treasurePoistion, Quaternion.identity)).GetComponent <Treasure>(); }
private void Update() { text.transform.LookAt(Camera.main.transform.position); if (clickCount == 3) { if (treasure.bombs > 0) { BombField.instance.Init(this, treasure); clickCount++; } else { GamePreferences.instance.oranges += treasure.oranges; GamePreferences.instance.reindeers += treasure.reindeers; GamePreferences.instance.SaveData(); //FindObjectOfType<Vuforia.VuforiaBehaviour>().enabled = true; Destroy(gameObject); var addTreasure = new Treasure { oranges = treasure.oranges, reindeers = treasure.reindeers, bombs = 1 + 2 * treasure.bombs }; AddManager.isntance.InitWatchAdd(addTreasure); } } }
public Treasure GenerateFor(Creature creature, int level) { var creatureName = GetCreatureNameForTreasure(creature.Name, creature.Description); var coinMultiplier = adjustmentSelector.Select<double>(TableNameConstants.TreasureAdjustments, creatureName, TreasureConstants.Coin); var goodsMultiplier = adjustmentSelector.Select<double>(TableNameConstants.TreasureAdjustments, creatureName, TreasureConstants.Goods); var itemsMultiplier = adjustmentSelector.Select<double>(TableNameConstants.TreasureAdjustments, creatureName, TreasureConstants.Items); var treasure = new Treasure(); treasure.Coin = coinGenerator.GenerateAtLevel(level); var rawQuantity = coinMultiplier * treasure.Coin.Quantity; treasure.Coin.Quantity = Convert.ToInt32(rawQuantity); while (booleanPercentileSelector.SelectFrom(goodsMultiplier--)) { var goods = goodsGenerator.GenerateAtLevel(level); treasure.Goods = treasure.Goods.Union(goods); } while (booleanPercentileSelector.SelectFrom(itemsMultiplier--)) { var items = itemsGenerator.GenerateAtLevel(level); treasure.Items = treasure.Items.Union(items); } var setTreasure = GetSetTreasure(creatureName, creature.Quantity); treasure.Items = treasure.Items.Union(setTreasure); return treasure; }
static void Main(string[] args) { #if (!DEBUG) AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); #endif Console.Title = ServerVersion.GetBuildString(); ConfigReader.OpenConfig(); CrossDomainPolicy.GetPolicy(); Database.OpenDatabase(); GameDataJson.ReadGamedata(); Map.OpenMap(); World.ReadWorldData(); Treasure.Init(); DroppedItems.Init(); WildHorse.Init(); Drawingroom.LoadAllDrawingRooms(); Brickpoet.LoadPoetryRooms(); Multiroom.CreateMultirooms(); Auction.LoadAllAuctionRooms(); Item.DoSpecialCases(); GameServer.StartServer(); while (true) { } ; }
public void Open() { Treasure treasure = Instantiate(_treasure, transform.position, Quaternion.identity).GetComponent <Treasure>(); treasure.Data = TreasureData; Destroy(gameObject); }
private void RandomiseBtn_Click(object sender, EventArgs e) { if (this.fParcel.MagicItemID != Guid.Empty) { MagicItem magicItem = Treasure.RandomMagicItem(this.fParcel.FindItemLevel()); if (magicItem != null) { this.fParcel.SetAsMagicItem(magicItem); } this.set_controls(); return; } if (this.fParcel.ArtifactID != Guid.Empty) { Artifact artifact = Treasure.RandomArtifact(this.fParcel.FindItemTier()); if (artifact != null) { this.fParcel.SetAsArtifact(artifact); } this.set_controls(); return; } int value = this.fParcel.Value; if (value == 0) { value = Treasure.GetItemValue(Session.Project.Party.Level); } this.fParcel = Treasure.CreateParcel(value, false); this.NameBox.Text = this.fParcel.Name; this.DetailsBox.Text = this.fParcel.Details; this.set_controls(); }
public ActionResult Create([Bind(Include = "TreasureID,Name,LocationID")] Treasure image) { // since we can uplaod just one file, we get the first one var file = Request.Files[0]; // save images in server root in treasures dir var filePath = file.FileName; var fullPath = Server.MapPath("~/treasures/") + file.FileName; LovNaZaklad_WebAPI.EmguCV.ImageComparer imgCompare = new EmguCV.ImageComparer(); float[] features = imgCompare.features(file.InputStream); // save features to database if (ModelState.IsValid) { db.Treasures.Add(new Treasure { Name = image.Name, Image = new Image { Path = filePath, Features = string.Join(" ", features) }, LocationID = image.LocationID }); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.LocationID = new SelectList(db.Locations, "LocationID", "Name", image.LocationID); return(View(image)); }
/// <summary> /// Calculates the level of the contained magic item. /// </summary> /// <returns>Returns the level.</returns> public int FindItemLevel() { MagicItem item = Session.FindMagicItem(fMagicItemID, SearchType.Global); if (item != null) { return(item.Level); } int index = Treasure.PlaceholderIDs.IndexOf(fMagicItemID); if (index != -1) { return(index + 1); } if (fValue > 0) { for (int level = 30; level >= 1; --level) { int value = Treasure.GetItemValue(level); if (value < fValue) { return(level); } } } return(-1); }
private void Update() { if (treasure == null) { treasure = FindObjectOfType <Treasure>(); } if (waveEnded) { StopWave(); } else if (cooldownEnded) { cooldownEnded = false; StartWave(currentWave + 1); } else if (gameEnded) { gameEnded = false; Debug.LogWarning("Game Set and Match"); ScoreText.text = "Congratulations!! Chester made it home!!"; EndgameUI.SetActive(true); eventSystem.SetSelectedGameObject(menuButton); } }
public async Task <IActionResult> PutTreasure([FromRoute] int id, [FromBody] Treasure treasure) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != treasure.Id) { return(BadRequest()); } _context.Entry(treasure).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TreasureExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
void randomise_parcel(Parcel parcel) { if (parcel.MagicItemID != Guid.Empty) { int level = parcel.FindItemLevel(); if (level != -1) { MagicItem new_item = Treasure.RandomMagicItem(level); if (new_item != null) { parcel.SetAsMagicItem(new_item); } } } else if (parcel.ArtifactID != Guid.Empty) { Tier tier = parcel.FindItemTier(); Artifact new_item = Treasure.RandomArtifact(tier); if (new_item != null) { parcel.SetAsArtifact(new_item); } } else { if (parcel.Value != 0) { parcel.Details = Treasure.RandomMundaneItem(parcel.Value); } } }
void Start() { m_PlayerTrans = gameObject.transform.parent; Input.location.Start(); Input.compass.enabled = true; m_Camera = GetComponent <Camera>(); startOrthoGraphicSize = m_Camera.orthographicSize; m_CameraBounds = GameObject.Find("CameraBoundsGlobal").GetComponent <BoxCollider2D>(); m_Min = m_CameraBounds.bounds.min; m_Max = m_CameraBounds.bounds.max; GameObject district = GameManager.s_Singleton.DistrictManager.GetDistrictByName(CurrentGame.Instance.GetMainSquare()); HeadDistrict hd = district.GetComponent <HeadDistrict>(); Treasure t = hd.transform.GetComponentInChildren <Treasure>(); m_headDistrictObject = t.gameObject; btnPos = GameObject.Find("BtnPosition").GetComponent <Button>(); btnPos.onClick.AddListener(ResetCameraPosition); hdPos = GameObject.Find("BtnMainSquare").GetComponent <Button>(); hdPos.onClick.AddListener(SetHdPosition); btnRot = GameObject.Find("BtnRotation").GetComponent <Button>(); btnRot.onClick.AddListener(ResetCameraRotation); }
private void Loose() { GamePreferences.instance.oranges -= treasure.oranges; GamePreferences.instance.reindeers -= treasure.reindeers; if (GamePreferences.instance.oranges < 0) { GamePreferences.instance.oranges = 0; } if (GamePreferences.instance.reindeers < 0) { GamePreferences.instance.reindeers = 0; } GamePreferences.instance.SaveData(); var exp = Instantiate(explosion, bombObj.transform.position, Quaternion.identity) as GameObject; Destroy(exp, 2); bombObj.transform.localScale = Vector3.zero; Invoke("DestroyedEnd", 2); treasure = null; }
public Task <Treasure> GetTreasure(Guid Tid) { Treasure treasure = db.Treasures .Where(t => t.Id.Equals(Tid)).FirstOrDefault(); return(Task.FromResult(treasure)); }
public void initializeTest() { instruct = new InstructionDto(); var advent1 = new Adventurer { PosX = 0, PosY = 0, MovementList = "A", Name = "Indiana", FinishMoving = false, PlayerOrientation = "S", Treasures = 0 }; var advent2 = new Adventurer { PosX = 3, PosY = 3, MovementList = "ADDGA", Name = "Shia", FinishMoving = false, PlayerOrientation = "O", Treasures = 0 }; instruct.adventurer = new List <IAdventurer> { advent1, advent2 }; instruct.mapSizeX = 5; instruct.mapSizeY = 5; var mountain = new Mountain(1, 1) { GotAdventurer = false, tileType = TileType.MOUNTAIN }; var treasure = new Treasure(2, 2, 2) { GotAdventurer = false, tileType = TileType.TREASURE }; instruct.tiles = new List <ITile> { mountain, treasure }; map = new Map(5, 5); loopClassTest = new LoopClass(map); //Assert }
public Game(IMonsterFactory factory) { gamer = new Hero(); // герой, за которого играем //Список комнат в локации Room[] rooms = new Room[] { new Room(), new Room(), new Room() }; //Список сокровищ в локации Treasure[] treasures = new Treasure[] { new Treasure(), new Treasure(), new Treasure() }; IMonster[] monsters = new IMonster[50]; // Список монстров в локации for (int i = 0; i < monsters.Length; i++) { monsters[i] = factory.Create(); // задаем тип монстра } location = new Dangeon(monsters, rooms, treasures); // инициализация игровой локации }
public Layer CreateLayer(LayersInfo info, int depth, int skip, bool forceTreasure) { var layer = new DirtLayer(); Sprite sprite = default; if (depth == 0) { sprite = info.TopVariants.GetRandomElement(); } else if (depth == _maxDepth - 1) { sprite = info.BottomVariants.GetRandomElement(); } else { sprite = info.MiddleVariants.GetRandomElement(); } if (depth != 0) { if (forceTreasure || (skip == 0 && Random.Range(0f, 1f) < info.TreasureProbability)) { var treasure = new Treasure(); treasure.Initialize(info.TreasureVariants.GetRandomElement(), _treasurePool.GetTreasure); layer.SetTreasure(treasure); } } var color = info.DepthGradient.Evaluate((float)depth / _maxDepth); layer.Initialize(sprite, color, depth == _maxDepth - 1); return(layer); }
public void Awake() { #if UNITY_EDITOR totalValue = 300; #endif collectedValue = 0; interactable = false; warningPresent = true; I = this; LocationManager.Exit += OnExit; List <Spawn> spawns; treasures = new List <Treasure>(); // Split up treasure spawns = new List <Spawn>(treasureSpawns.GetComponentsInChildren <Spawn>()); spawns.Shuffle(); treasures = new List <Treasure>(spawns.Count); foreach (Spawn spawn in spawns) { // Pick value based on leftover value int value; if (totalValue > 150) { value = Random.Range(150, 250); } else if (totalValue > 50) { value = Mathf.Min(Random.Range(50, 100), totalValue - Random.Range(1, 50)); } else { value = totalValue; } // Spawn if (totalValue > 0) { Treasure treasure = Instantiate(treasurePrefab); treasure.value = value; treasure.transform.SetParent(transform, false); treasure.transform.position = spawn.transform.position; // Add to list treasures.Add(treasure); // Subtract value totalValue -= value; } } // Warning sign spawns = new List <Spawn>(warningSignSpawns.GetComponentsInChildren <Spawn>()); spawns.Shuffle(); _warningSign = Instantiate(warningSignPrefab); _warningSign.name = warningSignPrefab.name; _warningSign.transform.SetParent(transform, false); _warningSign.transform.position = spawns[0].transform.position; // Start off screen transform.localPosition = Vector3.right * 10f; }
private void OnLevelInitialized() { _playerDie = FindObjectOfType <PlayerDie>(); _treasure = FindObjectOfType <Treasure>(); _playerDie.PlayerDied += OnPlayerDied; _treasure.TreasureCollected += OnTreasureCollected; }
public void SetAsMagicItem(MagicItem item) { this.fName = item.Name; this.fDetails = item.Description; this.fMagicItemID = item.ID; this.fArtifactID = Guid.Empty; this.fValue = Treasure.GetItemValue(item.Level); }
/// <summary> /// Initialises the class. /// </summary> private void Start() { GameObject district = GameManager.s_Singleton.DistrictManager.GetDistrictByName(CurrentGame.Instance.GetMainSquare()); HeadDistrict hd = district.GetComponent <HeadDistrict>(); Treasure t = hd.transform.GetComponentInChildren <Treasure>(); m_headDistrictObject = t.gameObject; }
public TreasureDetailsPage(Game game, Treasure treasure) { ViewModel.Treasure = treasure; ViewModel.SetGame(game); InitializeComponent(); heroImage.GestureRecognizers.Add(new TapGestureRecognizer((obj) => HeroImageClicked())); }
private static Treasure[] InitTreasures() { Treasure[] result = new Treasure[COUNT_TREASURES]; //создать oбъекты каждого сокровища return(result); }
public void Init(Gift gift, Treasure treasure) { this.treasure = treasure; this.gift = gift; progress = startProgress; print("Init!"); }
public void AcquireTreasure(Treasure treasure) { ModifyGold(treasure.GetGold()); ModifyHealth(treasure.GetHealth()); ModifySanity(treasure.GetSanity()); ModifyAttack(treasure.GetAttack()); ModifyDieStrength(treasure.GetDieStrength()); }
public void Initialize(Dice dice) { Dice = dice; HitPointDice = Dice.Roll(HitPointDiceRollEvent); CurrentHitPoints = MaxHitPoints; Treasure = Treasure.Create(dice, TreasureType); }
// TODO Sprint 3 Mod 05b - modify the ConsoleView constructor to accept the treasure object /// <summary> /// constructor to create the console view, send all major data objects /// </summary> /// <param name="myPlayer">active player object</param> /// <param name="hall">current hall object</param> /// <param name="hall">current guest list object</param> public ConsoleView(Player myPlayer, Hall hall, GuestList guests, StaffList staff, Treasure treasure) { _myPlayer = myPlayer; _hall = hall; _guestList = guests; _staffList = staff; _treasure = treasure; InitializeConsoleWindow(); }
public Treasure(DataRow data, Treasure parent = null) { Parent = parent; Name = data["treasureClass"].ToString(); NoDrop = 100 - (float) data["noDrop"]; PickType = (PickTypes) data["pickType"]; SpawnCondition = (Bitmask01) data["spawnCondition"]; Difficulty = (int) data["gameModeRestriction1"]; for (var i = 0; i < 8; i++) Drops.Add(GetDropClass(data, i + 1)); }
public bool startTurn() { iteration++; int count = 0; count = Client.getPirateCount(connection); pirates = new Pirate[count]; for(int i = 0; i < count; i++) { pirates[i] = new Pirate(Client.getPirate(connection, i)); } count = Client.getPlayerCount(connection); players = new Player[count]; for(int i = 0; i < count; i++) { players[i] = new Player(Client.getPlayer(connection, i)); } count = Client.getPortCount(connection); ports = new Port[count]; for(int i = 0; i < count; i++) { ports[i] = new Port(Client.getPort(connection, i)); } count = Client.getShipCount(connection); ships = new Ship[count]; for(int i = 0; i < count; i++) { ships[i] = new Ship(Client.getShip(connection, i)); } count = Client.getTileCount(connection); tiles = new Tile[count]; for(int i = 0; i < count; i++) { tiles[i] = new Tile(Client.getTile(connection, i)); } count = Client.getTreasureCount(connection); treasures = new Treasure[count]; for(int i = 0; i < count; i++) { treasures[i] = new Treasure(Client.getTreasure(connection, i)); } if(!initialized) { initialized = true; init(); } return run(); }
public void AddTreasure(Treasure myTreasure) { //Ran by anything with the Treasure componenet, this will sort them and add them to the appropriate scripts switch (myTreasure._treasureType){ case TreasureType.blue: blueTreasure.Add (myTreasure); break; case TreasureType.red: redTreasure.Add (myTreasure); break; case TreasureType.green: greenTreasure.Add (myTreasure); break; case TreasureType.yellow: yellowTreasure.Add (myTreasure); break; } }
public void GenerateHiddenContainedTreasure() { selectedContents.Contents.Miscellaneous = new[] { ContentsTypeConstants.Treasure }; var generatedTreasure = new Treasure(); mockTreasureGenerator.Setup(g => g.GenerateAtLevel(9266)).Returns(generatedTreasure); mockPercentileSelector.Setup(s => s.SelectFrom(TableNameConstants.TreasureContainers)).Returns("container"); mockPercentileSelector.Setup(s => s.SelectFrom(TableNameConstants.TreasureConcealment)).Returns("peek-a-boo"); var contents = contentsGenerator.Generate(9266); Assert.That(contents.IsEmpty, Is.False); Assert.That(contents.Miscellaneous.Single(), Is.EqualTo(ContentsTypeConstants.Treasure)); var treasure = contents.Treasures.Single(); Assert.That(treasure.Treasure, Is.EqualTo(generatedTreasure)); Assert.That(treasure.Container, Is.EqualTo("container")); Assert.That(treasure.Concealment, Is.EqualTo("peek-a-boo")); }
private void GiveTreasure(int playerId, Treasure treasure) { // Treasure may have coins if (treasure.Coins > 0) { eventManager.QueueEvent(EventType.GiveCoins, new GiveCoinsEventArgs(playerId, treasure.Coins)); } // Treasure may have equipment if (treasure.Equipment != null) { eventManager.QueueEvent(EventType.GiveEquipment, new GiveEquipmentEventArgs(playerId, treasure.Equipment.Id, true)); } if (treasure.IsTreasureCache) { // If treasure is a cache GiveTreasure(playerId, gameState.getTreasures(1, treasure.Rarity).First()); } else { return; // We are done here! } }
// TODO Sprint 3 Mod 02b - add a method to initialze the game treasure types /// <summary> /// intitialize the type of treasures in the game /// </summary> public void InitializeTreasures() { _treasures = new Treasure(); // TODO Sprint 3 Mod 06 - initialize the coin types Coin goldCoin = new Coin( "Small Gold Coin", "Gold coin with the Kings's face on one side and the Castle Wilhelm on the other side.", Treasure.Material.Gold, 1); Coin silverCoin = new Coin( "Samll Silver Coin", "Silver coin with the Queen's face on one side and the River Thomes on the other side.", Treasure.Material.Silver, 1); Coin bronzeCoin = new Coin( "Small Bronze Coin", "Bronze coin with the Prince's face on one side and Mount Fidoria on the other side.", Treasure.Material.Bronze, 1); _treasures.CoinTypes.Add(goldCoin); _treasures.CoinTypes.Add(silverCoin); _treasures.CoinTypes.Add(bronzeCoin); }
public Equipment() { Treasure = new Treasure(); }
private bool Simplify(Treasure treasure) { Treasure last = null; var doSimplify = false; foreach (var drop in treasure.Drops) { if (drop.Type == 0) continue; if (!(drop.Content is Treasure)) break; if (last != null) { if (drop.Content.Equals(last)) { doSimplify = true; continue; } if (doSimplify) { treasure.Drops.Remove(drop); treasure.Parent.Drops.Add(drop); return false; } } last = (Treasure) drop.Content; } if (doSimplify) { Drop lastDrop = null; foreach (var drop in treasure.Drops) { var t = drop.Content as Treasure; if (t == null) break; if (lastDrop != null) if (!(drop.Equals(lastDrop))) { lastDrop = drop; continue; } lastDrop = drop; switch (t.Difficulty) { case 0: treasure.NormalChance = t.NoDrop; break; case 1: treasure.NightmareChance = t.NoDrop; break; case 2: treasure.HellChance = t.NoDrop; break; } treasure.Drops = ((Treasure) drop.Content).Drops; } } return true; }
public void NPCIsHalfLevel(int npcLevel, int effectiveLevel) { characterClass.Level = npcLevel; characterClass.Name = "class name"; npcs.Add(characterClass.Name); var npcTreasure = new Treasure(); mockTreasureGenerator.Setup(g => g.GenerateAtLevel(effectiveLevel)).Returns(npcTreasure); var equipment = equipmentGenerator.GenerateWith(feats, characterClass, race); Assert.That(equipment.Treasure, Is.EqualTo(npcTreasure)); }
public void GetTreasureForAllCreatures() { encounterTypeAndAmount["other creature"] = "other creature amount"; mockRollSelector.Setup(s => s.SelectFrom("other creature amount", 9876)).Returns("other effective roll"); mockDice.Setup(d => d.Roll("other effective roll")).Returns(600); var otherTreasure = new Treasure(); otherTreasure.Coin.Quantity = 1337; mockEncounterTreasureGenerator.Setup(g => g.GenerateFor(It.Is<Creature>(c => c.Name == "other creature"), level)).Returns(otherTreasure); var encounter = encounterGenerator.Generate(environment, level, temperature, timeOfDay); Assert.That(encounter, Is.Not.Null); Assert.That(encounter.Treasures, Contains.Item(treasure)); Assert.That(encounter.Treasures, Contains.Item(otherTreasure)); Assert.That(encounter.Treasures.Count, Is.EqualTo(2)); }
public void Setup() { mockTypeAndAmountPercentileSelector = new Mock<ITypeAndAmountPercentileSelector>(); mockRollSelector = new Mock<IRollSelector>(); mockPercentileSelector = new Mock<IPercentileSelector>(); mockCollectionSelector = new Mock<ICollectionSelector>(); mockDice = new Mock<Dice>(); mockEncounterCharacterGenerator = new Mock<IEncounterCharacterGenerator>(); mockEncounterTreasureGenerator = new Mock<IEncounterTreasureGenerator>(); mockFilterVerifier = new Mock<IFilterVerifier>(); mockCreatureCollectionSelector = new Mock<IEncounterCollectionSelector>(); encounterGenerator = new EncounterGenerator(mockTypeAndAmountPercentileSelector.Object, mockRollSelector.Object, mockPercentileSelector.Object, mockCollectionSelector.Object, mockDice.Object, mockEncounterCharacterGenerator.Object, mockEncounterTreasureGenerator.Object, mockFilterVerifier.Object, mockCreatureCollectionSelector.Object); encounterLevelAndModifier = new Dictionary<string, string>(); encounterTypeAndAmount = new Dictionary<string, string>(); requiresSubtype = new List<string>(); level = 9266; environment = "environment"; temperature = "temperature"; timeOfDay = "time of day"; encounterLevelAndModifier["90210"] = "9876"; encounterTypeAndAmount["creature"] = "creature amount"; treasure = new Treasure(); treasure.Coin.Quantity = 8765; var tableName = string.Format(TableNameConstants.LevelXEncounterLevel, level); mockTypeAndAmountPercentileSelector.Setup(s => s.SelectFrom(tableName)).Returns(encounterLevelAndModifier); mockCreatureCollectionSelector.Setup(s => s.SelectFrom(90210, environment, temperature, timeOfDay)).Returns(encounterTypeAndAmount); mockCreatureCollectionSelector.Setup(s => s.SelectAllFrom(level, environment, temperature, timeOfDay)).Returns(new[] { encounterTypeAndAmount }); mockRollSelector.Setup(s => s.SelectFrom("creature amount", 9876)).Returns("effective roll"); mockDice.Setup(d => d.Roll(It.IsAny<string>())).Returns((string s) => ParseRoll(s)); mockDice.Setup(d => d.Roll("effective roll")).Returns(42); mockCollectionSelector.Setup(s => s.SelectFrom(TableNameConstants.CreatureGroups, GroupConstants.RequiresSubtype)).Returns(requiresSubtype); mockCollectionSelector.Setup(s => s.SelectRandomFrom(It.IsAny<IEnumerable<string>>())).Returns((IEnumerable<string> c) => c.Last()); mockFilterVerifier.Setup(v => v.FiltersAreValid(environment, level, temperature, timeOfDay)).Returns(true); mockFilterVerifier.Setup(v => v.EncounterIsValid(It.IsAny<Dictionary<string, string>>(), It.IsAny<int>())).Returns(true); mockEncounterTreasureGenerator.Setup(g => g.GenerateFor(It.Is<Creature>(c => c.Name == "creature"), level)).Returns(treasure); mockEncounterTreasureGenerator.Setup(g => g.GenerateFor(It.Is<Creature>(c => c.Name != "creature"), level)).Returns(() => new Treasure()); }
public void PlayerCharacterIsFullLevel(int level, int effectiveLevel) { characterClass.Level = level; characterClass.Name = "class name"; npcs.Add("npc class"); var playerTreasure = new Treasure(); mockTreasureGenerator.Setup(g => g.GenerateAtLevel(effectiveLevel)).Returns(playerTreasure); var equipment = equipmentGenerator.GenerateWith(feats, characterClass, race); Assert.That(equipment.Treasure, Is.EqualTo(playerTreasure)); }
public void Setup() { mockWeaponGenerator = new Mock<IWeaponGenerator>(); mockCollectionsSelector = new Mock<ICollectionsSelector>(); mockArmorGenerator = new Mock<IArmorGenerator>(); mockTreasureGenerator = new Mock<ITreasureGenerator>(); generator = new ConfigurableIterationGenerator(3); equipmentGenerator = new EquipmentGenerator(mockCollectionsSelector.Object, mockWeaponGenerator.Object, mockTreasureGenerator.Object, mockArmorGenerator.Object, generator); feats = new List<Feat>(); characterClass = new CharacterClass(); meleeWeapon = new Item(); rangedWeapon = new Item(); baseRangedWeaponTypes = new List<string>(); armor = new Item(); treasure = new Treasure(); race = new Race(); shieldProficiencyFeats = new List<string>(); weaponProficiencyFeats = new List<string>(); npcs = new List<string>(); characterClass.Level = 9266; meleeWeapon.Name = "melee weapon"; meleeWeapon.ItemType = ItemTypeConstants.Weapon; meleeWeapon.Attributes = new[] { AttributeConstants.Melee }; rangedWeapon.Name = "ranged weapon"; rangedWeapon.ItemType = ItemTypeConstants.Weapon; rangedWeapon.Attributes = new[] { "not melee" }; armor.Name = "armor"; armor.ItemType = ItemTypeConstants.Armor; baseRangedWeaponTypes.Add("base ranged weapon"); treasureItem = new Item { Name = "treasure item" }; treasure.Items = new[] { treasureItem }; mockWeaponGenerator.Setup(g => g.GenerateFrom(feats, characterClass, race)).Returns(meleeWeapon); mockWeaponGenerator.Setup(g => g.GenerateRangedFrom(feats, characterClass, race)).Returns(rangedWeapon); mockWeaponGenerator.Setup(g => g.GenerateMeleeFrom(feats, characterClass, race)).Returns(meleeWeapon); mockArmorGenerator.Setup(g => g.GenerateArmorFrom(feats, characterClass, race)).Returns(armor); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, It.IsAny<string>())).Returns((String table, String name) => new[] { name }); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, rangedWeapon.Name)).Returns(baseRangedWeaponTypes); mockTreasureGenerator.Setup(g => g.GenerateAtLevel(9266)).Returns(treasure); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.FeatGroups, AttributeConstants.Shield + GroupConstants.Proficiency)) .Returns(shieldProficiencyFeats); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.FeatGroups, ItemTypeConstants.Weapon + GroupConstants.Proficiency)) .Returns(weaponProficiencyFeats); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ClassNameGroups, GroupConstants.NPCs)) .Returns(npcs); }
public void Setup() { mockPercentileSelector = new Mock<IPercentileSelector>(); mockEncounterGenerator = new Mock<IEncounterGenerator>(); mockTreasureGenerator = new Mock<ITreasureGenerator>(); poolGenerator = new DomainPoolGenerator(mockPercentileSelector.Object, mockEncounterGenerator.Object, mockTreasureGenerator.Object); selectedPool = string.Empty; encounter = new Encounter(); treasure = new Treasure(); mockPercentileSelector.Setup(s => s.SelectFrom(TableNameConstants.Pools)).Returns(() => selectedPool); mockEncounterGenerator.Setup(g => g.Generate(EnvironmentConstants.Dungeon, 9266, "temperature", EnvironmentConstants.TimesOfDay.Night)).Returns(encounter); mockTreasureGenerator.Setup(g => g.GenerateAtLevel(9266)).Returns(treasure); }
public DungeonTreasure() { Container = string.Empty; Treasure = new Treasure(); Concealment = string.Empty; }
void InitTreasure() { InitGame(); treasures=new Treasure[row,col]; List<int> randomN=new List<int>(); for(int i=0;i<row*col;i++){ randomN.Add(i); treasures[i/col,i%col]=new Treasure(); unFindTreasure.Add(i); } for(int i=0;i<maxNOfTreasure;i++){ int seed=UnityEngine.Random.Range(0,randomN.Count-1); treasures[randomN[seed]/col,randomN[seed]%col].isTreasure=1; randomN.Remove(randomN[seed]); } for(int i=0;i<row;i++){ for(int j=0;j<col;j++){ int num=0; treasures[i,j].surround=getSurroundTreasure(i,j); for(int k=0;k<treasures[i,j].surround.Count;k++){ int x=treasures[i,j].surround[k].x; int y=treasures[i,j].surround[k].y; num+=treasures[x,y].isTreasure; } if(treasures[i,j].isTreasure==0){ treasures[i,j].num=num; treasures[i,j].numRemain=num; } } } }