示例#1
0
        public void ParseField(string fieldName, int index)
        {
            FieldPreset fieldPreset = new FieldPreset(index, fieldName);

            _fieldPreset_ByName.Add(fieldName, fieldPreset);
            _fieldPreset_ByIndex.Add(index, fieldPreset);
        }
示例#2
0
        public string GetFieldName(int fieldIndex)
        {
            FieldPreset fieldPreset = GetFieldPreset(fieldIndex);

            if (fieldPreset == null)
            {
                Debug.LogError("GetFieldName 실패 [" + fieldIndex + "]");
                return(null);
            }
            return(fieldPreset._fieldName);
        }
示例#3
0
        public int GetFieldIndex(string fieldName)
        {
            FieldPreset fieldPreset = GetFieldPreset(fieldName);

            if (fieldPreset == null)
            {
                Debug.LogError("GetFieldIndex 실패 [" + fieldName + "]");
                return(-1);
            }
            return(fieldPreset._index);
        }
示例#4
0
        public bool FileRead(StreamReader sr)
        {
            Clear();

            string curText = "";

            try
            {
                curText = sr.ReadLine();                 // "-----"
                if (curText.Contains("-"))
                {
                    //라인이 입력되었다.
                    //한줄 더 읽자
                    curText = sr.ReadLine();
                }
                int nTypes = int.Parse(curText);

                curText = sr.ReadLine();
                int nFields = int.Parse(curText);

                for (int i = 0; i < nTypes; i++)
                {
                    ParseIndexString(sr.ReadLine());
                    TypePreset typePreset = new TypePreset(_parseUnit.index, _parseUnit.strValue);
                    _typePreset_ByIndex.Add(typePreset._index, typePreset);
                    _typePreset_ByName.Add(typePreset._typeName, typePreset);

                    _parsedTypes.Add(typePreset._typeName, Type.GetType(typePreset._typeName));
                }

                for (int i = 0; i < nFields; i++)
                {
                    ParseIndexString(sr.ReadLine());
                    FieldPreset fieldPreset = new FieldPreset(_parseUnit.index, _parseUnit.strValue);
                    _fieldPreset_ByIndex.Add(fieldPreset._index, fieldPreset);
                    _fieldPreset_ByName.Add(fieldPreset._fieldName, fieldPreset);
                }

                sr.ReadLine();                 // "-----"
            }
            catch (Exception ex)
            {
                Debug.LogError("Backup Table FileRead Exception : " + ex);
                return(false);
            }

            return(true);
        }
示例#5
0
        public int AddFieldName(string fieldName)
        {
            FieldPreset fieldPreset = GetFieldPreset(fieldName);

            if (fieldPreset == null)
            {
                FieldPreset newPreset = new FieldPreset(_nextIndex_Field, fieldName);
                _fieldPreset_ByName.Add(fieldName, newPreset);
                _fieldPreset_ByIndex.Add(_nextIndex_Field, newPreset);

                _nextIndex_Field++;

                return(newPreset._index);
            }

            return(fieldPreset._index);
        }
示例#6
0
        public MainWindow()
        {
            InitializeComponent();

            Field = Clone <SnakeLogic.Field>(FieldPreset);
            Field.Snakes[0].alive = false;
            MainFrame.Children.Add(Field.Draw());

            RedrawField += () =>
            {
                MainFrame.Children.Insert(0, FieldPreset.Draw());
                MainFrame.Children.RemoveAt(1);
            };

            Closed += (_, __) => updatetimer.Stop();

            updatetimer.Elapsed += (_, __) => Dispatcher.BeginInvoke((Action)(() => Update()), null);
        }