public void InitNewSlider(BasicStuff stuff) { if (slider == null) { Debug.Log("Slider GameObject lost"); } // 是否创建新的 Slider createNewSlider(stuff); // 创建新的 slider 对象 int ID = stuff.ID; if (ID == _playerStuff.ID) { _timer.setSliderTime(ID, stuff.requireTime); _triggedEvent[ID] = _playerStuff.requireTime; } else { // 允许中间切入主动事件发生, 并且及时更新消耗最大事件 if (_triggedEvent.ContainsKey(ID)) { _triggedEvent[ID] = stuff.getWaitTime(); } _timer.setSliderTime(ID, stuff.getWaitTime()); } }
private List <int> _postiveEventList = new List <int>(); // 主动触发事件列表 #endregion private void Start() { for (int i = 0; i < stuffList.Count; i++) { BasicStuff stuff = stuffList[i]; stuff.init(this, player); if (stuff.isOrder) { stuff.gameObject.SetActive(false); _postiveEventList.Add(stuff.ID); } _triggedEvent.Add(stuff.ID, stuff.getWaitTime()); } for (int i = 0; i < toolStuffList.Count; i++) { BasicStuff stuff = toolStuffList[i]; stuff.init(this, player); _triggedEvent.Add(stuff.ID, stuff.requireTime); } _timer = TimeLine.getInstance(); // 初始化时间点 _timePointCount = 0; // 起始等待 3 s _timer.setElapseTime(3.0f); _playerStuff = player.getStuffComp(); _triggedEvent.Add(_playerStuff.ID, _playerStuff.requireTime); }
private void stuffStartWaiting(BasicStuff stuff) { int ID = stuff.ID; float waitTime = stuff.getWaitTime(); InitNewSlider(stuff); // 记录需要最大时间值 if (!_triggedEvent.ContainsKey(ID)) { _triggedEvent.Add(ID, waitTime); } // 开始等待 stuff.waitStart(); }