public void Init_Server(TowerData data) { Debug.Log("INIT SERVER"); if (entity.IsOwner()) { _data = data; state.TowerType = (int)_data.towerType; if (data.canAttack) { _attackRate = new SKU.Attribute(); _damage = new SKU.Attribute(); _range = new SKU.Attribute(); _attackRate.AddOnValueChangedListener(UpdateAttackRate_Server); _damage.AddOnValueChangedListener(UpdateDamage_Server); _range.AddOnValueChangedListener(UpdateRange_Server); AttributeManager attributeManager = gameObject.AddComponent <AttributeManager>(); attributeManager.Add(AttributeType.AttackRate, _attackRate); attributeManager.Add(AttributeType.Damage, _damage); attributeManager.Add(AttributeType.Range, _range); _attackRate.BaseValue = _data.attackRate; _damage.BaseValue = _data.damage; _range.BaseValue = _data.range; // TODO init from data gameObject.AddComponent <ShootBullet>(); } } }
public void Init_Server(EnemyData data) { if (entity.IsOwner()) { _data = data; state.Health = data.health; _health = new SKU.ResourceAttribute(_data.health, _data.health, 1, 0.5f); _health.AddOnValueChangedListener(UpdateHealth_Server); AttributeManager attributeManager = gameObject.AddComponent <AttributeManager>(); attributeManager.Add(AttributeType.Health, _health); var movement = gameObject.AddComponent <EnemyMovement>(); movement.Init_Server(_data.speed); } }