public void AddSquare(ISquareDiv square) { AddGround(); m_Current = null; m_SquareDivCollection.Push(square); GetCurrent(); }
public void DoDamage(int elaptime, int damage) { if (!m_Current.CanBeDamaged()) { return; } doupdate = m_Current.UpdateBase(0, damage); if (m_Current.YouMustRemoveMe() && doupdate) { m_Current = null; GetCurrent(); RemoveDecal(); if (m_Current.GetType() == typeof(Ground) && _Init == false) { UpdateDecals(); } } if (m_Current.YouMustUpdateMe() && !m_Current.YouMustRemoveMe() && doupdate) { Update(); } doupdate = false; }
/// <summary> /// Достаем в m_Current следующий squarediv из стека. /// </summary> /// <remarks></remarks> public void GetCurrent() { //DoDamage в этом методе m_current может стать nothing. if (m_Current == null) { m_Current = m_SquareDivCollection.Pop(); Update(); } }
public Square(ISquareDiv square) { AddGround(); m_SquareDivCollection.Push(square); GetCurrent(); }