コード例 #1
0
        private void RecalculateActiveSprites()
        {
            ActiveSprites.Clear();

            for (int i = 0; i < Sprites.Count; i++)
            {
                EnemyStatusSprite sprite = Sprites[i];

                if (sprite.IsActive && !ActiveSprites.Contains(sprite))
                {
                    ActiveSprites.Add(sprite);
                }
            }
        }
コード例 #2
0
        protected void SetAndRecalculate(EnemyStatusSprite sprite, int newValue)
        {
            int  oldValue         = sprite.Value;
            bool previouslyActive = sprite.IsActive;

            if (oldValue != newValue)
            {
                bool nowActive = newValue > 0;
                if (nowActive && !previouslyActive)
                {
                    sprite.Value = newValue;
                    RecalculateStatusBar();
                }
                else
                {
                    sprite.Value = newValue;
                }
            }
        }