示例#1
0
    public void Reset(Int32 seed)
    {
        Clear();
        System.Random random    = new System.Random(seed);
        Int32         winPropId = 1; // 胜利道具ID
        // 添加非胜利道具的拍卖品
        Int32 itemCount   = 0;
        Int32 targetCount = auctionItemCount - 1;

        while (itemCount < targetCount)
        {
            var prop = CombatPropHelper.RandomProp(random.Next());
            if (prop.GetId() != winPropId)
            {
                itemCount++;
                m_Props.Add(prop);
                m_Prices.Add(prop.GetUpsetPrice());
            }
        }
        // 添加胜利道具拍卖品
        var winProp = CombatPropHelper.CreateProp(winPropId);

        m_Props.Add(winProp);
        m_Prices.Add(winProp.GetUpsetPrice());

        m_CurrIdx     = 0;
        currentCaller = null;
    }
示例#2
0
 private CombatGameCenter.Player GetSelfPlayer()
 {
     if (m_SelfPlayer == null)
     {
         var gameCenter = CombatManager.instance.gameCenter;
         m_SelfPlayer = gameCenter.playerSet.GetSelfPlayer();
     }
     return(m_SelfPlayer);
 }
示例#3
0
 public bool RisePrice(CombatGameCenter.Player caller, Int32 value)
 {
     if (IsEnd())
     {
         return(false);            // 无拍卖品
     }
     if (currentCaller != null && caller.id == currentCaller.id)
     {
         return(false);                                                          // 重复叫价
     }
     if (caller.money < m_Prices[m_CurrIdx] + value)
     {
         return(false);                                                   // 不够钱
     }
     m_Prices[m_CurrIdx] += value;
     currentCaller        = caller;
     return(true);
 }
示例#4
0
 public override void OnCollect(CombatGameCenter.Player player)
 {
     base.OnCollect(player);
     owner.SetStorehouseCapacity(owner.storehouseCapacity + 1);
 }
示例#5
0
 public override void OnCollect(CombatGameCenter.Player player)
 {
     base.OnCollect(player);
     CombatManager.instance.TryWin();
 }
示例#6
0
 public virtual void OnDiscard()
 {
     owner = null;
 }
示例#7
0
 public virtual void OnCollect(CombatGameCenter.Player player)
 {
     owner = player;
     owner.AddProp(this);
 }
示例#8
0
 public void Next()
 {
     m_CurrIdx = Math.Min(m_CurrIdx + 1, m_Props.Count);
     m_PassPlayers.Clear();
     currentCaller = null;
 }