Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /RsiEditor/RsiManager.cs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations) (download)
Sun Jul 26 02:18:54 2009 UTC (14 years, 8 months ago) by pex
File size: 44712 byte(s)


1 pex 1 using System;
2     using System.Xml;
3     using System.IO;
4     //using System.Windows.Forms;
5     using System.Data;
6    
7     namespace RipSync.RsiEditor
8     {
9     class RsiManager : IDisposable
10     {
11     //–ځEŒű‚̒ljÁ€–ڐ”
12     public const int MC_EYEADDMAX = 6;
13     public const int MC_MOUTHADDMAX = 6;
14    
15     //Šî–{
16     public string RsiFileName;
17     public string Eshi;
18     public string Base;
19     public string BaseHeight;
20     public string BaseWidth;
21    
22     //–Ú
23     public string EyeClose;
24     public string EyeThin;
25     public string EyeNormal;
26    
27     //Œű
28     public string MouthA;
29     public string MouthI;
30     public string MouthU;
31     public string MouthE;
32     public string MouthO;
33     public string MouthN;
34     public string MouthXo;
35     public string MouthAa;
36    
37     //–ڒljÁ
38     public String[] EyeAddName = new String[MC_EYEADDMAX];
39     public String[] EyeAdd = new String[MC_EYEADDMAX];
40    
41     //Œű’ljÁ
42     public String[] MouthAddName = new String[MC_MOUTHADDMAX];
43     public String[] MouthAdd = new String[MC_MOUTHADDMAX];
44    
45     /// <summary>
46     /// ƒRƒ“ƒXƒgƒ‰ƒNƒ^B
47     /// </summary>
48     public RsiManager()
49     {
50     }
51    
52     /// <summary>
53     /// ƒRƒ“ƒXƒgƒ‰ƒNƒ^B
54     /// </summary>
55     /// <param name="_filename"></param>
56     public RsiManager(string _filename)
57     {
58     if (!Load(_filename))
59     {
60     throw new Exception();
61     }
62     }
63    
64     /// <summary>
65     /// ƒRƒ“ƒXƒgƒ‰ƒNƒ^B
66     /// </summary>
67     /// <param name="_stream"></param>
68     public RsiManager(Stream _stream)
69     {
70     if (!Load(_stream))
71     {
72     throw new Exception();
73     }
74     }
75    
76     /// <summary>
77     /// RsiManager‚đ“ǂݍž‚ށB
78     /// </summary>
79     /// <param name="_filename"></param>
80     /// <returns></returns>
81     public bool Load(string _filename)
82     {
83     bool ret = true;
84     FileStream fs = null;
85     try
86     {
87     fs = new FileStream(_filename, FileMode.Open, FileAccess.Read);
88     ret = this.Load(fs);
89     }
90     catch( Exception e)
91     {
92     Logger.GetInstance().ErrorWrite("ConfigLoader", e);
93     ret = false;
94     }
95    
96     if (fs != null) fs.Close();
97     return ret;
98     }
99    
100     /// <summary>
101     /// RsiManager‚đ“ǂݍž‚ށB
102     /// </summary>
103     /// <param name="_stream"></param>
104     /// <returns></returns>
105     public bool Load(Stream _stream)
106     {
107     int eyeidx = 0;
108     int mouthidx = 0;
109    
110     XmlDocument xmlDoc = new XmlDocument();
111     try
112     {
113     xmlDoc.Load(_stream);
114     }
115     catch(Exception e)
116     {
117     Logger.GetInstance().Write(LogLevel.Warn, "RsiManager", String.Format("XML‰đÍ‚ĹƒGƒ‰[‚Ş”­ś‚ľ‚Ü‚ľ‚˝F{0}", e.Message));
118     return false;
119     }
120    
121     Logger.GetInstance().Write(LogLevel.Info, "RsiManager.Load", "Šî–{î•ń“ǂݍž‚ÝŠJŽnB");
122    
123     XmlElement docelm = (XmlElement)xmlDoc.FirstChild;
124     XmlNodeList nls;
125     nls = docelm.GetElementsByTagName("Title");
126     if (nls.Count != 1)
127     {
128     Logger.GetInstance().Write(LogLevel.Warn, "RsiManager", "TitleƒGƒŒƒƒ“ƒg‚ŞŒŠ‚Â‚Š‚č‚Ü‚š‚ńB");
129     return false;
130     }
131     Eshi = nls[0].FirstChild.Value;
132    
133     //ƒ‹[ƒgƒCƒ[ƒW
134     nls = docelm.GetElementsByTagName("RootImageName");
135     if (nls.Count != 1)
136     {
137     Logger.GetInstance().Write(LogLevel.Warn, "RsiManager", "RootImageNameƒGƒŒƒƒ“ƒg‚ŞŒŠ‚Â‚Š‚č‚Ü‚š‚ńB");
138     return false;
139     }
140     Base = nls[0].FirstChild.Value;
141    
142     //Width, Height
143     nls = docelm.GetElementsByTagName("Size");
144     if (nls.Count != 1)
145     {
146     Logger.GetInstance().Write(LogLevel.Warn, "RsiManager", "SizeƒGƒŒƒƒ“ƒg‚ŞŒŠ‚Â‚Š‚č‚Ü‚š‚ńB");
147     return false;
148     }
149     string[] ss;
150     ss =nls[0].FirstChild.Value.Split(",".ToCharArray());
151     BaseWidth = ss[0];
152     BaseHeight = ss[1];
153    
154     //Image“ǂݍž‚Ý
155     nls = docelm.GetElementsByTagName("Images");
156     if (nls.Count != 1)
157     {
158     Logger.GetInstance().Write(LogLevel.Warn, "RsiManager", "ImagesƒGƒŒƒƒ“ƒg‚ŞŒŠ‚Â‚Š‚č‚Ü‚š‚ńB");
159     return false;
160     }
161     foreach (XmlNode elm_ in nls[0].ChildNodes)
162     {
163     XmlElement elm;
164     if (!(elm_ is XmlElement)) continue;
165     elm = (XmlElement)elm_;
166    
167     Logger.GetInstance().Write(LogLevel.Info, "RsiManager.Load", "@loading elm:" + elm.Name + " " + elm.Attributes["name"].Value);
168    
169     if (elm.Name == "Image")
170     {
171     switch (elm.Attributes["name"].Value)
172     {
173     case "base": // ƒx[ƒX‰ć‘œ
174     Base = elm.Attributes["path"].Value.Replace("/", "\\");
175     break;
176     case "eye_close": //•–Ú
177     EyeClose = elm.Attributes["path"].Value.Replace("/", "\\");
178     break;
179     case "eye_thin": //”––Ú
180     EyeThin = elm.Attributes["path"].Value.Replace("/", "\\");
181     break;
182     case "eye_normal": //’ʏí
183     EyeNormal = elm.Attributes["path"].Value.Replace("/", "\\");
184     break;
185     case "mouth_a": //Œű‚ 
186     MouthA = elm.Attributes["path"].Value.Replace("/", "\\");
187     break;
188     case "mouth_i": //Œű‚˘
189     MouthI = elm.Attributes["path"].Value.Replace("/", "\\");
190     break;
191     case "mouth_u": //Œű‚¤
192     MouthU = elm.Attributes["path"].Value.Replace("/", "\\");
193     break;
194     case "mouth_e": //Œű‚Ś
195     MouthE = elm.Attributes["path"].Value.Replace("/", "\\");
196     break;
197     case "mouth_o": //Œű‚¨
198     MouthO = elm.Attributes["path"].Value.Replace("/", "\\");
199     break;
200     case "mouth_n": //Œű‚ń
201     MouthN = elm.Attributes["path"].Value.Replace("/", "\\");
202     break;
203     case "mouth_aa": //Œű‚ ‚ 
204     MouthAa = elm.Attributes["path"].Value.Replace("/", "\\");
205     break;
206     case "mouth_xo": //Œű‚§
207     MouthXo = elm.Attributes["path"].Value.Replace("/", "\\");
208     break;
209     default:
210     //–ڒljÁ‚ĚƒCƒ[ƒW‚Ĺ‚ˇ‚ЁH
211     if (elm.Attributes["name"].Value.ToString().Length > 4 &&
212     elm.Attributes["name"].Value.ToString().Substring(0, 4) == "eye_")
213     {
214     //‘˝‚ˇ‚ʂ܂š‚ń‚ЁH
215     if (eyeidx < MC_EYEADDMAX)
216     {
217     //’ljÁ‚ľ‚Ä‚n‚j‚É‚á
218     EyeAddName[eyeidx] = elm.Attributes["trigger"].Value;
219     EyeAdd[eyeidx] = elm.Attributes["path"].Value.Replace("/", "\\");
220     eyeidx++;
221     }
222     else
223     {
224     Logger.GetInstance().Write(LogLevel.Warn, "RsiManager", " –Ú‚Ě‰ć‘œ‚Ş‘˝‚ˇ‚Ź‚Ä“Ç‚ÝŽĚ‚Ä‚Ü‚ľ‚˝B");
225     }
226    
227     }
228     //Œű’ljÁ‚ĚƒCƒ[ƒW‚Ĺ‚ˇ‚ЁH
229     else if (elm.Attributes["name"].Value.ToString().Length > 6 &&
230     elm.Attributes["name"].Value.ToString().Substring(0, 6) == "mouth_")
231     {
232     //‘˝‚ˇ‚ʂ܂š‚ń‚ЁH
233     if (mouthidx < MC_MOUTHADDMAX)
234     {
235     //’ljÁ‚ľ‚Ä‚n‚j‚É‚á
236     MouthAddName[mouthidx] = elm.Attributes["trigger"].Value;
237     MouthAdd[mouthidx] = elm.Attributes["path"].Value.Replace("/", "\\");
238     mouthidx++;
239     }
240     else
241     {
242     Logger.GetInstance().Write(LogLevel.Warn, "RsiManager", " Œű‚Ě‰ć‘œ‚Ş‘˝‚ˇ‚Ź‚Ä“Ç‚ÝŽĚ‚Ä‚Ü‚ľ‚˝B");
243     }
244     }
245     break;
246     }
247     }
248     //ƒCƒ[ƒWˆČŠO“ǂݎ̂āEEE(^_^;)
249     }
250     Logger.GetInstance().Write(LogLevel.Info, "RsiManager", "LoadI—š");
251     return true;
252     }
253    
254    
255     /// <summary>
256     /// Ý’č‚đ•Ű‘ś‚ˇ‚éB(ă‘‚Ť•Ű‘ś)
257     /// </summary>
258     /// <param name="_filename"></param>
259     /// <returns></returns>
260     public bool Save()
261     {
262     return this.Save(RsiFileName);
263     }
264    
265     /// <summary>
266     /// Ý’č‚đ•Ű‘ś‚ˇ‚éB
267     /// </summary>
268     /// <param name="_filename"></param>
269     /// <returns></returns>
270     public bool Save(string _filename)
271     {
272     Logger.GetInstance().Write(LogLevel.Info, "RsiManager", "Ý’č‚đ•Ű‘ś‚ľ‚Ü‚ˇB");
273     RsiFileName = _filename;
274    
275     try
276     {
277     XmlDocument doc = new XmlDocument();
278     XmlElement elm = doc.CreateElement("SingerConfig");
279     //nodeKey = "/SingerConfig/Title";
280     doc.AppendChild(elm);
281    
282     //ƒGƒfƒBƒ^ƒo[ƒWƒ‡ƒ“‚đo—Í
283     elm.AppendChild(doc.CreateComment(String.Concat("RSI Editer ", RsiEditor.frmRsiEditor.strVersion)));
284    
285     XmlElement elm2;
286     XmlElement elm3;
287     XmlElement elm4;
288    
289     int eyecnt;
290     int mouthcnt;
291     int i;
292    
293     //–ڂ̒ljÁ‰ć‘œ”‚đƒJƒEƒ“ƒg
294     for ( i = 0; i < MC_EYEADDMAX; i++)
295     {
296     if (EyeAddName[i] == "")
297     {
298     break;
299     }
300     }
301     if ( i > MC_EYEADDMAX) i = MC_EYEADDMAX;
302     eyecnt = i;
303    
304     //Œű‚̒ljÁ‰ć‘œ”‚đƒJƒEƒ“ƒg
305     for (i = 0; i < MC_MOUTHADDMAX; i++)
306     {
307     if (MouthAddName[i] == "")
308     {
309     break;
310     }
311     }
312     if (i > MC_MOUTHADDMAX) i = MC_MOUTHADDMAX;
313     mouthcnt = i;
314    
315    
316     //ƒ^ƒCƒgƒ‹iŠGŽt-ƒLƒƒƒ‰)
317     elm2 = doc.CreateElement("Title");
318     elm2.AppendChild(doc.CreateTextNode(Eshi));
319     elm.AppendChild(elm2);
320    
321     //Width, Height
322     elm2 = doc.CreateElement("Size");
323     String strSize = String.Concat(BaseWidth, ",", BaseHeight);
324     elm2.AppendChild(doc.CreateTextNode(strSize));
325     elm.AppendChild(elm2);
326    
327     //ƒ‹[ƒgƒCƒ[ƒW
328     elm2 = doc.CreateElement("RootImageName");
329     elm2.AppendChild(doc.CreateTextNode("root"));
330     elm.AppendChild(elm2);
331    
332     //yƒCƒ[ƒWzƒOƒ‹[ƒv
333     elm2 = doc.CreateElement("Images");
334    
335     //@Base
336     elm2.AppendChild(doc.CreateComment("‘f‘Ě"));
337     elm3 = doc.CreateElement("Image");
338     elm3.SetAttribute("name", "base");
339     elm3.SetAttribute("size", strSize);
340     elm3.SetAttribute("path", Base.Replace("\\", "/"));
341     elm2.AppendChild(elm3);
342    
343     //ŽŠ“Ž—p
344     elm2.AppendChild(doc.CreateComment("ŽŠ“Ž—p"));
345     //@–Ú
346     elm3 = doc.CreateElement("Image");
347     elm3.SetAttribute("name", "auto_eye_close");
348     elm3.SetAttribute("size", strSize);
349     elm3.SetAttribute("path", EyeClose.Replace("\\", "/"));
350     elm2.AppendChild(elm3);
351    
352     elm3 = doc.CreateElement("Image");
353     elm3.SetAttribute("name", "auto_eye_thin");
354     elm3.SetAttribute("size", strSize);
355     elm3.SetAttribute("path", EyeThin.Replace("\\", "/"));
356     elm2.AppendChild(elm3);
357    
358     elm3 = doc.CreateElement("Image");
359     elm3.SetAttribute("name", "auto_eye_normal");
360     elm3.SetAttribute("size", strSize);
361     elm3.SetAttribute("path", EyeNormal.Replace("\\", "/"));
362     elm2.AppendChild(elm3);
363    
364     //@Œű
365     elm3 = doc.CreateElement("Image");
366     elm3.SetAttribute("name", "a");
367     elm3.SetAttribute("size", strSize);
368     elm3.SetAttribute("path", MouthA.Replace("\\", "/"));
369     elm2.AppendChild(elm3);
370    
371     elm3 = doc.CreateElement("Image");
372     elm3.SetAttribute("name", "aa");
373     elm3.SetAttribute("size", strSize);
374     elm3.SetAttribute("path", MouthAa.Replace("\\", "/"));
375     elm2.AppendChild(elm3);
376    
377     elm3 = doc.CreateElement("Image");
378     elm3.SetAttribute("name", "e");
379     elm3.SetAttribute("size", strSize);
380     elm3.SetAttribute("path", MouthE.Replace("\\", "/"));
381     elm2.AppendChild(elm3);
382    
383     elm3 = doc.CreateElement("Image");
384     elm3.SetAttribute("name", "i");
385     elm3.SetAttribute("size", strSize);
386     elm3.SetAttribute("path", MouthI.Replace("\\", "/"));
387     elm2.AppendChild(elm3);
388    
389     elm3 = doc.CreateElement("Image");
390     elm3.SetAttribute("name", "nn");
391     elm3.SetAttribute("size", strSize);
392     elm3.SetAttribute("path", MouthN.Replace("\\", "/"));
393     elm2.AppendChild(elm3);
394    
395     elm3 = doc.CreateElement("Image");
396     elm3.SetAttribute("name", "o");
397     elm3.SetAttribute("size", strSize);
398     elm3.SetAttribute("path", MouthO.Replace("\\", "/"));
399     elm2.AppendChild(elm3);
400    
401     elm3 = doc.CreateElement("Image");
402     elm3.SetAttribute("name", "u");
403     elm3.SetAttribute("size", strSize);
404     elm3.SetAttribute("path", MouthU.Replace("\\", "/"));
405     elm2.AppendChild(elm3);
406    
407     elm3 = doc.CreateElement("Image");
408     elm3.SetAttribute("name", "xo");
409     elm3.SetAttribute("size", strSize);
410     elm3.SetAttribute("path", MouthXo.Replace("\\", "/"));
411     elm2.AppendChild(elm3);
412    
413     //–Ú
414     elm2.AppendChild(doc.CreateComment("–Ú"));
415    
416     elm3 = doc.CreateElement("Image");
417     elm3.SetAttribute("trigger", "’ʏí");
418     elm3.SetAttribute("name", "eye_normal");
419     elm3.SetAttribute("size", strSize);
420     elm3.SetAttribute("path", EyeNormal.Replace("\\", "/"));
421     elm2.AppendChild(elm3);
422    
423     elm3 = doc.CreateElement("Image");
424     elm3.SetAttribute("trigger", "”––Ú");
425     elm3.SetAttribute("name", "eye_thin");
426     elm3.SetAttribute("size", strSize);
427     elm3.SetAttribute("path", EyeThin.Replace("\\", "/"));
428     elm2.AppendChild(elm3);
429    
430     elm3 = doc.CreateElement("Image");
431     elm3.SetAttribute("trigger", "•–Ú");
432     elm3.SetAttribute("name", "eye_close");
433     elm3.SetAttribute("size", strSize);
434     elm3.SetAttribute("path", EyeClose.Replace("\\", "/"));
435     elm2.AppendChild(elm3);
436    
437     //–ځ@’ljÁ•Ş
438     for( i=0; i<eyecnt; i++)
439     {
440     elm3 = doc.CreateElement("Image");
441     elm3.SetAttribute("trigger", EyeAddName[i]);
442     elm3.SetAttribute("name", String.Concat("eye_", EyeAddName[i]));
443     elm3.SetAttribute("size", strSize);
444     elm3.SetAttribute("path", EyeAdd[i].Replace("\\", "/"));
445     elm2.AppendChild(elm3);
446     }
447    
448     //Œű
449     elm2.AppendChild(doc.CreateComment("Œű"));
450    
451     elm3 = doc.CreateElement("Image");
452     elm3.SetAttribute("trigger", "‚ ");
453     elm3.SetAttribute("name", "mouth_a");
454     elm3.SetAttribute("size", strSize);
455     elm3.SetAttribute("path", MouthA.Replace("\\", "/"));
456     elm2.AppendChild(elm3);
457    
458     elm3 = doc.CreateElement("Image");
459     elm3.SetAttribute("trigger", "‚ ‚ ");
460     elm3.SetAttribute("name", "mouth_aa");
461     elm3.SetAttribute("size", strSize);
462     elm3.SetAttribute("path", MouthAa.Replace("\\", "/"));
463     elm2.AppendChild(elm3);
464    
465     elm3 = doc.CreateElement("Image");
466     elm3.SetAttribute("trigger", "‚Ś");
467     elm3.SetAttribute("name", "mouth_e");
468     elm3.SetAttribute("size", strSize);
469     elm3.SetAttribute("path", MouthE.Replace("\\", "/"));
470     elm2.AppendChild(elm3);
471    
472     elm3 = doc.CreateElement("Image");
473     elm3.SetAttribute("trigger", "‚˘");
474     elm3.SetAttribute("name", "mouth_i");
475     elm3.SetAttribute("size", strSize);
476     elm3.SetAttribute("path", MouthI.Replace("\\", "/"));
477     elm2.AppendChild(elm3);
478    
479     elm3 = doc.CreateElement("Image");
480     elm3.SetAttribute("trigger", "‚ń");
481     elm3.SetAttribute("name", "mouth_n");
482     elm3.SetAttribute("size", strSize);
483     elm3.SetAttribute("path", MouthN.Replace("\\", "/"));
484     elm2.AppendChild(elm3);
485    
486     elm3 = doc.CreateElement("Image");
487     elm3.SetAttribute("trigger", "‚¨");
488     elm3.SetAttribute("name", "mouth_o");
489     elm3.SetAttribute("size", strSize);
490     elm3.SetAttribute("path", MouthO.Replace("\\", "/"));
491     elm2.AppendChild(elm3);
492    
493     elm3 = doc.CreateElement("Image");
494     elm3.SetAttribute("trigger", "‚¤");
495     elm3.SetAttribute("name", "mouth_u");
496     elm3.SetAttribute("size", strSize);
497     elm3.SetAttribute("path", MouthU.Replace("\\", "/"));
498     elm2.AppendChild(elm3);
499    
500     elm3 = doc.CreateElement("Image");
501     elm3.SetAttribute("trigger", "‚§");
502     elm3.SetAttribute("name", "mouth_xo");
503     elm3.SetAttribute("size", strSize);
504     elm3.SetAttribute("path", MouthXo.Replace("\\", "/"));
505     elm2.AppendChild(elm3);
506    
507     //Œű@’ljÁ•Ş
508     for ( i = 0; i < mouthcnt; i++)
509     {
510     elm3 = doc.CreateElement("Image");
511     elm3.SetAttribute("trigger", MouthAddName[i]);
512     elm3.SetAttribute("name", String.Concat("mouth_", MouthAddName[i]));
513     elm3.SetAttribute("size", strSize);
514     elm3.SetAttribute("path", MouthAdd[i].Replace("\\", "/"));
515     elm2.AppendChild(elm3);
516     }
517    
518     //‚ť‚Ě‘ź
519     elm2.AppendChild(doc.CreateComment("‚ť‚Ě‘ź"));
520     //–ÚŽŠ“ŽƒAƒjƒ[ƒVƒ‡ƒ“
521     elm3 = doc.CreateElement("Animation");
522     elm3.SetAttribute("name", "eye_auto_set");
523     elm3.SetAttribute("trigger", "–ÚŽŠ“Ž");
524     elm3.SetAttribute("size", strSize);
525     elm3.SetAttribute("count", "33");
526     elm3.SetAttribute("interval", "0.15");
527    
528     elm4 = doc.CreateElement("Image");
529     elm4.SetAttribute("index", "0");
530     elm4.SetAttribute("imageName", "auto_eye_normal");
531     elm3.AppendChild(elm4);
532    
533     elm4 = doc.CreateElement("Image");
534     elm4.SetAttribute("index", "1");
535     elm4.SetAttribute("imageName", "auto_eye_thin");
536     elm3.AppendChild(elm4);
537    
538     elm4 = doc.CreateElement("Image");
539     elm4.SetAttribute("index", "2");
540     elm4.SetAttribute("imageName", "auto_eye_close");
541     elm3.AppendChild(elm4);
542    
543     elm4 = doc.CreateElement("Image");
544     elm4.SetAttribute("index", "3");
545     elm4.SetAttribute("imageName", "auto_eye_thin");
546     elm3.AppendChild(elm4);
547    
548     elm4 = doc.CreateElement("Image");
549     elm4.SetAttribute("index", "4");
550     elm4.SetAttribute("imageName", "auto_eye_normal");
551     elm3.AppendChild(elm4);
552    
553     elm2.AppendChild(elm3);
554    
555     //–ڎ蓎ƒZƒbƒg
556     elm3 = doc.CreateElement("Set");
557     elm3.SetAttribute("name", "eye_manual_set");
558     elm3.SetAttribute("trigger", "–ڎ蓎");
559     elm3.SetAttribute("size", strSize);
560     elm3.SetAttribute("count", String.Format("{0}",eyecnt + 3));
561    
562     elm4 = doc.CreateElement("Image");
563     elm4.SetAttribute("index", "0");
564     elm4.SetAttribute("imageName", "eye_close");
565     elm4.SetAttribute("offset", "0,0");
566     elm3.AppendChild(elm4);
567    
568     elm4 = doc.CreateElement("Image");
569     elm4.SetAttribute("index", "1");
570     elm4.SetAttribute("imageName", "eye_normal");
571     elm4.SetAttribute("offset", "0,0");
572     elm3.AppendChild(elm4);
573    
574     elm4 = doc.CreateElement("Image");
575     elm4.SetAttribute("index", "2");
576     elm4.SetAttribute("imageName", "eye_thin");
577     elm4.SetAttribute("offset", "0,0");
578     elm3.AppendChild(elm4);
579    
580     for ( i = 0; i < eyecnt; i++)
581     {
582     elm4 = doc.CreateElement("Image");
583     elm4.SetAttribute("index", String.Format("{0}", 3 + i));
584     elm4.SetAttribute("imageName", String.Concat("eye_", EyeAddName[i]));
585     elm4.SetAttribute("offset", "0,0");
586     elm3.AppendChild(elm4);
587     }
588     elm2.AppendChild(elm3);
589    
590     //ŒűŽŠ“ŽƒAƒjƒ[ƒVƒ‡ƒ“
591     elm3 = doc.CreateElement("Set");
592     elm3.SetAttribute("name", "mouth_auto_set");
593     elm3.SetAttribute("trigger", "ŒűŽŠ“Ž");
594     elm3.SetAttribute("size", strSize);
595     elm3.SetAttribute("count", "1");
596    
597     elm4 = doc.CreateElement("Image");
598     elm4.SetAttribute("index", "0");
599     elm4.SetAttribute("imageName", "mouth");
600     elm4.SetAttribute("offset", "0,0");
601     elm3.AppendChild(elm4);
602     elm2.AppendChild(elm3);
603    
604    
605     //ŒűŽč“ŽƒZƒbƒg
606     elm3 = doc.CreateElement("Set");
607     elm3.SetAttribute("name", "mouth_manual_set");
608     elm3.SetAttribute("trigger", "ŒűŽč“Ž");
609     elm3.SetAttribute("size", strSize);
610     elm3.SetAttribute("count", String.Format("{0}", mouthcnt + 7));
611    
612     elm4 = doc.CreateElement("Image");
613     elm4.SetAttribute("index", "0");
614     elm4.SetAttribute("imageName", "mouth_a");
615     elm4.SetAttribute("offset", "0,0");
616     elm3.AppendChild(elm4);
617    
618     elm4 = doc.CreateElement("Image");
619     elm4.SetAttribute("index", "1");
620     elm4.SetAttribute("imageName", "mouth_n");
621     elm4.SetAttribute("offset", "0,0");
622     elm3.AppendChild(elm4);
623    
624     elm4 = doc.CreateElement("Image");
625     elm4.SetAttribute("index", "2");
626     elm4.SetAttribute("imageName", "mouth_e");
627     elm4.SetAttribute("offset", "0,0");
628     elm3.AppendChild(elm4);
629    
630     elm4 = doc.CreateElement("Image");
631     elm4.SetAttribute("index", "3");
632     elm4.SetAttribute("imageName", "mouth_i");
633     elm4.SetAttribute("offset", "0,0");
634     elm3.AppendChild(elm4);
635    
636     elm4 = doc.CreateElement("Image");
637     elm4.SetAttribute("index", "4");
638     elm4.SetAttribute("imageName", "mouth_o");
639     elm4.SetAttribute("offset", "0,0");
640     elm3.AppendChild(elm4);
641    
642     elm4 = doc.CreateElement("Image");
643     elm4.SetAttribute("index", "5");
644     elm4.SetAttribute("imageName", "mouth_u");
645     elm4.SetAttribute("offset", "0,0");
646     elm3.AppendChild(elm4);
647    
648     elm4 = doc.CreateElement("Image");
649     elm4.SetAttribute("index", "6");
650     elm4.SetAttribute("imageName", "mouth_xo");
651     elm4.SetAttribute("offset", "0,0");
652     elm3.AppendChild(elm4);
653    
654     for (i = 0; i < mouthcnt; i++)
655     {
656     elm4 = doc.CreateElement("Image");
657     elm4.SetAttribute("index", String.Format("{0}", 7 + i));
658     elm4.SetAttribute("imageName", String.Concat("mouth_", MouthAddName[i]));
659     elm4.SetAttribute("offset", "0,0");
660     elm3.AppendChild(elm4);
661     }
662     elm2.AppendChild(elm3);
663    
664    
665     //ƒ‹[ƒg
666     elm2.AppendChild(doc.CreateComment("ƒ‹[ƒg"));
667    
668     elm3 = doc.CreateElement("Set");
669     elm3.SetAttribute("name", "root");
670     elm3.SetAttribute("size", strSize);
671     elm3.SetAttribute("count", "5");
672    
673     elm4 = doc.CreateElement("Image");
674     elm4.SetAttribute("index", "0");
675     elm4.SetAttribute("imageName", "base");
676     elm4.SetAttribute("offset", "0,0");
677     elm3.AppendChild(elm4);
678    
679     elm4 = doc.CreateElement("Image");
680     elm4.SetAttribute("index", "1");
681     elm4.SetAttribute("imageName", "eye_auto_set");
682     elm4.SetAttribute("offset", "0,0");
683     elm3.AppendChild(elm4);
684    
685     elm4 = doc.CreateElement("Image");
686     elm4.SetAttribute("index", "2");
687     elm4.SetAttribute("imageName", "eye_manual_set");
688     elm4.SetAttribute("offset", "0,0");
689     elm3.AppendChild(elm4);
690    
691     elm4 = doc.CreateElement("Image");
692     elm4.SetAttribute("index", "3");
693     elm4.SetAttribute("imageName", "mouth_auto_set");
694     elm4.SetAttribute("offset", "0,0");
695     elm3.AppendChild(elm4);
696    
697     elm4 = doc.CreateElement("Image");
698     elm4.SetAttribute("index", "4");
699     elm4.SetAttribute("imageName", "mouth_manual_set");
700     elm4.SetAttribute("offset", "0,0");
701     elm3.AppendChild(elm4);
702    
703     elm2.AppendChild(elm3);
704    
705     //yƒCƒ[ƒWzƒOƒ‹[ƒv“o˜^
706     elm.AppendChild(elm2);
707    
708     //yƒgƒŠƒK[zƒOƒ‹[ƒv
709     elm2 = doc.CreateElement("Triggers");
710     //–Ú
711     elm3 = doc.CreateElement("Trigger");
712     elm3.SetAttribute("default", "on");
713     elm3.SetAttribute("name", "–ÚŽŠ“Ž");
714     elm3.SetAttribute("group", "–ڐ§Œä");
715     elm3.SetAttribute("preview", EyeNormal.Replace("\\", "/"));
716     elm2.AppendChild(elm3);
717    
718     elm3 = doc.CreateElement("Trigger");
719     elm3.SetAttribute("name", "–ڎ蓎");
720     elm3.SetAttribute("group", "–ڐ§Œä");
721     elm3.SetAttribute("preview", EyeNormal.Replace("\\", "/"));
722     elm2.AppendChild(elm3);
723    
724     elm3 = doc.CreateElement("Trigger");
725     elm3.SetAttribute("default", "on");
726     elm3.SetAttribute("name", "ŒűŽŠ“Ž");
727     elm3.SetAttribute("group", "Œű§Œä");
728     elm3.SetAttribute("preview", MouthA.Replace("\\", "/"));
729     elm2.AppendChild(elm3);
730    
731     elm3 = doc.CreateElement("Trigger");
732     elm3.SetAttribute("name", "ŒűŽč“Ž");
733     elm3.SetAttribute("group", "Œű§Œä");
734     elm3.SetAttribute("preview", MouthA.Replace("\\", "/"));
735     elm2.AppendChild(elm3);
736    
737     elm3 = doc.CreateElement("Trigger");
738     elm3.SetAttribute("name", "’ʏí");
739     elm3.SetAttribute("group", "–Ú");
740     elm3.SetAttribute("preview", EyeNormal.Replace("\\", "/"));
741     elm2.AppendChild(elm3);
742    
743     elm3 = doc.CreateElement("Trigger");
744     elm3.SetAttribute("name", "•–Ú");
745     elm3.SetAttribute("group", "–Ú");
746     elm3.SetAttribute("preview", EyeClose.Replace("\\", "/"));
747     elm2.AppendChild(elm3);
748    
749     elm3 = doc.CreateElement("Trigger");
750     elm3.SetAttribute("name", "”––Ú");
751     elm3.SetAttribute("group", "–Ú");
752     elm3.SetAttribute("preview", EyeThin.Replace("\\", "/"));
753     elm2.AppendChild(elm3);
754    
755     for (i = 0; i < eyecnt; i++)
756     {
757     elm3 = doc.CreateElement("Trigger");
758     //elm3.SetAttribute("name", String.Concat("–Ú", EyeAddName[i]));
759     elm3.SetAttribute("name", EyeAddName[i]);
760     elm3.SetAttribute("group", "–Ú");
761     elm3.SetAttribute("preview", EyeAdd[i].Replace("\\", "/"));
762     elm2.AppendChild(elm3);
763     }
764    
765     elm3 = doc.CreateElement("Trigger");
766     elm3.SetAttribute("name", "‚ ");
767     elm3.SetAttribute("group", "Œű");
768     elm3.SetAttribute("preview", MouthA.Replace("\\", "/"));
769     elm2.AppendChild(elm3);
770    
771     elm3 = doc.CreateElement("Trigger");
772     elm3.SetAttribute("name", "‚ ‚ ");
773     elm3.SetAttribute("group", "Œű");
774     elm3.SetAttribute("preview", MouthAa.Replace("\\", "/"));
775     elm2.AppendChild(elm3);
776    
777     elm3 = doc.CreateElement("Trigger");
778     elm3.SetAttribute("name", "‚ń");
779     elm3.SetAttribute("group", "Œű");
780     elm3.SetAttribute("preview", MouthN.Replace("\\", "/"));
781     elm2.AppendChild(elm3);
782    
783     elm3 = doc.CreateElement("Trigger");
784     elm3.SetAttribute("name", "‚Ś");
785     elm3.SetAttribute("group", "Œű");
786     elm3.SetAttribute("preview", MouthE.Replace("\\", "/"));
787     elm2.AppendChild(elm3);
788    
789     elm3 = doc.CreateElement("Trigger");
790     elm3.SetAttribute("name", "‚˘");
791     elm3.SetAttribute("group", "Œű");
792     elm3.SetAttribute("preview", MouthI.Replace("\\", "/"));
793     elm2.AppendChild(elm3);
794    
795     elm3 = doc.CreateElement("Trigger");
796     elm3.SetAttribute("name", "‚¨");
797     elm3.SetAttribute("group", "Œű");
798     elm3.SetAttribute("preview", MouthO.Replace("\\", "/"));
799     elm2.AppendChild(elm3);
800    
801     elm3 = doc.CreateElement("Trigger");
802     elm3.SetAttribute("name", "‚¤");
803     elm3.SetAttribute("group", "Œű");
804     elm3.SetAttribute("preview", MouthU.Replace("\\", "/"));
805     elm2.AppendChild(elm3);
806    
807     elm3 = doc.CreateElement("Trigger");
808     elm3.SetAttribute("name", "‚§");
809     elm3.SetAttribute("group", "Œű");
810     elm3.SetAttribute("preview", MouthXo.Replace("\\", "/"));
811     elm2.AppendChild(elm3);
812    
813     for (i = 0; i < mouthcnt; i++)
814     {
815     elm3 = doc.CreateElement("Trigger");
816     //elm3.SetAttribute("name", String.Concat("Œű", MouthAddName[i]));
817     elm3.SetAttribute("name", MouthAddName[i]);
818     elm3.SetAttribute("group", "Œű");
819     elm3.SetAttribute("preview", MouthAdd[i].Replace("\\", "/"));
820     elm2.AppendChild(elm3);
821     }
822    
823     //yƒgƒŠƒK[zƒOƒ‹[ƒv“o˜^
824     elm.AppendChild(elm2);
825    
826     //ƒgƒŠƒK[‚Ě”r‘źÝ’č
827     elm2.AppendChild(doc.CreateComment("ƒgƒŠƒK[‚Ě”r‘źÝ’č"));
828    
829     elm3 = doc.CreateElement("Selection");
830     elm4 = doc.CreateElement("Item");
831     elm4.SetAttribute("Trigger", "–ÚŽŠ“Ž");
832     elm3.AppendChild(elm4);
833     elm4 = doc.CreateElement("Item");
834     elm4.SetAttribute("Trigger", "–ڎ蓎");
835     elm3.AppendChild(elm4);
836     elm2.AppendChild(elm3);
837    
838     elm3 = doc.CreateElement("Selection");
839     elm4 = doc.CreateElement("Item");
840     elm4.SetAttribute("Trigger", "ŒűŽŠ“Ž");
841     elm3.AppendChild(elm4);
842     elm4 = doc.CreateElement("Item");
843     elm4.SetAttribute("Trigger", "ŒűŽč“Ž");
844     elm3.AppendChild(elm4);
845     elm2.AppendChild(elm3);
846    
847     elm3 = doc.CreateElement("Selection");
848     elm4 = doc.CreateElement("Item");
849     elm4.SetAttribute("Trigger", "’ʏí");
850     elm3.AppendChild(elm4);
851     elm4 = doc.CreateElement("Item");
852     elm4.SetAttribute("Trigger", "•–Ú");
853     elm3.AppendChild(elm4);
854     elm4 = doc.CreateElement("Item");
855     elm4.SetAttribute("Trigger", "”––Ú");
856     elm3.AppendChild(elm4);
857     for (i = 0; i < eyecnt; i++)
858     {
859     elm4 = doc.CreateElement("Item");
860     //elm4.SetAttribute("Trigger", String.Concat("–Ú", EyeAddName[i]));
861     elm4.SetAttribute("Trigger", EyeAddName[i]);
862     elm3.AppendChild(elm4);
863     }
864     elm2.AppendChild(elm3);
865    
866     elm3 = doc.CreateElement("Selection");
867     elm4 = doc.CreateElement("Item");
868     elm4.SetAttribute("Trigger", "‚ ");
869     elm3.AppendChild(elm4);
870     elm4 = doc.CreateElement("Item");
871     elm4.SetAttribute("Trigger", "‚ ‚ ");
872     elm3.AppendChild(elm4);
873     elm4 = doc.CreateElement("Item");
874     elm4.SetAttribute("Trigger", "‚ń");
875     elm3.AppendChild(elm4);
876     elm4 = doc.CreateElement("Item");
877     elm4.SetAttribute("Trigger", "‚Ś");
878     elm3.AppendChild(elm4);
879     elm4 = doc.CreateElement("Item");
880     elm4.SetAttribute("Trigger", "‚˘");
881     elm3.AppendChild(elm4);
882     elm4 = doc.CreateElement("Item");
883     elm4.SetAttribute("Trigger", "‚¨");
884     elm3.AppendChild(elm4);
885     elm4 = doc.CreateElement("Item");
886     elm4.SetAttribute("Trigger", "‚¤");
887     elm3.AppendChild(elm4);
888     elm4 = doc.CreateElement("Item");
889     elm4.SetAttribute("Trigger", "‚§");
890     elm3.AppendChild(elm4);
891     for (i = 0; i < mouthcnt; i++)
892     {
893     elm4 = doc.CreateElement("Item");
894     //elm4.SetAttribute("Trigger", String.Concat("Œű", MouthAddName[i]));
895     elm4.SetAttribute("Trigger", MouthAddName[i]);
896     elm3.AppendChild(elm4);
897     }
898     elm2.AppendChild(elm3);
899    
900    
901     //////ŒűƒpƒNî•ń
902    
903     elm2 = doc.CreateElement("Mouths");
904    
905     elm3 = doc.CreateElement("Default");
906     elm3.SetAttribute("imageName", "nn");
907     elm2.AppendChild(elm3);
908    
909     SetElement_Mouth(doc, elm2, "a", "aa");
910     SetElement_Mouth(doc, elm2,"i", "i");
911     SetElement_Mouth(doc, elm2,"M", "u");
912     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"e\" imageName=\"e\" "));
913     SetElement_Mouth(doc, elm2,"o", "o");
914     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"k\" imageName=\"xo\" "));
915     SetElement_Mouth(doc, elm2,"k'", "i");
916     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"g\" imageName=\"xo\" "));
917     SetElement_Mouth(doc, elm2,"g'", "i");
918     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"N\" imageName=\"nn\" "));
919     SetElement_Mouth(doc, elm2,"N'", "nn");
920     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"s\" imageName=\"xo\" "));
921     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"S\" imageName=\"i\" "));
922     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"z\" imageName=\"i\" "));
923     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"Z\" imageName=\"i\" "));
924     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"t\" imageName=\"xo\" "));
925     SetElement_Mouth(doc, elm2,"t'", "xo");
926     SetElement_Mouth(doc, elm2,"ts", "xo");
927     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"tS\" imageName=\"i\" "));
928     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"d\" imageName=\"xo\" "));
929     SetElement_Mouth(doc, elm2,"d'", "xo");
930     SetElement_Mouth(doc, elm2,"dz", "xo");
931     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"dZ\" imageName=\"i\" "));
932     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"n\" imageName=\"nn\" "));
933     SetElement_Mouth(doc, elm2,"J", "nn");
934     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"h\" imageName=\"xo\" "));
935     SetElement_Mouth(doc, elm2,"h\\", "xo");
936     SetElement_Mouth(doc, elm2,"C", "xo");
937     SetElement_Mouth(doc, elm2,"p\\", "xo");
938     SetElement_Mouth(doc, elm2,"p\\'", "xo");
939     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"b\" imageName=\"nn\" "));
940     SetElement_Mouth(doc, elm2,"b'", "nn");
941     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"p\" imageName=\"nn\" "));
942     SetElement_Mouth(doc, elm2,"p'", "nn");
943     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"m\" imageName=\"nn\" "));
944     SetElement_Mouth(doc, elm2,"m'", "nn");
945     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"j\" imageName=\"xo\" "));
946     SetElement_Mouth(doc, elm2,"4", "u");
947     SetElement_Mouth(doc, elm2,"4'", "i");
948     //elm2.AppendChild(doc.CreateComment("Attach symbol=\"w\" imageName=\"xo\" "));
949     SetElement_Mouth(doc, elm2,"N\\", "nn");
950     SetElement_Mouth(doc, elm2,"@", "aa");
951     SetElement_Mouth(doc, elm2,"V", "aa");
952     SetElement_Mouth(doc, elm2,"e", "e");
953     SetElement_Mouth(doc, elm2,"I", "i");
954     SetElement_Mouth(doc, elm2,"i:", "i");
955     SetElement_Mouth(doc, elm2,"{", "a");
956     SetElement_Mouth(doc, elm2,"O:", "o");
957     SetElement_Mouth(doc, elm2,"Q", "o");
958     SetElement_Mouth(doc, elm2,"U", "u");
959     SetElement_Mouth(doc, elm2,"u:", "u");
960     SetElement_Mouth(doc, elm2,"@r", "a");
961     SetElement_Mouth(doc, elm2,"eI", "e");
962     SetElement_Mouth(doc, elm2,"aI", "aa");
963     SetElement_Mouth(doc, elm2,"OI", "o");
964     SetElement_Mouth(doc, elm2,"@U", "o");
965     SetElement_Mouth(doc, elm2,"aU", "aa");
966     SetElement_Mouth(doc, elm2,"I@", "i");
967     SetElement_Mouth(doc, elm2,"e@", "e");
968     SetElement_Mouth(doc, elm2,"U@", "u");
969     SetElement_Mouth(doc, elm2,"O@", "o");
970     SetElement_Mouth(doc, elm2,"Q@", "a");
971     SetElement_Mouth(doc, elm2,"w", "xo");
972     SetElement_Mouth(doc, elm2,"j", "xo");
973     SetElement_Mouth(doc, elm2,"b", "nn");
974     SetElement_Mouth(doc, elm2,"d", "xo");
975     SetElement_Mouth(doc, elm2,"g", "xo");
976     SetElement_Mouth(doc, elm2,"bh", "nn");
977     SetElement_Mouth(doc, elm2,"dh", "o");
978     SetElement_Mouth(doc, elm2,"gh", "u");
979     SetElement_Mouth(doc, elm2,"dZ", "i");
980     SetElement_Mouth(doc, elm2,"v", "u");
981     SetElement_Mouth(doc, elm2,"D", "e");
982     SetElement_Mouth(doc, elm2,"z", "u");
983     SetElement_Mouth(doc, elm2,"Z", "i");
984     SetElement_Mouth(doc, elm2,"m", "nn");
985     SetElement_Mouth(doc, elm2,"n", "nn");
986     SetElement_Mouth(doc, elm2,"N", "nn");
987     SetElement_Mouth(doc, elm2,"r", "xo");
988     SetElement_Mouth(doc, elm2,"l", "u");
989     SetElement_Mouth(doc, elm2,"lO", "u");
990     SetElement_Mouth(doc, elm2,"p", "nn");
991     SetElement_Mouth(doc, elm2,"t", "u");
992     SetElement_Mouth(doc, elm2,"k", "xo");
993     SetElement_Mouth(doc, elm2,"ph", "nn");
994     SetElement_Mouth(doc, elm2,"th", "u");
995     SetElement_Mouth(doc, elm2,"kh", "u");
996     SetElement_Mouth(doc, elm2,"tS", "i");
997     SetElement_Mouth(doc, elm2,"f", "u");
998     SetElement_Mouth(doc, elm2,"T", "u");
999     SetElement_Mouth(doc, elm2,"s", "u");
1000     SetElement_Mouth(doc, elm2,"S", "u");
1001     SetElement_Mouth(doc, elm2,"h", "xo");
1002    
1003    
1004     elm.AppendChild(elm2);
1005    
1006     //•Ű‘ś
1007     doc.Save(_filename);
1008    
1009     Logger.GetInstance().Write(LogLevel.Info, "RsiManager", "•Ű‘śI—šB");
1010     //MessageBox.Show("•Ű‘ś‚ľ‚Ü‚ľ‚˝B", "Šm”F", MessageBoxButtons.OK, MessageBoxIcon.Information);
1011     return true;
1012     }
1013     catch (Exception e)
1014     {
1015     Logger.GetInstance().ErrorWrite("AppManager", e);
1016     //MessageBox.Show("•Ű‘ś‚ÉŽ¸”s‚ľ‚Ü‚ľ‚˝B", "ƒGƒ‰[", MessageBoxButtons.OK, MessageBoxIcon.Error);
1017     return false;
1018     }
1019     }
1020     private void SetElement_Mouth(XmlDocument _doc, XmlElement _elm, String _symbolname, string _imagename)
1021     {
1022     XmlElement elm = _doc.CreateElement("Attach");
1023     elm.SetAttribute("symbol", _symbolname);
1024     elm.SetAttribute("imageName", _imagename);
1025     _elm.AppendChild(elm);
1026     }
1027    
1028     #region IDisposable ƒƒ“ƒo
1029    
1030     public void Dispose()
1031     {
1032     //foreach (SingerImageBase img in images.Values)
1033     //{
1034     // img.Dispose();
1035     //}
1036     }
1037    
1038     #endregion
1039     }
1040     }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26