private void Refresh(sbyte pos, Damageable damageable) { Contents[pos] = damageable; if (damageable != null) { float yoff = 39; Rectangle rbak = SIZE[pos]; Rectangle r = rbak; Color color = new Color(74.5f / 100, 12.5f / 100, 11.8f / 100, .9f); ITEM[pos, 0] = new IGMDataItem.Text(damageable.Name, rbak); CURSOR[pos] = new Point(rbak.X, (int)(rbak.Y + (6 * TextScale.Y))); r.Offset(7, yoff); ITEM[pos, 1] = new IGMDataItem.Icon(Icons.ID.Lv, r, 13); r = rbak; r.Offset((49), yoff); ITEM[pos, 2] = new IGMDataItem.Integer(damageable.Level, r, 2, 0, 1, 3); r = rbak; r.Offset(126, yoff); ITEM[pos, 3] = new IGMDataItem.Icon(Icons.ID.HP2, r, 13); r.Offset(0, 28); r.Width = 118; r.Height = 1; ITEM[pos, 4] = new IGMDataItem.Texture(_red_pixel, r) { Color = Color.Black }; r.Width = (int)(r.Width * damageable.PercentFullHP()); ITEM[pos, 5] = new IGMDataItem.Texture(_red_pixel, r) { Color = color }; r.Width = 118; r.Offset(0, 2); ITEM[pos, 6] = new IGMDataItem.Texture(_red_pixel, r) { Color = Color.Black }; r.Width = (int)(r.Width * damageable.PercentFullHP()); ITEM[pos, 7] = new IGMDataItem.Texture(_red_pixel, r) { Color = color }; //TODO red bar resizes based on current/max hp r = rbak; r.Offset((166), yoff); ITEM[pos, 8] = new IGMDataItem.Integer(damageable.CurrentHP(), r, 2, 0, 1, 4); } }
private void Refresh(sbyte pos, Damageable damageable) { Contents[pos] = damageable; if (damageable != null) { ITEM[pos, 0] = new IGMDataItem.Text { Data = damageable.Name, Pos = SIZE[pos] }; CURSOR[pos] = new Point(SIZE[pos].X, (int)(SIZE[pos].Y + (6 * TextScale.Y))); Rectangle r = ITEM[pos, 5].Pos; r.Height = BarHeight; r.Width = (int)(DefaultHPBarWidth * damageable.PercentFullHP()); ((IGMDataItem.Texture)ITEM[pos, 5]).Pos = r; //r.Offset(0, 2); //((IGMDataItem.Texture)ITEM[pos, 7]).Pos = r; ((IGMDataItem.Integer)ITEM[pos, 2]).Data = damageable.Level; ((IGMDataItem.Integer)ITEM[pos, 8]).Data = damageable.CurrentHP(); for (int i = 0; i < Depth; i++) { ITEM[pos, i]?.Show(); } } else { for (int i = 0; i < Depth; i++) { ITEM[pos, i]?.Hide(); } } }