| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package health_time
- import (
- "sync"
- )
- /*
- Содержит временное здоровье
- */
- // HealthTime -- временное здоровье
- type HealthTime struct {
- val int // Здоровье FIXME: переделать в алиас
- block sync.RWMutex
- }
- // NewHealthTime -- возвращает новый *HealthTime
- func NewHealthTime() *HealthTime {
- return &HealthTime{}
- }
- // Get -- возвращает хранимое временное здоровье
- func (сам *HealthTime) Get() int {
- сам.block.RLock()
- defer сам.block.RUnlock()
- return сам.val
- }
- // IsZero -- возвращает истину, если значение обнулено
- func (сам *HealthTime) IsZero() bool {
- сам.block.RLock()
- defer сам.block.RUnlock()
- return сам.val == 0
- }
- // Set -- устанавливает значение по требованию
- func (сам *HealthTime) Set(val int) {
- сам.block.Lock()
- defer сам.block.Unlock()
- if val < 0 {
- // log._rintf("WARN HealthTime.Set(): отрицательное значение(%v)\n", val)
- сам.val = 0
- return
- }
- сам.val = val
- }
|