コード例 #1
0
        /// <summary>
        /// Place enemies.
        /// </summary>
        public void PlaceEnemies()
        {
            GameComponent game = this.gameFilter.Get1(0);

            double entryTime = 1d;

            IList <RoundDefinitions.RoundSection> sections = this.rounds.Rounds[this.nextRound];

            this.nextRound++;
            foreach (RoundDefinitions.RoundSection section in sections)
            {
                for (int i = 0; i < section.Count; i++)
                {
                    entryTime += section.DeltaTime;

                    if (section.EnemyType == "None")
                    {
                        break;
                    }

                    if (!game.EnemyTypeMap.TryGetValue(section.EnemyType, out EnemyType enemyType))
                    {
                        break;
                    }

                    EcsEntity          enemyEntity = this.world.NewEntity();
                    ref EnemyComponent enemy       = ref enemyEntity.Get <EnemyComponent>();
                    enemy.Camo         = enemyType.Camo;
                    enemy.NextType     = enemyType.NextType;
                    enemy.PlayerDamage = enemyType.Health;
                    enemy.SpriteNumber = enemyType.SpriteNumber;

                    ref ImpactComponent impactComponent = ref enemyEntity.Get <ImpactComponent>();
                    impactComponent.PreviousImpactPosition = 0d;
                    impactComponent.PreviousImpactTime     = entryTime;

                    ref PathSpeedComponent enemySpeed = ref enemyEntity.Get <PathSpeedComponent>();
コード例 #2
0
 public void EquipImpactComponent(ImpactComponent impact)
 {
     impactComponent = impact;
     GameManager.Instance.UiManager.GameOverlay.SetImpactImage(impact.icon);
     GameManager.Instance.UiManager.PanelSkills.SetImpactImage(impact.icon);
 }