Ejemplo n.º 1
0
        /// <summary>
        /// Mets à jour cette stack de consommable.
        /// </summary>
        /// <param name="time"></param>
        public void Update(GameTime time)
        {
            if (m_currentExecutingConsummable != null)
            {
                if (m_currentExecutingConsummable.Update(time, m_owner))
                {
                    m_currentExecutingConsummable = null;
                    Count--;
                }
            }

            if (Count == 0)
            {
                Model = GameServer.GetScene().ShopDB.GetConsummableModelByType(ConsummableType.Empty);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Utilise une stack du consommable actuel.
        /// </summary>
        /// <returns></returns>
        public ConsummableUseResult Use()
        {
            if (Count <= 0)
            {
                return(ConsummableUseResult.NotUnits);
            }

            if (m_currentExecutingConsummable == null)
            {
                // Crée le consommable.
                switch (Model.ConsummableType)
                {
                case ConsummableType.Ward:
                    m_currentExecutingConsummable = new WardConsummable();
                    break;

                case ConsummableType.Unward:
                    m_currentExecutingConsummable = new UnwardConsummable();
                    break;

                case ConsummableType.Empty:
                    return(ConsummableUseResult.NotUnits);

                default:
                    throw new NotImplementedException();
                }
            }


            ConsummableUseResult res = m_currentExecutingConsummable.Use(m_owner);

            if (res == ConsummableUseResult.SuccessAndDestroyed)
            {
                m_currentExecutingConsummable = null;
                Count--;
            }

            return(res);
        }