Beispiel #1
0
        protected void SetStrategyState(CeLveZu strategyData)
        {
            int num = 0;

            for (int i = 0; i < strategyData.StrategyPercentage.get_Count(); i++)
            {
                num += strategyData.StrategyPercentage.get_Item(i);
            }
            if (num == 0)
            {
                this.CurStrategyType = StrategyType.None;
                return;
            }
            int num2 = Random.Range(0, num);
            int num3 = 0;

            for (int j = 0; j < strategyData.StrategyPercentage.get_Count(); j++)
            {
                num3 += strategyData.StrategyPercentage.get_Item(j);
                if (num2 < num3)
                {
                    this.CurStrategyType = j + StrategyType.Wander;
                    return;
                }
            }
            this.CurStrategyType = StrategyType.None;
        }
Beispiel #2
0
        protected void UpdateStrategyState()
        {
            StringBuilder stringBuilder = new StringBuilder();
            IEnumerator   enumerator    = this.AllStrategyType.GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    FeedbackConditionType feedbackConditionType = (FeedbackConditionType)((int)enumerator.get_Current());
                    if (this.feedbackValue.ContainsKey(feedbackConditionType))
                    {
                        stringBuilder.Append(this.feedbackValue.get_Item(feedbackConditionType));
                    }
                }
            }
            finally
            {
                IDisposable disposable = enumerator as IDisposable;
                if (disposable != null)
                {
                    disposable.Dispose();
                }
            }
            string  text    = stringBuilder.ToString();
            CeLveZu ceLveZu = (!DataReader <CeLveZu> .Contains(text)) ? null : DataReader <CeLveZu> .Get(text);

            if (ceLveZu == null)
            {
                int num = -1;
                for (int i = 0; i < DataReader <CeLveZu> .DataList.get_Count(); i++)
                {
                    int num2 = this.CheckIsStrategyMatch(text, DataReader <CeLveZu> .DataList.get_Item(i).StrategyId);
                    if (num2 > num)
                    {
                        ceLveZu = DataReader <CeLveZu> .DataList.get_Item(i);

                        num = num2;
                    }
                }
            }
            if (ceLveZu != null && ceLveZu.StrategyPercentage.get_Count() <= this.AllStrategyTypeCount)
            {
                this.SetStrategyState(ceLveZu);
            }
        }