示例#1
0
文件: Part.cs 项目: 1102736067/ECS
        public void Init(LevelGamePartID gamePartId, LevelPartID id)
        {
            SpawnEnemyManager spawnManager = AddScript <SpawnEnemyManager>(ConstValue.GAME_PART_SPWAN_POINT);

            spawnManager?.Init();

            AddScript <PartWall>(ConstValue.GAME_PART_WALL)?.Init(gamePartId, id, () => spawnManager.Spawn());
        }
示例#2
0
        public void Init(LevelGamePartID gamePartId, LevelPartID id, Action spawnEnemy)
        {
            ZamekEffect[] zameks = InitZamek(transform);

            bool isOpen = JudgeOpenState(gamePartId, id);

            SetOpenState(isOpen, zameks);

            WallCollider[] walls = InitWallCollider(transform);
            SetWallState(isOpen, walls);

            InitStartPartTrigger(walls, zameks, gamePartId, id, spawnEnemy);
        }
示例#3
0
        private void StartPartGame(WallCollider[] walls, ZamekEffect[] zameks, LevelGamePartID gamePartId, LevelPartID id, Action spawnEnemy)
        {
            SetOpenState(false, zameks);
            SetWallState(false, walls);
            DataManager.Single.LevelGamePartIndex = gamePartId;
            DataManager.Single.LevelPartIndex     = id;

            spawnEnemy?.Invoke();
        }
示例#4
0
        private void InitStartPartTrigger(WallCollider[] walls, ZamekEffect[] zameks, LevelGamePartID gamePartId, LevelPartID id, Action spawnEnemy)
        {
            StartPartTrigger trigger = transform.parent.gameObject.AddComponent <StartPartTrigger>();

            trigger.Init(() => StartPartGame(walls, zameks, gamePartId, id, spawnEnemy));
        }
示例#5
0
 private bool JudgeOpenState(LevelGamePartID gamePartId, LevelPartID id)
 {
     return(gamePartId <= DataManager.Single.LevelGamePartIndex &&
            id <= DataManager.Single.LevelPartIndex);
 }
示例#6
0
 public void ResetData()
 {
     LevelIndex         = LevelID.ONE;
     LevelGamePartIndex = LevelGamePartID.ONE;
     LevelPartIndex     = LevelPartID.ONE;
 }