/// <summary> /// Load Enemy Ship data from definition, init components and setup config data /// </summary> public void Init(EdgeCollider2D path) { ShipDefinition = GameDefinitions.ShipDefinitions.FirstOrDefault(x => x.ID == LevelManager.EnemyDefinitionPool.ID); shipStats = new ShipStats(ShipDefinition.Health, ShipDefinition.Speed, ShipDefinition.ShootTime); ShipRendererBehaviour = GetComponentInChildren <ShipRendererBehaviour>(); ShipRendererBehaviour.Init(this); if (path != null) { aiManager = new AIManager(this); aiManager.Init(path, shipStats); } }
/// <summary> /// Load Player Ship data from definition, init components and setup config data /// </summary> public void Init() { ShipDefinition = GameDefinitions.ShipDefinitions.FirstOrDefault(x => x.ID == LevelManager.PlayerDefitionPool.ID); ShipStats = new ShipStats(ShipDefinition.Health, ShipDefinition.Speed, ShipDefinition.ShootTime); Weapons = new Weapons(this, ShipDefinition); #if UNITY_EDITOR playerController = new PlayerController(); #elif UNITY_ANDROID playerController = new PlayerMobileController(); #endif playerController.Init(this); ShipRendererBehaviour = GetComponentInChildren <ShipRendererBehaviour>(); ShipRendererBehaviour.Init(this); }