Пример #1
0
        public override void LoadContent()
        {
            base.LoadContent();

            EnemyShipData = ScreenManager.Content.Load <EnemyShipData>(DataAsset);
            LoadShipAddOns();
        }
Пример #2
0
        private void SetRndSpriteVariation()
        {
            if (!TryGetComponent(out SpriteRenderer spriteRenderer))
            {
                return;
            }

            EnemyShipData shipData = (EnemyShipData)shipComponent.Data;

            spriteRenderer.sprite = shipData.GetRndSpriteVariation();
        }
Пример #3
0
    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);
    }
Пример #4
0
        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());
        }
Пример #5
0
        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
                                                                         ));
        }
Пример #6
0
 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);
 }
Пример #7
0
        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();
        }
Пример #8
0
        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;
            }
        }
Пример #9
0
 public EnemyShipModel(EnemyShipData shipData)
 {
     _shipData = shipData;
     SetModelData();
     ClearHits();
 }
Пример #10
0
 public FinalBossShip(EnemyShipData data, Vector2 size) : base(data, size)
 {
 }