void ParseFloor() { var textures = Resources.LoadAll<Texture>("Tiles"); foreach (var tex in textures) { string[] splitName = tex.name.Split(new char[] { '_' }); if (splitName.Length != 2) { //Debug.LogError(tex.name); continue; } string prefix = splitName[0]; string type = splitName[1]; MapSpriteSetting setting; if (!Target.SpriteManager.SettingDic.TryGetValue(prefix, out setting)) { setting = new MapSpriteSetting(); setting.Name = prefix; setting.Explosion = new Sprite[6]; Target.SpriteManager.SettingDic.Add(prefix, setting); } switch (type) { case "Floor": setting.Floor = tex; break; } } }
public void InitDic() { if (mInitialized) return; SettingDic = Settings.ToDictionary(s => s.Name, s => s); int randomMapIdx; if (MapSync.Instance.getMapIdx () != -1) randomMapIdx = MapSync.Instance.getMapIdx (); else randomMapIdx = UnityEngine.Random.Range (0, SettingDic.Count - 1); MapSync.Instance.setMapIdx (randomMapIdx); CurrentUsingSetting = SettingDic.ElementAt(randomMapIdx).Value; mInitialized = true; }
void ParseTiles() { var sprites = Resources.LoadAll<Sprite>("Tiles"); foreach (var sp in sprites) { string[] splitName = sp.name.Split(new char[] { '_' }); if (splitName.Length != 2) { Debug.LogError(sp.name); continue; } string prefix = splitName[0]; string type = splitName[1]; MapSpriteSetting setting; if (!Target.SpriteManager.SettingDic.TryGetValue(prefix, out setting)) { setting = new MapSpriteSetting(); setting.Name = prefix; setting.Explosion = new Sprite[6]; Target.SpriteManager.SettingDic.Add(prefix, setting); } int index; if (int.TryParse(type, out index)) { try { setting.Explosion[index] = sp; } catch { Debug.LogError(index); } } else { switch (type) { case "Obstacle": setting.Obstacle = sp; break; case "Block": setting.Block = sp; break; } } } Target.SpriteManager.Settings = Target.SpriteManager.SettingDic.Values.ToList(); EditorUtility.SetDirty(target); }