示例#1
0
        private void AddHealth()
        {
            KnightBehaviour knightBehaviour = (KnightBehaviour)FindObjectOfType(typeof(KnightBehaviour));

            knightBehaviour.defaultHealth += additionalHealth;
            knightBehaviour.currentHealth += additionalHealth;
        }
        private void CheckComponents()
        {
            if (knightBehaviour == null)
            {
                knightBehaviour = KnightBehaviour.instance;
            }

            if (cameraManager == null)
            {
                cameraManager = GetComponent <CameraManager>();
            }
        }
示例#3
0
        private void LoadLocation(LocationData locationData)
        {
            {   // Спавн декораций
                DecorationsScript decorationsScript =
                    Instantiate(locationData.decorationPrefab, decorationsPos, Quaternion.identity)
                    .GetComponent <DecorationsScript>() ?? throw new ArgumentNullException(
                              nameof(locationData));
                decorationsScript.SetUpGraphics(Convert.ToBoolean((int)DataHolder.graphics_tier));
            }

            {     // Спавн рыцаря
                _knightBehaviour = Instantiate(knightPrefab, knightPosition, Quaternion.Euler(0.0f, 180.0f, 0.0f))
                                   .GetComponent <KnightBehaviour>();
            }

            {   // Спавн врагов
                int        placement = 0;
                GameObject newGo;
                System.Diagnostics.Debug.Assert(locationData.enemiesPrefabs != null,
                                                "locationData.enemiesPrefabs != null");
                foreach (GameObject enemy in locationData.enemiesPrefabs)
                {
                    newGo = Instantiate(enemy,
                                        new Vector3(enemiesPosition[placement].x + startRunningDelta, enemiesPosition[placement].y,
                                                    enemiesPosition[placement].z), Quaternion.identity);
                    newGo.SetActive(false);
                    _enemies.Add(newGo.GetComponent <EnemyBehaviour>());
                    enemy.GetComponent <EnemyBehaviour>().position        = enemiesPosition[placement];
                    enemy.GetComponent <EnemyBehaviour>().spawnPointIndex = placement;
                    placement++;
                    if (placement >= enemiesPosition.Count)
                    {
                        placement = 0;
                    }
                }

                foreach (var enemy in _enemies)
                {
                    enemy.attackMenu  = this.attackMenu;
                    enemy.gameManager = this.gameManager;
                }

                attackMenu.enemies = this._enemies;
            }

            {    // Настройки ритм менеджера и спавнера точек
                gameManager.audioClip = locationData.audioClip;
                pointSpawner.StartPointSpawner(locationData, rhythmManager, gameManager);
                rhythmManager.StartRhytmManager();
            }
        }
示例#4
0
 // Start is called before the first frame update
 void Start()
 {
     knightController = GameObject.Find("knight").GetComponent <KnightBehaviour>();
 }
示例#5
0
    private Attack current_a;               //Текущая атака

    private void Awake()
    {
        instance = this;
    }