public override void LoadContent() { base.LoadContent(); EnemyShipData = ScreenManager.Content.Load <EnemyShipData>(DataAsset); LoadShipAddOns(); }
private void SetRndSpriteVariation() { if (!TryGetComponent(out SpriteRenderer spriteRenderer)) { return; } EnemyShipData shipData = (EnemyShipData)shipComponent.Data; spriteRenderer.sprite = shipData.GetRndSpriteVariation(); }
private void SetWaypoints(GameObject ship, string waypointName, int startPoint) { if (ship == null) { return; } EnemyShipData pData = ship.GetComponent <EnemyShipData>(); GameObject pWaypointGroup = GameObject.Find(waypointName); List <Transform> waypoints = pWaypointGroup.transform.Cast <Transform>().ToList(); pData.SetWayPoints(waypoints, startPoint); }
private IEnumerator ShootBurst() { EnemyShipData shipData = (EnemyShipData)shipComponent.Data; yield return(new WaitForSeconds(shipData.ShootDelay)); shooterComponent.BeginShoot(); yield return(new WaitForSeconds(shooterComponent.WeaponData.UseRate * shipData.BurstAmount)); shooterComponent.EndShoot(); shootCoroutine = StartCoroutine(ShootBurst()); }
public override void Trigger() { var dataPointer = data.EnemyPointers[Random.Next(data.EnemyPointers.Length)]; EnemyShipData = DataController.LoadData <EnemyShipData>(dataPointer.Id, DataFileType.Enemies); messageBox = GameUIController.CurrentScreen.AddUIElement(new UIMessageBox( new Transform(Alignment.MiddleCenter, new Vector2(500, 150)), MainGame.Singleton.Content.Load <SpriteFont>("Fonts/Arial"), "Detected a hostile ship! [" + EnemyShipData.Name + "]", TextAlign.TopCenter, 5, ContentHelper.Box4x4_Sprite, new EventArg0(_Trigger), GameUIController.CurrentScreen )); }
public GameObject SpawnEnemyShip(string name, Vector2 position) { foreach (GameObject obj in PrefabEnemyShipList) { if (obj.name != name) { continue; } GameObject ship = (GameObject)Instantiate(obj, position, Quaternion.identity); ship.transform.parent = enemyContainer.transform; Utils.SetHostile(ship); EnemyShipData pShipData = ship.GetComponent <EnemyShipData>(); Health pShipHP = ship.GetComponent <Health>(); pShipHP.SetHP(pShipData.GetMaxHP()); return(ship); } return(null); }
public EnemyShip(EnemyShipData data, Vector2 size) : base(new Transform(size), ContentHelper.GetSprite(data.SpriteName), data.BaseShipStats) { this.SetColor(data.Color.GetColor()); this.Inventory = new Inventory(this); this.Data = data; if (Data.ShipUpgradeIds != null) { foreach (string id in Data.ShipUpgradeIds) { Inventory.AddItem(new ShipUpgrade(DataController.LoadData <ShipUpgradeItemData>(id, DataFileType.Items), Inventory)); } } //Update the new stats: RefillStats(); }
private void OnEnable() { SetRndSpriteVariation(); healthComponent.OnDeath += OnDeath; EnemyShipData shipData = (EnemyShipData)shipComponent.Data; switch (shipData.ShootPattern) { case EShootPattern.Continuous: shooterComponent.BeginShoot(); break; case EShootPattern.Burst: shootCoroutine = StartCoroutine(ShootBurst()); break; case EShootPattern.Single: shootCoroutine = StartCoroutine(ShootSingle()); break; } }
public EnemyShipModel(EnemyShipData shipData) { _shipData = shipData; SetModelData(); ClearHits(); }
public FinalBossShip(EnemyShipData data, Vector2 size) : base(data, size) { }