private void Restart() { IUnit unit = GetComponent <IUnit>(); unit.OnDispose += OnDeadTarget; foreach (var iter in Properties) { unit.AddProperty(iter.Instantiate <IProperty>()); } foreach (var iter in Skills) { unit.AddSkill(iter.Instantiate <ISkill>()); } unit.Init(); unit.GameObject.SetActive(true); }
public IUnit Spawn(GameObject parent) { IUnit unit = m_Unit.Value.Instantiate <IUnit>(); unit.GameObject.transform.parent = parent.transform; unit.GameObject.SetActive(false); foreach (var iter in Properties) { unit.AddProperty(iter.Instantiate <IProperty>()); } foreach (var iter in Skills) { unit.AddSkill(iter.Instantiate <ISkill>()); } return(unit); }