/// <summary> /// 刷新动态事件 /// </summary> public void RefreshActiveAreaEventsView() { int eventIconIndex = 0; foreach (EventData eventData in ActiveAreaEventsMapping.Values) { switch (eventData.Type) { case SceneEventType.Battle: eventIconIndex = 1; break; case SceneEventType.Task: eventIconIndex = 26; break; default: eventIconIndex = 18; break; } Map.Layers[1].SetTile(eventData.X, eventData.Y, eventIconIndex); } Map.Build(tk2dTileMap.BuildFlags.Default); Statics.ChangeLayers(GameObject.Find("TileMap Render Data").transform, "Ground"); }
/// <summary> /// 重新将禁用事件刷出来 /// </summary> public void RebuildDisableEvents() { foreach (EventData ev in DisableEventIdMapping.Values) { Map.Layers[2].SetTile(ev.X, ev.Y, 15); } Map.Build(tk2dTileMap.BuildFlags.Default); Statics.ChangeLayers(GameObject.Find("TileMap Render Data").transform, "Ground"); }
/// <summary> /// 清空原有的动态事件 /// </summary> public void ClearActiveAreaEvents() { foreach (EventData eventData in ActiveAreaEventsMapping.Values) { Map.Layers[1].ClearTile(eventData.X, eventData.Y); } Map.Build(tk2dTileMap.BuildFlags.Default); Statics.ChangeLayers(GameObject.Find("TileMap Render Data").transform, "Ground"); ActiveAreaEventsMapping.Clear(); }
/// <summary> /// 添加临时禁用事件 /// </summary> /// <param name="eventId">Event identifier.</param> /// <param name="disableEvent">Disable event.</param> public void PushDisableEvent(string eventId, EventData disableEvent) { if (!DisableEventIdMapping.ContainsKey(eventId)) { DisableEventIdMapping.Add(eventId, disableEvent); Map.Layers[2].SetTile(disableEvent.X, disableEvent.Y, 15); Map.Build(tk2dTileMap.BuildFlags.Default); Statics.ChangeLayers(GameObject.Find("TileMap Render Data").transform, "Ground"); PlayerPrefs.SetString("DisableEventIdMapping", JsonManager.GetInstance().SerializeObject(DisableEventIdMapping)); } }
/// <summary> /// 清空临时禁用事件 /// </summary> public void ClearDisableEventIdMapping() { foreach (EventData eventData in DisableEventIdMapping.Values) { Map.Layers[2].ClearTile(eventData.X, eventData.Y); } Map.Build(tk2dTileMap.BuildFlags.Default); Statics.ChangeLayers(GameObject.Find("TileMap Render Data").transform, "Ground"); DisableEventIdMapping.Clear(); PlayerPrefs.SetString("DisableEventIdMapping", ""); }
/// <summary> /// 清空临时禁用事件 /// </summary> public void ClearDisableEventIdMapping(List <SceneEventType> excepts = null) { List <string> clearKeys = new List <string>(); EventData eventData; foreach (string key in DisableEventIdMapping.Keys) { eventData = DisableEventIdMapping[key]; if (excepts != null && excepts.FindIndex(type => type == eventData.Type) >= 0) { continue; } Map.Layers[2].ClearTile(eventData.X, eventData.Y); clearKeys.Add(key); } Map.Build(tk2dTileMap.BuildFlags.Default); Statics.ChangeLayers(GameObject.Find("TileMap Render Data").transform, "Ground"); for (int i = 0, len = clearKeys.Count; i < len; i++) { DisableEventIdMapping.Remove(clearKeys[i]); } PlayerPrefs.SetString("DisableEventIdMapping", JsonManager.GetInstance().SerializeObject(DisableEventIdMapping)); }