using System.Collections.Generic; using Sirenix.OdinInspector; using UnityEngine; namespace Game.Component { public class ScenePart : MonoBehaviour { public TextAsset mapCacheData; public PolygonCollider2D cameraCollider; public Transform createPos; public int completeConditionNumber = 10; public float playerBaseSpeed = 4f; [LabelText ("当前完成数:")] private int _currentConditionNumber = 0; public int CurrentConditionNumber => this._currentConditionNumber; private List _enemyEntities; public float CurProgress => this._currentConditionNumber * 1f / completeConditionNumber; public bool IsComplete => _currentConditionNumber >= completeConditionNumber; public bool AddConditionNumber (int number = 1) { this._currentConditionNumber += number; return _currentConditionNumber >= completeConditionNumber; } public void RefreshInit () { this._currentConditionNumber = 0; foreach (var enemyEntity in this._enemyEntities) { enemyEntity.ResetState (); } } public void InitPart () { this._enemyEntities = new List (); this._enemyEntities = new List (transform.GetComponentsInChildren (true)); } } }