/** 初始化秘宝 */ public void initMagicWeaponButton(GameObject gameObj, MagicWeapon magicWeap, int index) { GameObject obj = NGUITools.AddChild(gameObj, goodsViewPrefab); obj.transform.localScale = new Vector3(1.4f, 1.4f, 1); GoodsView goods = obj.GetComponent <GoodsView>(); goods.fatherWindow = this; goods.linkQualityEffectPoint(); goods.init(magicWeap); goods.onClickCallback = goods.DefaultClickEvent; //goods.onClickCallback = () => { // TweenAlpha lname = TweenAlpha.Begin(gameObject, 1f, 0); // lname.from = 1; // UiManager.Instance.openWindow<MagicWeaponStrengWindow>((win) => { // win.Initialize(magicWeap, EquipAttrWindow.OTHER, () => { // lname = TweenAlpha.Begin(gameObject, 1.5f, 1); // lname.from = 0; // }); // }); //}; if (cardName != null) { string color = QualityManagerment.getQualityColor(magicWeap.getMagicWeaponQuality()); cardName.text = color + magicWeap.getName() + "[-]"; GameObject card_name = NGUITools.AddChild(obj, cardName.gameObject); card_name.transform.localScale = new Vector3(0.8f, 0.8f, 1); card_name.transform.localPosition = new Vector3(0, -70, 0); card_name.SetActive(true); } }
public void init(PrizeSample prize, int state, int dayNum, int sid, int type) { this.count = StringKit.toInt(prize.num); this.signState = state; this.prize = prize; this.dayOfMonth = dayNum; this.sid = sid; this.type = type; if (prize.type == PrizeType.PRIZE_CARD) { card = CardManagerment.Instance.createCard(prize.pSid); } else if (prize.type == PrizeType.PRIZE_EQUIPMENT) { equip = EquipManagerment.Instance.createEquip(prize.pSid); } else if (prize.type == PrizeType.PRIZE_MAGIC_WEAPON) { magicWeapon = MagicWeaponManagerment.Instance.createMagicWeapon(prize.pSid); } else if (prize.type == PrizeType.PRIZE_PROP) { prop = PropManagerment.Instance.createProp(prize.pSid); } else if (prize.type == PrizeType.PRIZE_STARSOUL) { starSoul = StarSoulManager.Instance.createStarSoul(prize.pSid); } UpdateInfo(); }
//设置创建按钮信息 private void setCreatButton(PrizeSample _prize) { if (_prize == null) { return; } else { prize = _prize; icon.gameObject.SetActive(false); back.spriteName = QualityManagerment.qualityIDToIconSpriteName(_prize.getQuality()); count = StringKit.toInt(prize.num); if (prize.type == PrizeType.PRIZE_CARD) { card = CardManagerment.Instance.createCard(prize.pSid); } else if (prize.type == PrizeType.PRIZE_EQUIPMENT) { equip = EquipManagerment.Instance.createEquip(prize.pSid); } else if (prize.type == PrizeType.PRIZE_MAGIC_WEAPON) { magicWeapon = MagicWeaponManagerment.Instance.createMagicWeapon(prize.pSid); } else if (prize.type == PrizeType.PRIZE_PROP) { prop = PropManagerment.Instance.createProp(prize.pSid); } else if (prize.type == PrizeType.PRIZE_STARSOUL) { starSoul = StarSoulManager.Instance.createStarSoul(prize.pSid); } updateInfo(); } }
private static void RollRangedAbilityTwice(MagicWeapon baseWeapon) { int abilityRoll = MagicItemCreation.Instance.Dices.d100(); WeaponSpecialAbilitiesTableLine firstAbility = RangedWeaponSpecialAbilitiesTable.GetLineFromDice(abilityRoll, baseWeapon.Quality); if (baseWeapon.Abilities == null) { baseWeapon.Abilities = new List <String>(); } baseWeapon.Abilities.Add(firstAbility.Name); baseWeapon.BasePriceModifier = firstAbility.BaseAlterationModifier; if (baseWeapon.BasePriceModifier + baseWeapon.AlterationBonus == 10) //arme +5 avec vorpal { return; } WeaponSpecialAbilitiesTableLine secondAbility; do { abilityRoll = MagicItemCreation.Instance.Dices.d100(); secondAbility = RangedWeaponSpecialAbilitiesTable.GetLineFromDice(abilityRoll, baseWeapon.Quality); } while (secondAbility.Modify != null || //On reroll tant qu'on tombe sur un cas particulier secondAbility == firstAbility || //ou sur la meme capa !AbilitiesAreCompatible(firstAbility, secondAbility) || //ou sur une capa incompatible (baseWeapon.AlterationBonus + firstAbility.BaseAlterationModifier + secondAbility.BaseAlterationModifier) > 10); //ou encore que le total des alterations dépasse +10 baseWeapon.Abilities.Add(secondAbility.Name); baseWeapon.BasePriceModifier += secondAbility.BaseAlterationModifier; }
static void Main() { var monster1 = new Monster { Name = "monster1", HP = 100 }; var monster2 = new Monster { Name = "monster2", HP = 200 }; var monster3 = new Monster { Name = "monster3", HP = 300 }; var woodWeapon = new WoodWeapon(); var ironWeapon = new IronWeapon(); var magicWeapon = new MagicWeapon(); var role = new Role(woodWeapon); role.Attact(monster1); role.Attact(monster1); role.Attact(monster1); role.Attact(monster1); role.Attact(monster1); role.Attact(monster1); role.Attact(monster1); role.Attact(monster1); }
public void AddingAMagicDecoratorIncreasesValueBasedOnModifier() { var sword = new Weapon(); var magicSword = new MagicWeapon(sword, 2); Assert.Equal(magicSword.Value, 800000); //Based on magic-weapon-value.yml }
public void MinorWeaponWithOneSpecialAbility() { //On prepare les jets : // 7 -> Weapon // 93 -> Special ability // 78 -> Arme +2 qui coute 8000 po // 89 -> capa "Throwing" qui fait +1, donc arme +2 qui coute 18000 MockDices dices = new MockDices(new List <int> { 7, 93, 78, 89 }); //Utilisation des dés pipés :P MagicItemCreation.Instantiate(dices); //Portee = melee Range chosenRange = Range.Melee; MagicItemCreation.Instance.ChosenRange = chosenRange; //Creation MagicItem item = MagicItemCreation.Instance.Create(ItemQuality.Minor); item.GetType().Should().Be(typeof(MagicWeapon)); MagicWeapon weapon = item as MagicWeapon; weapon.Quality.Should().Be(ItemQuality.Minor); weapon.Type.Should().Be(ItemType.Weapon); weapon.Price.Should().Be(18000); weapon.AlterationBonus.Should().Be(2); weapon.Abilities.Should().NotBeNull(); weapon.Abilities.Count.Should().Be(1); weapon.Abilities[0].Should().Be("Throwing"); weapon.Range.Should().Be(chosenRange); }
public void CheckMinorWeapon() { //On prepare les jets : // 7 -> Weapon // 73 -> arme +2 à 8000po MockDices dices = new MockDices(new List <int> { 7, 73 }); //Utilisation des dés pipés :P MagicItemCreation.Instantiate(dices); //Portee = melee Range chosenRange = Range.Melee; MagicItemCreation.Instance.ChosenRange = chosenRange; //Creation MagicItem item = MagicItemCreation.Instance.Create(ItemQuality.Minor); item.GetType().Should().Be(typeof(MagicWeapon)); MagicWeapon weapon = item as MagicWeapon; weapon.Quality.Should().Be(ItemQuality.Minor); weapon.Type.Should().Be(ItemType.Weapon); weapon.Price.Should().Be(8000); weapon.AlterationBonus.Should().Be(2); weapon.Abilities.Should().BeNull(); weapon.Range.Should().Be(chosenRange); }
private ExchangeSample magicExSamle; //神器兑换模板 public void init(Exchange ex) { ExchangeSample sample = ex.getExchangeSample(); this.magicExSamle = sample; //按钮显示判断 int count = ExchangeManagerment.Instance.getCanExchangeNum(ex); if (count <= 0) { buttonExchange.disableButton(true); } else { buttonExchange.disableButton(false); } //数量9240c numLabel.text = "[92400c]" + LanguageConfigManager.Instance.getLanguage("store03") + "[-]" + EquipScrapManagerment.Instance.getNumString(sample); //存信息到兑换按钮 buttonExchange.fatherWindow = fawin; buttonExchange.updateButton(ex); //显示装备 if (sample.exType == 8) { MagicWeapon nw = MagicWeaponManagerment.Instance.createMagicWeapon(sample.exchangeSid); magicW = nw; nameLabel.text = QualityManagerment.getQualityColor(nw.getMagicWeaponQuality()) + nw.getName(); if (button == null) { item = NGUITools.AddChild(gameObject, goodsViewPrefab); item.name = "goodsView"; button = item.GetComponent <GoodsView>(); button.onClickCallback = showMagicWeapon; } if (button != null && nw != null) { button.init(nw); button.fatherWindow = fawin; button.rightBottomText.text = ""; } } else { Equip equip = EquipManagerment.Instance.createEquip(sample.exchangeSid); //名称 nameLabel.text = QualityManagerment.getQualityColor(equip.getQualityId()) + equip.getName();; if (button == null) { item = NGUITools.AddChild(gameObject, goodsViewPrefab); item.name = "goodsView"; button = item.GetComponent <GoodsView>(); } if (button != null && equip != null) { button.init(equip); button.fatherWindow = fawin; button.rightBottomText.text = ""; } } }
//发送购买通信格式转换 private string change(ArrayList list) { string strCard = "card"; string strEquip = "equipment"; string strMagic = "artifact"; string strsp = "goods"; cardofHaveStarSoul = new ArrayList(); for (int i = 0; i < list.Count; i++) { if (list [i] is Card) { if ((list [i] as Card).getStarSoulByAll() != null && ((list [i] as Card).getStarSoulByAll()).Length > 0) { cardofHaveStarSoul.Add(list [i] as Card); } strCard += "," + (list [i] as Card).uid; } else if (list [i] is Equip) { strEquip += "," + (list [i] as Equip).uid; } else if (list[i] is MagicWeapon) { MagicWeapon ms = list[i] as MagicWeapon; strMagic += "," + ms.uid; } } return(strCard + "|" + strEquip + "|" + strMagic + "|" + strsp); }
public void changeButton() { List <PrizeSample> awardList = new List <PrizeSample> (); awardList.Clear(); for (int i = 0; i < selectList.Count; i++) { if (selectList [i] is Card) { Card card = selectList[i] as Card; PrizeSample[] prizeSamples = card.getResolveResults(); if (prizeSamples != null) { for (int j = 0; j < prizeSamples.Length; j++) { awardList.Add(prizeSamples[j]); } } } if (selectList [i] is Equip) { Equip equip = selectList[i] as Equip; PrizeSample[] prizeSamples = equip.getResolveResults(); if (prizeSamples != null) { for (int j = 0; j < prizeSamples.Length; j++) { awardList.Add(prizeSamples[j]); } } } if (selectList[i] is MagicWeapon) { MagicWeapon ms = selectList[i] as MagicWeapon; PrizeSample[] prizeSamples = ms.getReSourcePrizes(); if (prizeSamples != null) //固定的奖励 { for (int j = 0; j < prizeSamples.Length; j++) { awardList.Add(prizeSamples[j]); } } } } updateInfo(awardList); for (int i = 0; i < resolveEffect.iconText.Length; i++) { if (resolveEffect.iconText [i].text.Contains("+")) { buttonSell.disableButton(false); break; } else if (i == resolveEffect.iconText.Length - 1) { buttonSell.disableButton(true); } } }
//0道具,1装备,2卡片 3,神器 private GameObject CreateGoodsItem(int sid, int count, int type) { GameObject obj = NGUITools.AddChild(awardContent, goodsViewPrefab) as GameObject; obj.SetActive(false); GoodsView view = obj.transform.GetComponent <GoodsView> (); view.linkQualityEffectPoint(); view.fatherWindow = this; if (type == 0) { Prop p = PropManagerment.Instance.createProp(sid, count); view.init(p); } else if (type == 1) { Equip e = EquipManagerment.Instance.createEquip(sid); view.init(e); view.onClickCallback = () => { hideWindow(); UiManager.Instance.openWindow <EquipAttrWindow>( (winEquip) => { winEquip.Initialize(e, EquipAttrWindow.OTHER, () => { EventDelegate.Add(winEquip.OnHide, () => { restoreWindow(); }); }); } ); }; } else if (type == 2) { Card c = CardManagerment.Instance.createCard(sid); view.init(c); view.onClickCallback = () => { hideWindow(); CardBookWindow.Show(c, CardBookWindow.SHOW, () => { EventDelegate.Add(UiManager.Instance.getWindow <CardBookWindow>().OnHide, () => { restoreWindow(); }); }); }; } else if (type == 3) { MagicWeapon mc = MagicWeaponManagerment.Instance.createMagicWeapon(sid); view.init(mc); view.onClickCallback = () => { hideWindow(); UiManager.Instance.openWindow <MagicWeaponStrengWindow>((win) => { win.init(mc, MagicWeaponType.FORM_OTHER); }); }; } return(obj); }
private void initItem() { equip = null; prop = null; prize = null; card = null; magicWeapon = null; starSoul = null; }
public void updateMagicWeapon(string uid, ErlArray ea) { magicWeaponVersion++; MagicWeapon mw = magicWeaponStorage.getPropByUid(uid) as MagicWeapon; if (mw != null) { mw.bytesRead(0, ea); } }
public void init(MagicWeapon magic, int type) { int level = 0; if (magic != null) { level = MagicWeaponSampleManager.Instance.getMagicWeaponSampleBySid(magic.sid).starLevel; initStar(level, type); } }
// Start is called before the first frame update void Start() { enemySword = FindObjectsOfType <SwordMechanic>(); curPlayerState = PlayerStateMachine.Idle; health = GetComponent <PlayerHealth>(); playerController = GetComponent <CharacterController>(); mainCamera = FindObjectOfType <Camera>(); anim = GetComponentInChildren <Animator>(); shield.SetActive(false); magicWeapon = GetComponent <MagicWeapon>(); }
private void addStorageProp(string type, ErlArray data) { if (type == StorageFPort.GOODS) { PropStorageVersion++; Prop prop = PropManagerment.Instance.createProp(); prop.bytesRead(0, data); addGoodsProp(prop); } else if (type == StorageFPort.CARD) { RoleStorageVersion++; Card card = CardManagerment.Instance.createCard(); card.bytesRead(0, data); addCardProp(card); IncreaseManagerment.Instance.clearData(IncreaseManagerment.TYPE_CARD); } else if (type == StorageFPort.BEAST) { beastStorageVersion++; Card card = CardManagerment.Instance.createCard(); card.bytesRead(0, data); addBeastProp(card); IncreaseManagerment.Instance.clearData(IncreaseManagerment.TYPE_BEAST); } else if (type == StorageFPort.EQUIPMENT || type == StorageFPort.EQUIPMENT1) { EquipStorageVersion++; Equip equip = EquipManagerment.Instance.createEquip(); equip.bytesRead(0, data); equip.isNew = true; addEquipProp(equip); } else if (type == StorageFPort.STAR_SOUL_STORAGE) { starSoulStorageVersion++; StarSoul starSoul = StarSoulManager.Instance.createStarSoul(data); addStarSoulStorage(starSoul, true); } else if (type == StorageFPort.MOUNTS) { mountsStorageVersion++; Mounts mounts = MountsManagerment.Instance.createMounts(data); addMounts(mounts); } else if (type == StorageFPort.MAGIC_WEAPON) { magicWeaponVersion++; MagicWeapon magic = new MagicWeapon(); magic.bytesRead(0, data); addMagicWeaponProp(magic); } }
public void PlusOneMagicItemsAddToHitAndDamage() { var longsword = new Weapon("Longsword", 5, "1d8", DamageTypes.Slashing, 20, 2, 0, WeaponType.OneHanded, WeaponGroup.HeavyBlades, WeaponTrainingLevel.Martial); var magicSword = new MagicWeapon(longsword, 1); Assert.Equal(magicSword.Name, "Longsword +1"); Assert.Equal(magicSword.AttackModifier, 1); Assert.Equal(magicSword.Damage, "1d8+1"); }
/// <summary> /// 完成强化回调 /// </summary> void complateStreng() { MaskWindow.LockUI(); UiManager.Instance.openDialogWindow <MessageLineWindow>((win) => { win.dialogCloseUnlockUI = false; win.Initialize(LanguageConfigManager.Instance.getLanguage("magicWeapStrengSuccess"), false); }); EffectManager.Instance.CreateEffectCtrlByCache(effectPoint.transform, "Effect/UiEffect/Reinforced_SyntheticTwo", null); this.magicWeapon = StorageManagerment.Instance.getMagicWeapon(magicWeapon.uid); updateUI(); Invoke("playAnimationOver", 2f); }
public override MagicWeapon Create(ItemQuality quality) { MagicWeapon item = new MagicWeapon(quality); item.Range = MagicItemCreation.Instance.ChosenRange; item.AlterationBonus = this.AlterationBonus; item.Price = this.Price; item.Range = MagicItemCreation.Instance.ChosenRange; item.Type = ItemType.Weapon; return(item); }
//清理所有 public void cleanAll() { card = null; equip = null; magicscrapt = null; cardImage.gameObject.SetActive(false); if (background != null) { background.gameObject.SetActive(false); } gameObject.SetActive(false); }
public void init(MagicWeapon magicWeapon, ExchangeSample sample, int type)//最特别的 是从碎片兑换窗口过来的显示 { this.magicWeapon = magicWeapon; this.type = type; putDownButton.gameObject.SetActive(false); putOnButton.gameObject.SetActive(false); strengButton.gameObject.SetActive(false); phaseButton.gameObject.SetActive(false); replaseButton.gameObject.SetActive(false); partNum.gameObject.SetActive(true); partNum.text = LanguageConfigManager.Instance.getLanguage("magicweapLiii01", EquipScrapManagerment.Instance.getNumString(sample)); getWayButton.gameObject.SetActive(true);//获取途径按键可用 updateCommonInfo(); }
public void complatephase(string str) { if (str == "ok") { if (animationPoint.transform.childCount == 0) { passObj _obj = MonoBase.Create3Dobj("Effect/UiEffect/battleAnim"); _obj.obj.transform.parent = animationPoint.transform; _obj.obj.transform.localPosition = Vector3.zero; _obj.obj.transform.localScale = Vector3.one; BattleAnimCtrl battleAnimCtrl = _obj.obj.GetComponent <BattleAnimCtrl>(); battleAnimCtrl.succese.transform.localPosition = Vector3.zero; battleAnimCtrl.succese.SetActive(true); } else { BattleAnimCtrl battleAnimCtrl = animationPoint.transform.GetChild(0).GetComponent <BattleAnimCtrl>(); battleAnimCtrl.succese.transform.localPosition = Vector3.zero; battleAnimCtrl.succese.SetActive(true); } this.magicWeapon = StorageManagerment.Instance.getMagicWeapon(magicWeapon.uid); updateUI(); Invoke("playAnimationOver", 2f); } else if (str == "evo_failed") { if (animationPoint.transform.childCount == 0) { passObj _obj = MonoBase.Create3Dobj("Effect/UiEffect/battleAnim"); _obj.obj.transform.parent = animationPoint.transform; _obj.obj.transform.localPosition = Vector3.zero; _obj.obj.transform.localScale = Vector3.one; BattleAnimCtrl battleAnimCtrl = _obj.obj.GetComponent <BattleAnimCtrl>(); battleAnimCtrl.fail.transform.localPosition = Vector3.zero; battleAnimCtrl.fail.SetActive(true); } else { BattleAnimCtrl battleAnimCtrl = animationPoint.transform.GetChild(0).GetComponent <BattleAnimCtrl>(); battleAnimCtrl.fail.transform.localPosition = Vector3.zero; battleAnimCtrl.fail.SetActive(true); } magicWeapon.addSuccess += 10; updateUI(); Invoke("playAnimationOver", 2f); } }
public override MagicWeapon Create(ItemQuality quality) { MagicWeapon item = new MagicWeapon(quality); int de = MagicItemCreation.Instance.Dices.d100(); SpecificWeaponTableLine ligne = SpecificWeaponsTable.GetLineFromDice(de, quality); item.Name = ligne.Name; item.Price = ligne.Price; item.Type = ItemType.Weapon; //A remplacer par ligne.PreciseType (à créer) eventuellement, pour avoir une image plus precise du type (epee longue, fleche, carreau, pal...) item.Range = Range.Melee; //A remplacer par ligne.Range (à créer) éventuellement. return(item); }
public void init(MagicWeapon magicWeapon, int num) { initClear(); this.magicWeapon = magicWeapon; this.count = num; quality = magicWeapon.getMagicWeaponQuality(); if (starLevelState != null && this.magicWeapon.getPhaseLv() > 0) { starLevelState.gameObject.SetActive(true); starLevelState.text = "+" + this.magicWeapon.getPhaseLv().ToString(); } else { starLevelState.gameObject.SetActive(false); } UpdateInfo(); }
//0道具,1装备,2卡片.3神器 private GameObject CreateGoodsItem(int sid, int count, int type) { GameObject obj = Instantiate(goodsViewPrefab) as GameObject; obj.transform.localScale = new Vector3(0.7f, 0.7f, 1); GoodsView view = obj.transform.GetComponent <GoodsView> (); view.linkQualityEffectPoint(); view.fatherWindow = this; if (type == 0) { Prop p = PropManagerment.Instance.createProp(sid, count); view.init(p); } else if (type == 1) { Equip e = EquipManagerment.Instance.createEquip(sid); view.init(e); view.onClickCallback = () => { UiManager.Instance.openWindow <EquipAttrWindow> ((winEquip) => { winEquip.Initialize(e, EquipAttrWindow.OTHER, null); }); }; } else if (type == 2) { Card c = CardManagerment.Instance.createCard(sid); view.init(c); view.onClickCallback = () => { CardBookWindow.Show(c, CardBookWindow.SHOW, null); }; } else if (type == 3) { MagicWeapon mc = MagicWeaponManagerment.Instance.createMagicWeapon(sid); view.init(mc); view.onClickCallback = () => { hideWindow(); UiManager.Instance.openWindow <MagicWeaponStrengWindow>((win) => { win.init(mc, MagicWeaponType.FORM_OTHER); }); }; } return(obj); }
/* methods */ /** 激活window */ protected override void begin() { base.begin(); if (isAwakeformHide) { if (type == MagicWeaponType.PUTON && MagicWeaponManagerment.Instance.selectCard != null) { this.magicWeapon = StorageManagerment.Instance.getMagicWeapon(MagicWeaponManagerment.Instance.selectCard.magicWeaponUID); updateUI(); } else if (type == MagicWeaponType.STRENG) //从强化界面回来 { this.magicWeapon = StorageManagerment.Instance.getMagicWeapon(magicWeapon.uid); updateUI(); } } MaskWindow.UnlockUI(); }
public bool checkHaveCommendMagicWeapon() { ArrayList mwList = getallResolveMagicWeapon(); if (mwList == null || mwList.Count <= 0) { return(false); } for (int i = 0; i < mwList.Count; i++) { MagicWeapon mw = mwList[i] as MagicWeapon; if (mw.getMgType() == 0) { return(true); } } return(false); }
//清理底座上的人物 public void cleanData() { Object collider = this.gameObject.GetComponent("BoxCollider"); if (this.name != "cardmain" && collider != null) { (collider as BoxCollider).isTrigger = false; } gameObject.SetActive(true); card = null; equip = null; magicscrapt = null; cardImage.gameObject.SetActive(false); if (background != null) { background.gameObject.SetActive(false); } }
public ResolveCardShowerCtrl isOneOfTheCaster(MagicWeapon magicScrapt) { foreach (ResolveCardShowerCtrl each in castShowers) { if (each == null) { continue; } if (each.magicscrapt == null) { continue; } if (each.magicscrapt == magicScrapt) { return(each); } } return(null); }