public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        var oldVerticalEnemyPath = EditorManager.verticalEnemyPath;

        EditorManager.verticalEnemyPath = CurrentVerticalEnemyPath();
        if (oldVerticalEnemyPath != EditorManager.verticalEnemyPath)
        {
            InspectorEventSignals.DoSpawnEnemyInspectorUpdated();
        }
    }
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        var inspectedTarget   = target as EnemyMissile;
        var oldSwitchDirCount = inspectedTarget.switchDirCount;

        if (!EditorManager.verticalEnemyPath)
        {
            inspectedTarget.switchDirCount = EditorGUILayout.IntSlider(new GUIContent(
                                                                           "Switch Dir Count", "The number of times an enemy missile switches its direction before going straight towards one of the cannons"
                                                                           ), inspectedTarget.switchDirCount, 0, 8);
        }

        if (oldSwitchDirCount != inspectedTarget.switchDirCount)
        {
            InspectorEventSignals.DoEnemySwitchDirCountUpdated(inspectedTarget.switchDirCount, inspectedTarget.gameObject);
        }
    }
Exemple #3
0
    protected override void Awake()
    {
        if (!SpawnEnemy.Ins.verticalEnemyPath)
        {
            float intervalCount = switchDirCount + 1;
            for (float i = intervalCount - 1; i > 0; --i)
            {
                path.Enqueue(new Vector3(
                                 Random.Range(ManageSceneSetup.Ins.spawnHorizontalRange.x, ManageSceneSetup.Ins.spawnHorizontalRange.y)
                                 , ManageSceneSetup.Ins.spawnVerticalRange.x + i / intervalCount * ManageSceneSetup.Ins.playFieldLength
                                 , ManageSceneSetup.Ins.playField.transform.position.z));
            }
        }

        if (isFirstInstance && !SpawnEnemy.Ins.verticalEnemyPath)
        {
            isFirstInstance = false;
            InspectorEventSignals.DoEnemySwitchDirCountUpdated(switchDirCount, gameObject);
        }

        base.Awake();
    }