Exemplo n.º 1
0
 public static void DoNiceThings(IFriendly animal)
 {
     Console.WriteLine(" DoNiceThings");
     Console.WriteLine();
     animal.Greet();
     animal.ThanksForDinner("mouse");
 }
Exemplo n.º 2
0
        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);
                    }
                }
            }
        }
Exemplo n.º 3
0
        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));
            }
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
 public void characterQuestCleared(IFriendly character)
 {
     if (charactersTraded.ContainsKey(character))
     {
         charactersTraded[character]++;
     }
     else
     {
         charactersTraded.Add(character, 1);
     }
     this.clearedQuest++;
 }
Exemplo n.º 6
0
 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();
     }
 }
Exemplo n.º 7
0
        /// <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);
            }
        }
Exemplo n.º 8
0
        /// <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) },
            };
        }
Exemplo n.º 10
0
    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);
    }
Exemplo n.º 11
0
    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]++;
    }
Exemplo n.º 12
0
 public void DoNiceThings(IFriendly Cat)
 {
     Greet();
     ThanksForDinner();
 }
Exemplo n.º 13
0
 private void startTalk(IFriendly character)
 {
     character.talk(this);
 }
Exemplo n.º 14
0
 public void talk(IFriendly friendly)
 {
 }
Exemplo n.º 15
0
 public void talk(IFriendly friendly)
 {
     TalkManager.getInstance().trade(massages, failMassage, TRADE_INDEX, GOODS, (Player)friendly, this);
 }
Exemplo n.º 16
0
 public void addMetCharacter(IFriendly character)
 {
     metCharacter.Add(character);
 }
Exemplo n.º 17
0
 private static void DoNiceThings(IFriendly a)
 {
     a.Greet();
     a.ThanksForDinner("Fish");
 }
Exemplo n.º 18
0
 public static void DoNiceThings(IFriendly c)
 {
     c.Greet();
     c.ThanksForDinner("Mouse");
 }
Exemplo n.º 19
0
 public static void DoNiceThings(IFriendly animal)
 {
     Header("DoNiceThings");
     animal.ThanksForDinner("mouse");
 }
Exemplo n.º 20
0
 public void traded(IFriendly merchant, int tradedValue, ItemAttribute attribute)
 {
     observer.characterTraded(merchant, tradedValue, attribute);
 }
Exemplo n.º 21
0
	    private bool needToAutoPrint = false;

	    /// <summary> 購入ウィンドウのプレファブ </summary>
	    private GameObject tradeViewPrefab;
Exemplo n.º 22
0
 public void talk(IFriendly friendly)
 {
     TalkManager.getInstance().talk(MASSAGES);
 }
Exemplo n.º 23
0
 void DoNiceThings(IFriendly Pet)
 {
     Greet();
     ThanksForDinner();
 }
Exemplo n.º 24
0
 /// <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;
     }
 }