public static void DoNiceThings(IFriendly animal) { Console.WriteLine(" DoNiceThings"); Console.WriteLine(); animal.Greet(); animal.ThanksForDinner("mouse"); }
public void talk(IFriendly friendly) { if (isActivated) { if (friendly is Player) { var player = (Player)friendly; if (quest != null) { if (quest.isCleared()) { clearedTalk(player); } else { undertakingTalk(); } } else { requestTalk(player); } } } }
public static Armor creatRandomLevelArmor(int level, IFriendly creator = null, float qualityBonus = 0) { int numberOfWeponShape = ArmorShapeMasterManager.getInstance().getNumberOfShapes(); int shpeRand = Random.Range(0, numberOfWeponShape); ArmorShape shape = ArmorShapeMasterManager.getInstance().getShapeFromId(shpeRand); var armorMaterials = ItemMaterialMasterManager.getInstance().getMaterialFromLevel(level); int materialRand = Random.Range(0, armorMaterials.Count); ItemMaterial material = armorMaterials[materialRand]; if (creator == null) { float dex = material.getQuality() / 20; float diffculty = shape.getCreatDifficulty(); float baseQuality = material.getQuality(); qualityBonus = dex / 2; float quality = weaponQualityCaliculate(dex, diffculty, baseQuality, qualityBonus); return(new Armor(shape, material, quality)); } else { return(creatArmor(shape, material, creator, qualityBonus)); } }
public static Armor creatArmor(ArmorShape shape, ItemMaterial material, IFriendly creator, float qualityBonus) { float dex = creator.getFriendlyAbility(FriendlyAbility.DEX); float diffculty = shape.getCreatDifficulty(); float baseQuality = material.getQuality(); float quality = weaponQualityCaliculate(dex, diffculty, baseQuality, qualityBonus); return(new Armor(shape, material, quality)); }
public void characterQuestCleared(IFriendly character) { if (charactersTraded.ContainsKey(character)) { charactersTraded[character]++; } else { charactersTraded.Add(character, 1); } this.clearedQuest++; }
private void levelupCharacter(IFriendly character) { if (character is Merchant) { var merchant = (Merchant)character; merchant.levelup(); } else if (character is Client) { var client = (Client)character; client.levelup(); } }
/// <summary> /// 初期設定を行います /// </summary> /// <param name="player">取引に参加するPC</param> /// <param name="trader">取引に参加するフレンドリキャラクター</param> public void setState(Player player, IFriendly trader) { this.player = player; this.trader = trader; this.inventory = player.getInventory(); headerText.text = player.getName(); tradeItemNodePrefab = (GameObject)Resources.Load("Prefabs/TradeItemNode"); foreach (IItem item in inventory.getItems()) { GameObject nodeObject = Instantiate(tradeItemNodePrefab); TradeItemNode node = nodeObject.GetComponent <TradeItemNode>(); node.setGoods(item, TradeHelper.getSellValue(item, player, (Merchant)trader), this); nodeObject.transform.SetParent(content.transform); } }
/// <summary> /// 初期設定を行います /// </summary> /// <param name="goods">商品のリスト</param> /// <param name="player">取引に参加するプレイヤー</param> /// <param name="trader">取引に参加するIFriendlyキャラクター</param> /// <param name="window">親となるメッセージウィンドウ</param> public void setState(List <IItem> goods, Player player, IFriendly trader, MassageWindow window) { tradeItemNodePrefab = (GameObject)Resources.Load("Prefabs/TradeItemNode"); this.goods = goods; foreach (IItem item in goods) { TradeItemNode node = Instantiate(tradeItemNodePrefab).GetComponent <TradeItemNode>(); node.setGoods(item, TradeHelper.getBuyValue(item, player, (Merchant)trader), this); node.transform.SetParent(content.transform); } this.player = player; this.trader = (Merchant)trader; this.window = window; headerText.text = trader.getName(); sellWindow = transform.root.GetComponent <TradeView>().getSellWindow(); sellWindow.setState(player, trader); sellWindow.transform.SetParent(transform.root); }
public SimpleSentenceRuleDocumenter(ILamdaDocumenter lamdaDocumenter, IFriendly friendly) { this.lamdaDocumenter = lamdaDocumenter; this.friendly = friendly; tokenStringifiers = new Dictionary<string, Func<string, Rule, Token, string>> { { "notnull", (unused, unused2, t) => "is required" }, { "notempty", (unused, unused2, t) => "must not be empty" }, { "required", (unused, unused2, t) => "is required" }, { "must", MustParser }, { "when", WhenParser }, { "equal", (unused, unused2, t) => ArgumentParser(t, "equal") }, { "notequal", (unused, unused2, t) => ArgumentParser(t, "not equal") }, { "greaterthan", (unused, unused2, t) => ArgumentParser(t, "be greater than") }, { "greaterthanorequalto", (unused, unused2, t) => ArgumentParser(t, "be greater than or equal to") }, { "inclusivebetween", (unused, unused2, t) => BetweenParser(t, "inclusive") }, { "exclusivebetween", (unused, unused2, t) => BetweenParser(t, "exclusive") }, { "length", (unused, unused2, t) => LengthParser(t) }, }; }
private bool judgeCharaLevelUpped(IFriendly character) { int number = charactersTraded[character]; float probality = 0; if (character is Merchant) { var merchant = (Merchant)character; probality = number / (merchant.getLevel() + 20); } else if (character is Client) { var client = (Client)character; probality = number / (client.Level + 5); } probality = (probality <= 0.9) ? probality : 0.9f; int rand = Random.Range(0, 100); return(probality >= rand); }
public void characterTraded(IFriendly character, int tradedValue, ItemAttribute tradedAttribute) { if (tradedValue < 0) { throw new InvalidOperationException("trade value won't be negative"); } if (charactersTraded.ContainsKey(character)) { charactersTraded[character] += tradedValue; } else { charactersTraded.Add(character, tradedValue); } this.tradedValue = tradedValue; totalTradedValue += tradedValue; tradedTimes++; tradedAttributeTable[tradedAttribute]++; }
public void DoNiceThings(IFriendly Cat) { Greet(); ThanksForDinner(); }
private void startTalk(IFriendly character) { character.talk(this); }
public void talk(IFriendly friendly) { }
public void talk(IFriendly friendly) { TalkManager.getInstance().trade(massages, failMassage, TRADE_INDEX, GOODS, (Player)friendly, this); }
public void addMetCharacter(IFriendly character) { metCharacter.Add(character); }
private static void DoNiceThings(IFriendly a) { a.Greet(); a.ThanksForDinner("Fish"); }
public static void DoNiceThings(IFriendly c) { c.Greet(); c.ThanksForDinner("Mouse"); }
public static void DoNiceThings(IFriendly animal) { Header("DoNiceThings"); animal.ThanksForDinner("mouse"); }
public void traded(IFriendly merchant, int tradedValue, ItemAttribute attribute) { observer.characterTraded(merchant, tradedValue, attribute); }
private bool needToAutoPrint = false; /// <summary> 購入ウィンドウのプレファブ </summary> private GameObject tradeViewPrefab;
public void talk(IFriendly friendly) { TalkManager.getInstance().talk(MASSAGES); }
void DoNiceThings(IFriendly Pet) { Greet(); ThanksForDinner(); }
/// <summary> /// 取引を開始します /// </summary> /// <param name="massages">表示するメッセージのリスト</param> /// <param name="startTradeIndex">取引開始のインデックス</param> /// <param name="goods">商品のリスト</param> /// <param name="player">取引に参加するプレイヤー</param> /// <param name="trader">取引に参加するIFriendlyキャラクター</param> public void trade(List <string> massages, string failMassage, int startTradeIndex, List <IItem> goods, Player player, IFriendly trader) { if (!isTalking) { GameObject massageWindow = MonoBehaviour.Instantiate(massageWindowPrefab); massageWindow.transform.SetParent(CanvasGetter.getCanvasElement().transform); massageWindow.GetComponent <MassageWindow>().setMassageList(massages, failMassage, startTradeIndex, goods, player, trader); isTalking = true; } }