public Arsenal(int ownerId, Navigation navigation, UnitTargeting targeting, Following following, Partset partset, ShotsManager shotsManager, TimeManager timeManager) { _ownerId = ownerId; _shotsManager = shotsManager; _timeManager = timeManager; _targeting = targeting; _navigation = navigation; _following = following; _partset = partset; _partset.OnPartAttached += OnPartAttached; _partset.OnPartDetached += OnPartDetached; _targeting.OnTargetChange += OnTargetChange; }
public Unit(int id, IUnitObject unitObject, Faction startingFaction) { Id = id; UnitObject = unitObject; var provider = ManagerProvider.Instance; Player = provider.PlayerManager.GetPlayer(startingFaction); CommandProcessor = new CommandProcessor(provider.CommandManager.CommandFactory, provider.TimeManager, provider.GameSettings.UnitCommandsUpdatePeriod, this); Partset = new Partset(); Navigation = new Navigation(UnitObject); Following = new Following(Navigation, provider.TimeManager); Targeting = new UnitTargeting(Player.Faction); Arsenal = new Arsenal(Id, Navigation, Targeting, Following, Partset, provider.ShotsManager, provider.TimeManager); Selectable = new Selectable(); Visibility = new Visibility(Player.Faction); Hull = new Hull(); Hull.OnDeath += Die; }