/// <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); } }
/// <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); }