Ejemplo n.º 1
0
        private void StartButton(LineDef line, ButtonPosition w, int texture, int time)
        {
            // See if button is already pressed
            for (var i = 0; i < MAXBUTTONS; i++)
            {
                if (buttonList[i].Timer != 0 && buttonList[i].Line == line)
                {
                    return;
                }
            }

            for (var i = 0; i < MAXBUTTONS; i++)
            {
                if (buttonList[i].Timer == 0)
                {
                    buttonList[i].Line        = line;
                    buttonList[i].Position    = w;
                    buttonList[i].Texture     = texture;
                    buttonList[i].Timer       = time;
                    buttonList[i].SoundOrigin = line.SoundOrigin;
                    return;
                }
            }

            throw new Exception("P_StartButton: no button slots left!");
        }
Ejemplo n.º 2
0
        protected override void ResizeGrid()
        {
            // waste ≈ border + gap
            int betweenWidth     = 2 * borderWidth + gapWidth;
            int totalWasteWidth  = grid.Cols * betweenWidth + gapWidth;
            int totalWasteHeight = grid.Rows * betweenWidth + gapWidth;

            int elementWidth  = (CanvasSize.Width - totalWasteWidth) / grid.Cols;
            int elementHeight = (CanvasSize.Height - totalWasteHeight) / grid.Rows;

            int gridWidth  = grid.Cols * elementWidth + totalWasteWidth;
            int gridHeight = grid.Rows * elementHeight + totalWasteHeight;

            int leftDelta = (CanvasSize.Width - gridWidth) / 2;
            int topDelta  = (CanvasSize.Height - gridHeight) / 2;

            foreach (var btn in grid)
            {
                Rectangle      rect = new Rectangle();
                ButtonPosition pos  = btn.LogicalPosition;
                rect.X      = leftDelta + pos.X * (elementWidth + betweenWidth) + borderWidth + gapWidth;
                rect.Y      = topDelta + pos.Y * (elementHeight + betweenWidth) + borderWidth + gapWidth;
                rect.Width  = pos.DimX * (elementWidth + betweenWidth) - betweenWidth;
                rect.Height = pos.DimY * (elementHeight + betweenWidth) - betweenWidth;

                btn.PixelPosition = rect;
                logger.Trace("Set pixel position of button '{0}' to {1}.", btn.Id, btn.PixelPosition);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Puts the button in one of the three available slots.
        /// </summary>
        /// <param name="position">The slot to be occupied by the button expressed as a <see cref="ButtonPosition"/></param>
        /// <param name="button">The new button.</param>
        protected virtual void ApplyButton(ButtonPosition position, EButton button)
        {
            if (button != null)
            {
                button.Style = "popup";
            }

            string part;

            switch (position)
            {
            case ButtonPosition.Positive:
                part = "button3";
                break;

            case ButtonPosition.Neutral:
                part = "button2";
                break;

            default:
                part = "button1";
                break;
            }

            SetPartContent(part, button, true);
        }
Ejemplo n.º 4
0
        public IconSides(DockingRoot root, ButtonPosition pos)
        {
            InitializeComponent();
            _bPos = pos;
            switch (_bPos)
            {
            case ButtonPosition.B_Bottom:
                this.BackgroundImage = global::DockingActions.Properties.Resources.bottom;
                break;

            case ButtonPosition.B_Left:
                this.BackgroundImage = global::DockingActions.Properties.Resources.left;
                break;

            case ButtonPosition.B_Right:
                this.BackgroundImage = global::DockingActions.Properties.Resources.right;
                break;

            case ButtonPosition.B_Top:
                this.BackgroundImage = global::DockingActions.Properties.Resources.top;
                break;
            }
            _root = root;
            EventHandler mouseHover = new EventHandler(OnMouseHoverOnRootButton);
            EventHandler mouseLeave = new EventHandler(OnMouseOutFromButton);

            B_PosBtn.MouseHover += mouseHover;
            B_PosBtn.MouseLeave += mouseLeave;
        }
Ejemplo n.º 5
0
        private void StartButton(LineDef line, ButtonPosition w, int texture, int time)
        {
            // See if button is already pressed.
            for (var i = 0; i < Specials.maxButtonCount; i++)
            {
                if (this.buttonList[i].Timer != 0 && this.buttonList[i].Line == line)
                {
                    return;
                }
            }

            for (var i = 0; i < Specials.maxButtonCount; i++)
            {
                if (this.buttonList[i].Timer == 0)
                {
                    this.buttonList[i].Line        = line;
                    this.buttonList[i].Position    = w;
                    this.buttonList[i].Texture     = texture;
                    this.buttonList[i].Timer       = time;
                    this.buttonList[i].SoundOrigin = line.SoundOrigin;

                    return;
                }
            }

            throw new Exception("No button slots left!");
        }
Ejemplo n.º 6
0
        private void SetGazeMotion(bool isAnswerYes, ButtonPosition yesButtonPos)
        {
            string gazeMotion = string.Empty;

            if (isAnswerYes)
            {
                if (yesButtonPos == ButtonPosition.Left)
                {
                    gazeMotion = "nodLeft";
                }
                else if (yesButtonPos == ButtonPosition.Right)
                {
                    gazeMotion = "nodRight";
                }
            }
            else
            {
                if (yesButtonPos == ButtonPosition.Left)
                {
                    gazeMotion = "nodRight";
                }
                else if (yesButtonPos == ButtonPosition.Right)
                {
                    gazeMotion = "nodLeft";
                }
            }

            //Debug.Log(GetCurrentStep() + " 문제 힌트 모션: " + gazeMotion);
            transformController.PlayMotion(gazeMotion);
        }
Ejemplo n.º 7
0
        private void SetGazeFace(bool isAnswerYes, ButtonPosition yesButtonPos)
        {
            string faceGaze = string.Empty;

            // 정답이 O/X인지 확인하고,
            // 현재 O버튼이 왼쪽에 있는지 오른쪽에 있는지 확인해서 쳐다보도록 설정.
            if (isAnswerYes)
            {
                if (yesButtonPos == ButtonPosition.Left)
                {
                    faceGaze = faceGazeLeft;
                }
                else if (yesButtonPos == ButtonPosition.Right)
                {
                    faceGaze = faceGazeRight;
                }
            }
            else
            {
                if (yesButtonPos == ButtonPosition.Left)
                {
                    faceGaze = faceGazeRight;
                }
                else if (yesButtonPos == ButtonPosition.Right)
                {
                    faceGaze = faceGazeLeft;
                }
            }

            robotFacialRenderer.Play(faceGaze);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Puts the button in one of the three available slots.
        /// </summary>
        /// <param name="position">The slot to be occupied by the button expressed as a <see cref="ButtonPosition"/></param>
        /// <param name="button">The new button.</param>
        void ApplyButton(ButtonPosition position, EButton button)
        {
            if (button != null)
            {
                button.Style = "popup";
            }

            switch (position)
            {
            case ButtonPosition.Positive:
                _positiveButton = button;
                SetPartContent("button3", _positiveButton, true);
                break;

            case ButtonPosition.Neutral:
                _neutralButton = button;
                SetPartContent("button2", _neutralButton, true);
                break;

            case ButtonPosition.Negative:
                _negativeButton = button;
                SetPartContent("button1", _negativeButton, true);
                break;
            }
        }
Ejemplo n.º 9
0
        protected override void ApplyButton(ButtonPosition position, EButton button)
        {
            string style = "";
            string part  = "";
            EColor color = EColor.Default;

            switch (position)
            {
            case ButtonPosition.Neutral:
                style = "popup/circle/right_check";
                part  = "button2";
                break;

            case ButtonPosition.Negative:
                style = _hasAcceptButton ? "popup/circle/left_delete" : "bottom";
                color = _hasAcceptButton ? EColor.Default : new EColor(0, 47, 66, 255);
                part  = "button1";
                break;

            case ButtonPosition.Positive:
            default:
                // Due to ux limiation, nothing to do
                break;
            }

            if (button != null)
            {
                button.Style           = style;
                button.BackgroundColor = color;
            }
            SetPartContent(part, button);
        }
Ejemplo n.º 10
0
        /// <summary> Создание кнопки </summary>
        private Button CreateButton(ButtonPosition ba, int TabIndex)
        {
            Point p = new Point(0, 0);

            if (ba == ButtonPosition.Left)
            {
                p = new Point(4, ClientSize.Height - 49);
            }
            if (ba == ButtonPosition.Center)
            {
                p = new Point((int)ClientSize.Width / 2 - 37, ClientSize.Height - 49);
            }
            if (ba == ButtonPosition.Right)
            {
                p = new Point(ClientSize.Width - 4 - 74, ClientSize.Height - 49);
            }
            Button b = new Button();

            b.Location = p;
            b.Parent   = this;
            b.Size     = new Size(74, 25);
            b.TabIndex = TabIndex;
            b.Text     = "";
            b.Click   += new EventHandler(ButtonClick);
            b.Hide();
            return(b);
        }
Ejemplo n.º 11
0
        protected override void ApplyButton(ButtonPosition position, EButton button)
        {
            switch (position)
            {
            case ButtonPosition.Neutral:
                this.SetButton2Part(button.SetWatchPopupRightStyle());
                break;

            case ButtonPosition.Negative:
                if (_hasAcceptButton)
                {
                    button.BackgroundColor = EColor.Default;
                    this.SetButton1Part(button.SetWatchPopupLeftStyle());
                }
                else
                {
                    button.BackgroundColor = new EColor(0, 47, 66, 255);
                    this.SetButton1Part(button.SetBottomStyle());
                }
                break;

            case ButtonPosition.Positive:
            default:
                // Due to ux limiation, nothing to do
                break;
            }
        }
Ejemplo n.º 12
0
 public void Clear()
 {
     this.line        = null;
     this.position    = 0;
     this.texture     = 0;
     this.timer       = 0;
     this.soundOrigin = null;
 }
Ejemplo n.º 13
0
 public void Clear()
 {
     line        = null;
     position    = 0;
     texture     = 0;
     timer       = 0;
     soundOrigin = null;
 }
Ejemplo n.º 14
0
 public void Clear()
 {
     Line        = null;
     Position    = 0;
     Texture     = 0;
     Timer       = 0;
     SoundOrigin = null;
 }
        private void SetButtonPosition(ButtonPosition buttonPosition)
        {
            switch (buttonPosition)
            {
            case ButtonPosition.TopLeft:
                spButtons.VerticalAlignment   = VerticalAlignment.Top;
                spButtons.HorizontalAlignment = HorizontalAlignment.Left;
                spButtons.Orientation         = System.Windows.Controls.Orientation.Horizontal;
                break;

            case ButtonPosition.TopCenter:
                spButtons.VerticalAlignment   = VerticalAlignment.Top;
                spButtons.HorizontalAlignment = HorizontalAlignment.Center;
                spButtons.Orientation         = System.Windows.Controls.Orientation.Horizontal;
                break;

            case ButtonPosition.TopRight:
                spButtons.VerticalAlignment   = VerticalAlignment.Top;
                spButtons.HorizontalAlignment = HorizontalAlignment.Right;
                spButtons.Orientation         = System.Windows.Controls.Orientation.Horizontal;
                break;

            case ButtonPosition.LeftCenter:
                spButtons.VerticalAlignment   = VerticalAlignment.Center;
                spButtons.HorizontalAlignment = HorizontalAlignment.Left;
                spButtons.Orientation         = System.Windows.Controls.Orientation.Vertical;
                break;

            case ButtonPosition.RightCenter:
                spButtons.VerticalAlignment   = VerticalAlignment.Center;
                spButtons.HorizontalAlignment = HorizontalAlignment.Right;
                spButtons.Orientation         = System.Windows.Controls.Orientation.Vertical;
                break;

            case ButtonPosition.BottomLeft:
                spButtons.VerticalAlignment   = VerticalAlignment.Bottom;
                spButtons.HorizontalAlignment = HorizontalAlignment.Left;
                spButtons.Orientation         = System.Windows.Controls.Orientation.Horizontal;
                break;

            case ButtonPosition.BottomCenter:
                spButtons.VerticalAlignment   = VerticalAlignment.Bottom;
                spButtons.HorizontalAlignment = HorizontalAlignment.Center;
                spButtons.Orientation         = System.Windows.Controls.Orientation.Horizontal;
                break;

            case ButtonPosition.BottomRight:
                spButtons.VerticalAlignment   = VerticalAlignment.Bottom;
                spButtons.HorizontalAlignment = HorizontalAlignment.Right;
                spButtons.Orientation         = System.Windows.Controls.Orientation.Horizontal;
                break;
            }
        }
Ejemplo n.º 16
0
        private void Btn_MouseMove(object sender, MouseEventArgs e)
        {
            Point  mousePos = e.GetPosition(null);
            Vector diff     = startPoint - mousePos;

            if (e.LeftButton == MouseButtonState.Pressed && (
                    Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance ||
                    Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance))
            {
                ButtonPosition pos  = ((Button)sender).Tag as ButtonPosition;
                var            Data = new DataObject("SourcePos", pos);
                DragDrop.DoDragDrop((DependencyObject)sender, Data, DragDropEffects.Move);
            }
        }
Ejemplo n.º 17
0
 public static void AddKeyboardTrigger(Key key, ButtonPosition buttonPosition, OnInputAction onInputAction)
 {
     if (!_keyboardActions.ContainsKey(key))
     {
         _keyboardActions.Add(key, new Dictionary <ButtonPosition, OnInputAction>());
     }
     if (!_keyboardActions[key].ContainsKey(buttonPosition))
     {
         _keyboardActions[key].Add(buttonPosition, onInputAction);
     }
     else
     {
         _keyboardActions[key][buttonPosition] += onInputAction;
     }
 }
Ejemplo n.º 18
0
 public static void AddMouseTrigger(MouseButton mouseButton, ButtonPosition buttonPosition, OnInputAction onInputAction)
 {
     if (!_mouseActions.ContainsKey(mouseButton))
     {
         _mouseActions.Add(mouseButton, new Dictionary <ButtonPosition, OnInputAction>());
     }
     if (!_mouseActions[mouseButton].ContainsKey(buttonPosition))
     {
         _mouseActions[mouseButton].Add(buttonPosition, onInputAction);
     }
     else
     {
         _mouseActions[mouseButton][buttonPosition] += onInputAction;
     }
 }
Ejemplo n.º 19
0
        /// <summary>
        /// Loads the user's settings from settings.ini
        /// </summary>
        public static void Load()
        {
            string[] settings = File.ReadAllLines(SettingsPath);

            #region Parse the settings ini for the settings pertaining to KSM Skin Manager
            int zero   = -1;
            int length = 0;
            for (int i = 0; i < settings.Length; i++)
            {
                if (settings[i] == "[KSMSkinManager]")
                {
                    zero = i;
                }
                if (zero != -1 && settings[i][0] == '[')
                {
                    length = i - zero;
                    break;
                }
            }
            if (length == 0)
            {
                length = settings.Length;
            }
            if (zero == -1)
            {
                MessageBox.Show("settings.ini file invalid", "KShootMania Skin Manager", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            settings = settings.SubArray(zero + 1, length - 1);
            #endregion

            foreach (string setting in settings)
            {
                string[] setting_split = setting.Split('=');
                switch (setting_split[0])
                {
                case "KSMDir":
                    KSMDir = setting_split[1]; break;

                case "TopPriorityOnTop":
                    TopPriorityOnTop = (setting_split[1] == "true" ? true : false); break;

                case "ChangeSkinButtonPosition":
                    ChangeSkinButtonPosition = (ButtonPosition)Convert.ToInt32(setting_split[1]); break;
                }
            }
        }
Ejemplo n.º 20
0
 public static void RemoveMouseTrigger(MouseButton mouseButton, ButtonPosition buttonPosition, OnInputAction onInputAction)
 {
     if (_mouseActions.ContainsKey(mouseButton))
     {
         if (_mouseActions[mouseButton].ContainsKey(buttonPosition))
         {
             _mouseActions[mouseButton][buttonPosition] -= onInputAction;
             if (_mouseActions[mouseButton][buttonPosition] == null)
             {
                 _mouseActions[mouseButton].Remove(buttonPosition);
                 if (_mouseActions[mouseButton].Count == 0)
                 {
                     _mouseActions.Remove(mouseButton);
                 }
             }
         }
     }
 }
Ejemplo n.º 21
0
 public static void RemoveKeyboardTrigger(Key key, ButtonPosition buttonPosition, OnInputAction onInputAction)
 {
     if (_keyboardActions.ContainsKey(key))
     {
         if (_keyboardActions[key].ContainsKey(buttonPosition))
         {
             _keyboardActions[key][buttonPosition] -= onInputAction;
             if (_keyboardActions[key][buttonPosition] == null)
             {
                 _keyboardActions[key].Remove(buttonPosition);
                 if (_keyboardActions[key].Count == 0)
                 {
                     _keyboardActions.Remove(key);
                 }
             }
         }
     }
 }
Ejemplo n.º 22
0
        private ListCollectionView CreatePositionFilteredItemsView(ButtonPosition position)
        {
            return new ListCollectionView(Items)
            {
                Filter = item =>
                {
                    var button = item as NavigationButton;
                    if (button != null)
                    {
                        return button.Position == position;
                    }

                    return false;
                },
                LiveFilteringProperties = { "Position" },
                IsLiveFiltering = true
            };
        }
Ejemplo n.º 23
0
        protected override void ResizeGrid()
        {
            int colWidth  = CanvasSize.Width / grid.Cols;
            int rowHeight = CanvasSize.Height / grid.Rows;

            foreach (var btn in grid)
            {
                Rectangle      rect = new Rectangle();
                ButtonPosition pos  = btn.LogicalPosition;
                rect.X      = pos.X * colWidth;
                rect.Y      = pos.Y * rowHeight;
                rect.Width  = pos.DimX * colWidth;
                rect.Height = pos.DimY * rowHeight;

                btn.PixelPosition = rect;
                logger.Trace("Set pixel position of button '{0}' to {1}.", btn.Id, btn.PixelPosition);
            }
        }
Ejemplo n.º 24
0
        /// <summary>
        /// 根据IAddressNode地址栏对象,创建并添加一个地址栏按钮
        /// </summary>
        /// <param name="node">The node to base the item on</param>
        /// <returns>Built SEAddressBarDropDownItem. Returns Null if method failed</returns>
        private void AddToolStripItemUpdate(IShengAddressNode node, ButtonPosition position)
        {
            ShengAddressBarButton tsButton = null;

            node.CreateChildNodes();

            tsButton = new ShengAddressBarButton(node.DisplayName, node.Icon, NodeButtonClicked);

            tsButton.AddressNode        = node;
            tsButton.ImageAlign         = ContentAlignment.MiddleCenter;
            tsButton.DoubleClickEnabled = true;
            tsButton.DoubleClick       += new EventHandler(NodeDoubleClickHandler);

            AddAddressBarButton(tsButton, position);

            if (IsManyNodes())
            {
                CreateOverflowDropDown();
            }
        }
Ejemplo n.º 25
0
        public void GazeToButton()
        {
            //Debug.Log("GazeToButton");

            timerManager.hintTimer.TurnOff();

            ButtonPosition yesButtonPos = answerButton.GetYesButtonPosition;
            bool           isAnswerYes  = quizStatusManager.IsAnswerYes;

            if (isActiveFace)
            {
                //Debug.Log(GetCurrentStep() + " 문제 표정 큐");
                SetGazeFace(isAnswerYes, yesButtonPos);       // 표정 큐
            }
            else
            {
                //Debug.Log(GetCurrentStep() + " 문제 모션 큐");
                SetGazeMotion(isAnswerYes, yesButtonPos);                  // 모션 큐
            }
        }
Ejemplo n.º 26
0
        /// <summary>
        /// Puts the button in one of the three available slots.
        /// </summary>
        /// <param name="position">The slot to be occupied by the button expressed as a <see cref="ButtonPosition"/></param>
        /// <param name="button">The new button.</param>
        protected virtual void ApplyButton(ButtonPosition position, EButton button)
        {
            if (button != null)
            {
                button.SetPopupStyle();
            }

            switch (position)
            {
            case ButtonPosition.Positive:
                this.SetButton3Part(button, true);
                break;

            case ButtonPosition.Neutral:
                this.SetButton2Part(button, true);
                break;

            default:
                this.SetButton1Part(button, true);
                break;
            }
        }
Ejemplo n.º 27
0
        /// <summary>
        /// 添加一个地址栏项
        /// </summary>
        /// <param name="button"></param>
        /// <param name="position"></param>
        private void AddAddressBarButton(ShengAddressBarButton button, ButtonPosition position)
        {
            //如果当前显示了最左下拉菜单,就需要直接加在最左下拉菜单下
            //如果直接加左边,可能整个地址条是够显示的,就造成这一项出现在最左下拉前面
            //并且如果直接加在最左下拉下面,就不用去管是否还有子级了,因为不需要显示那个向下箭头了
            if (this.Items.Contains(_overflowButton))
            {
                ShengAddressBarDropDownItem dropDownItem = new ShengAddressBarDropDownItem(button.Text, button.Image, NodeButtonClicked);
                dropDownItem.AddressNode = button.AddressNode;
                //_overflowButton.DropDown.Items.Add(dropDownItem);
                _overflowDropDown.Items.Add(dropDownItem);
            }
            else
            {
                //处理子级,如果需要,需要显示一个向下箭头
                BuildChildItem(button);

                if (position == ButtonPosition.Behind)
                {
                    this.Items.Add(button);
                    if (button.DropDownButton != null)
                    {
                        this.Items.Add(button.DropDownButton);
                    }

                    _buttonList.Add(button);
                }
                else
                {
                    this.Items.Insert(0, button);
                    if (button.DropDownButton != null)
                    {
                        this.Items.Insert(1, button.DropDownButton);
                    }

                    _buttonList.Insert(0, button);
                }
            }
        }
Ejemplo n.º 28
0
        public void AddButton(Button btn)
        {
            if (buttonGrid == null)
            {
                throw new InvalidOperationException("Method SetDimension() has to be called before adding a button!");
            }

            if (btn == null)
            {
                throw new ArgumentNullException("Parameter 'btn' may not be null!");
            }

            ButtonPosition pos = btn.Position;

            if (pos.X < 0 || pos.X >= Cols || (pos.X + pos.DimX > Cols))
            {
                throw new ArgumentOutOfRangeException(String.Format("Position in x-axis for button '{0}' is out of range!", btn.Id));
            }

            if (pos.Y < 0 || pos.Y >= Rows || (pos.Y + pos.DimY > Rows))
            {
                throw new ArgumentOutOfRangeException(String.Format("Position in y-axis for button '{0}' is out of range!", btn.Id));
            }

            if (buttonDict.ContainsKey(btn.Id))
            {
                throw new ArgumentException(String.Format("Button with id '{0}' was already added!", btn.Id));
            }

            for (int i = pos.X; i < pos.X + pos.DimX; i++)
            {
                for (int j = pos.Y; j < pos.Y + pos.DimY; j++)
                {
                    buttonGrid[i, j] = btn;
                }
            }

            buttonDict.Add(btn.Id, btn);
        }
Ejemplo n.º 29
0
        private void Btn_Drop(object sender, DragEventArgs e)
        {
            if (lastDrag == null)
            {
                lastDrag = e;
                return;
            }

            if (e.Data.GetDataPresent("SourcePos"))
            {
                ButtonPosition SourcePos = e.Data.GetData("SourcePos") as ButtonPosition;
                ButtonPosition TargetPos = ((Button)sender).Tag as ButtonPosition;
                OnButtonSwitched?.Invoke(this, new ButtonSwitchedEventArgs()
                {
                    Source = SourcePos, Target = TargetPos
                });
                //System.Diagnostics.Debug.Print(String.Format("Droped from: {0}, {1}", SourcePos.X, SourcePos.Y));
                //System.Diagnostics.Debug.Print(e.Handled.ToString());
            }

            lastDrag = null;
        }
Ejemplo n.º 30
0
    public void LoadData()
    {
        ArrayList data = XMLHandler.LoadXML(dir+filename);

        int langs = DataHolder.Languages().GetDataCount();
        this.moneyText = new string[langs];
        this.timeText = new string[langs];
        this.itemCollectionText = new string[langs];
        this.itemCollectionYesText = new string[langs];
        this.itemCollectionNoText = new string[langs];
        this.dialogueOkText = new string[langs];
        this.dialogueOkSize = new Vector2[langs];
        this.dialogueOkOffset = new Vector2[langs];
        this.skillLevelName = new string[langs];
        this.moneyCollectionText = new string[langs];
        this.moneyCollectionYesText = new string[langs];
        this.moneyCollectionNoText = new string[langs];
        for(int i=0; i<langs; i++)
        {
            this.moneyText[i] = "% Money";
            this.timeText[i] = "Time: %";
            this.itemCollectionText[i] = "You found % %n!";
            this.itemCollectionYesText[i] = "Take";
            this.itemCollectionNoText[i] = "Leave";
            this.dialogueOkText[i] = "Ok";
            this.dialogueOkSize[i] = new Vector2(100, 30);
            this.dialogueOkOffset[i] = new Vector2(0, 0);
            this.skillLevelName[i] = "%n Lvl %";
            this.moneyCollectionText[i] = "You found % money!";
            this.moneyCollectionYesText[i] = "Take";
            this.moneyCollectionNoText[i] = "Leave";
        }

        if(data.Count > 0)
        {
            foreach(Hashtable entry in data)
            {
                if(entry[XMLHandler.NODE_NAME] as string == GameSettingsData.GAMESETTINGS)
                {
                    if(entry.ContainsKey(XMLHandler.NODES))
                    {
                        ArrayList subs = entry[XMLHandler.NODES] as ArrayList;
                        foreach(Hashtable val in subs)
                        {
                            if(val[XMLHandler.NODE_NAME] as string == GameSettingsData.GAMESETTING)
                            {
                                if(val.ContainsKey("encryptdata")) encryptData = true;

                                if(val.ContainsKey("acceptkey")) acceptKey = val["acceptkey"] as string;
                                if(val.ContainsKey("cancelkey")) cancelKey = val["cancelkey"] as string;
                                if(val.ContainsKey("verticalkey")) verticalKey = val["verticalkey"] as string;
                                if(val.ContainsKey("horizontalkey")) horizontalKey = val["horizontalkey"] as string;
                                if(val.ContainsKey("scrollspeed")) scrollSpeed = float.Parse((string)val["scrollspeed"]);
                                if(val.ContainsKey("icon")) dialogueOkIconName = val["icon"] as string;
                                if(val.ContainsKey("itemcollectionpos")) itemCollectionPosition = int.Parse((string)val["itemcollectionpos"]);
                                if(val.ContainsKey("pausetime")) pauseTime = true;
                                if(val.ContainsKey("switchplayer")) switchPlayer = true;
                                if(val.ContainsKey("switchonlybp")) switchOnlyBP = true;
                                if(val.ContainsKey("freezepause")) freezePause = true;

                                if(val.ContainsKey("minrandomrange")) minRandomRange = float.Parse((string)val["minrandomrange"]);
                                if(val.ContainsKey("maxrandomrange")) maxRandomRange = float.Parse((string)val["maxrandomrange"]);

                                maxBattleParty = int.Parse((string)val["maxactiveparty"]);
                                cursorTimeout = float.Parse((string)val["cursortimeout"]);
                                if(val.ContainsKey("clicktimeout"))
                                {
                                    clickTimeout = float.Parse((string)val["clicktimeout"]);
                                }
                                gameControl = (GameControl)System.Enum.Parse(
                                        typeof(GameControl), (string)val["gamecontrol"]);
                                dialogueOkPosition = (ButtonPosition)System.Enum.Parse(
                                        typeof(ButtonPosition), (string)val["dialogueokposition"]);

                                if(val.ContainsKey("guisystemtype"))
                                {
                                    guiSystemType = (GUISystemType)System.Enum.Parse(
                                            typeof(GUISystemType), (string)val["guisystemtype"]);
                                }
                                if(val.ContainsKey("guifiltermode"))
                                {
                                    guiFilterMode = (FilterMode)System.Enum.Parse(
                                            typeof(FilterMode), (string)val["guifiltermode"]);
                                }
                                if(val.ContainsKey("guiimagestretch"))
                                {
                                    guiImageStretch = (GUIImageStretch)System.Enum.Parse(
                                            typeof(GUIImageStretch), (string)val["guiimagestretch"]);
                                }
                                if(val.ContainsKey("battletexturedelete"))
                                {
                                    battleTextureDelete = (TextureDelete)System.Enum.Parse(
                                            typeof(TextureDelete), (string)val["battletexturedelete"]);
                                }
                                if(val.ContainsKey("menutexturedelete"))
                                {
                                    menuTextureDelete = (TextureDelete)System.Enum.Parse(
                                            typeof(TextureDelete), (string)val["menutexturedelete"]);
                                }
                                if(val.ContainsKey("mipmapbias")) mipMapBias = float.Parse((string)val["mipmapbias"]);
                                if(val.ContainsKey("preloadfonts")) preloadFonts = true;
                                if(val.ContainsKey("preloadboxes")) preloadBoxes = true;
                                if(val.ContainsKey("preloadareanames")) preloadAreaNames = true;
                                if(val.ContainsKey("noscrollbar")) noScrollbar = true;
                                if(val.ContainsKey("noscrollbarthumb")) noScrollbarThumb = true;
                                if(val.ContainsKey("noautocollapse")) noAutoCollapse = true;
                                if(val.ContainsKey("hudrefreshframe")) hudRefreshFrame = true;
                                if(val.ContainsKey("autoremovelayer")) autoRemoveLayer = true;
                                if(val.ContainsKey("loopskilllevels")) loopSkillLevels = true;
                                if(val.ContainsKey("addskilllevel")) addSkillLevel = true;
                                if(val.ContainsKey("itemcollectionchoice")) itemCollectionChoice = true;
                                if(val.ContainsKey("moneycollectionchoice")) moneyCollectionChoice = true;
                                if(val.ContainsKey("hudrefreshrate"))
                                {
                                    hudRefreshRate = float.Parse((string)val["hudrefreshrate"]);
                                }
                                if(val.ContainsKey("maxclickdistance"))
                                {
                                    maxClickDistance = int.Parse((string)val["maxclickdistance"]);
                                }

                                if(val.ContainsKey("areanamepos"))
                                {
                                    this.showAreaNames = true;
                                    this.areaNamePosition = int.Parse((string)val["areanamepos"]);
                                    this.areaNameVisibleTime = float.Parse((string)val["areanametime"]);
                                }

                                if(val.ContainsKey("inputhandling"))
                                {
                                    this.inputHandling = (InputHandling)System.Enum.Parse(
                                            typeof(InputHandling), (string)val["inputhandling"]);
                                }

                                if(val.ContainsKey("playercomponents"))
                                {
                                    this.playerComponent = new string[int.Parse((string)val["playercomponents"])];
                                }

                                if(val.ContainsKey("spawndistance"))
                                {
                                    this.spawnParty = true;
                                    this.spawnDistance = float.Parse((string)val["spawndistance"]);
                                    BoolHelper.FromHashtable(val, "onlyinbattlearea", ref this.onlyInBattleArea);
                                    BoolHelper.FromHashtable(val, "spawnonlybp", ref this.spawnOnlyBP);
                                }

                                if(val.ContainsKey("partyfollow"))
                                {
                                    this.partyFollow = true;
                                }

                                if(val.ContainsKey("guiscalemode"))
                                {
                                    guiScaleMode = (GUIScaleMode)System.Enum.Parse(
                                            typeof(GUIScaleMode), (string)val["guiscalemode"]);
                                }

                                ArrayList s = val[XMLHandler.NODES] as ArrayList;
                                foreach(Hashtable ht in s)
                                {
                                    if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.DIALOGUEOK)
                                    {
                                        int i = int.Parse((string)ht["id"]);
                                        if(i < langs)
                                        {
                                            dialogueOkSize[i] = new Vector2(float.Parse((string)ht["width"]),
                                                    float.Parse((string)ht["height"]));
                                            dialogueOkOffset[i] = new Vector2(float.Parse((string)ht["x"]),
                                                    float.Parse((string)ht["y"]));
                                            dialogueOkText[i] = ht[XMLHandler.CONTENT] as string;
                                        }
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.DIALOGUEOKICON)
                                    {
                                        dialogueOkIconName = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.DEFAULTSCREEN)
                                    {
                                        defaultScreen.x = float.Parse((string)ht["width"]);
                                        defaultScreen.y = float.Parse((string)ht["height"]);
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.CURSORAUDIO)
                                    {
                                        this.cursorMoveAudio = ht[XMLHandler.CONTENT] as string;
                                        this.cursorMoveVolume = float.Parse((string)ht["volume"]);
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.ACCEPTAUDIO)
                                    {
                                        this.acceptAudio = ht[XMLHandler.CONTENT] as string;
                                        this.acceptVolume = float.Parse((string)ht["volume"]);
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.CANCELAUDIO)
                                    {
                                        this.cancelAudio = ht[XMLHandler.CONTENT] as string;
                                        this.cancelVolume = float.Parse((string)ht["volume"]);
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.FAILAUDIO)
                                    {
                                        this.failAudio = ht[XMLHandler.CONTENT] as string;
                                        this.failVolume = float.Parse((string)ht["volume"]);
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.SKILLLEVELAUDIO)
                                    {
                                        this.skillLevelAudio = ht[XMLHandler.CONTENT] as string;
                                        this.skillLevelVolume = float.Parse((string)ht["volume"]);
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.GAMEOVER)
                                    {
                                        this.gameOver.scene = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.ITEMCOLLECTIONTEXT)
                                    {
                                        int i = int.Parse((string)ht["id"]);
                                        if(i < langs) this.itemCollectionText[i] = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.ITEMCOLLECTIONYESTEXT)
                                    {
                                        int i = int.Parse((string)ht["id"]);
                                        if(i < langs) this.itemCollectionYesText[i] = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.ITEMCOLLECTIONNOTEXT)
                                    {
                                        int i = int.Parse((string)ht["id"]);
                                        if(i < langs) this.itemCollectionNoText[i] = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.DROPSETTINGS)
                                    {
                                        this.saveDrops = bool.Parse((string)ht["save"]);
                                        if(ht.ContainsKey("dropmask"))
                                        {
                                            this.dropOnGround = true;
                                            this.dropMask = int.Parse((string)ht["dropmask"]);
                                        }
                                        this.dropOffsetX = new Vector2(float.Parse((string)ht["x1"]), float.Parse((string)ht["x2"]));
                                        this.dropOffsetY = new Vector2(float.Parse((string)ht["y1"]), float.Parse((string)ht["y2"]));
                                        this.dropOffsetZ = new Vector2(float.Parse((string)ht["z1"]), float.Parse((string)ht["z2"]));
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.ACCEPTKEY)
                                    {
                                        this.acceptKey = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.CANCELKEY)
                                    {
                                        this.cancelKey = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.VERTICALKEY)
                                    {
                                        this.verticalKey = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.HORIZONTALKEY)
                                    {
                                        this.horizontalKey = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.MONEYTEXT)
                                    {
                                        int i = int.Parse((string)ht["id"]);
                                        if(i < langs) this.moneyText[i] = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.MONEYICON)
                                    {
                                        this.moneyIconName = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.TIMETEXT)
                                    {
                                        int i = int.Parse((string)ht["id"]);
                                        if(i < langs) this.timeText[i] = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.TIMEICON)
                                    {
                                        this.timeIconName = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.SKILLPLUSKEY)
                                    {
                                        this.skillPlusKey = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.SKILLMINUSKEY)
                                    {
                                        this.skillMinusKey = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.SKILLLEVELNAME)
                                    {
                                        int i = int.Parse((string)ht["id"]);
                                        if(i < langs) this.skillLevelName[i] = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.CHARPLUSKEY)
                                    {
                                        this.charPlusKey = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.CHARMINUSKEY)
                                    {
                                        this.charMinusKey = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.PLAYERCOMPONENT)
                                    {
                                        int i = int.Parse((string)ht["id"]);
                                        if(i < this.playerComponent.Length) this.playerComponent[i] = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.PLAYERCONTROLSETTINGS)
                                    {
                                        this.playerControlSettings.SetData(ht);
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.CAMERACONTROLSETTINGS)
                                    {
                                        this.cameraControlSettings.SetData(ht);
                                        this.cameraControlSettings.mouseTouch.mode = MouseTouch.MOVE;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.MONEYPREFAB)
                                    {
                                        this.moneyPrefabName = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.MONEYCOLLECTIONTEXT)
                                    {
                                        int i = int.Parse((string)ht["id"]);
                                        if(i < langs) this.moneyCollectionText[i] = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.MONEYCOLLECTIONYES)
                                    {
                                        int i = int.Parse((string)ht["id"]);
                                        if(i < langs) this.moneyCollectionYesText[i] = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.MONEYCOLLECTIONNO)
                                    {
                                        int i = int.Parse((string)ht["id"]);
                                        if(i < langs) this.moneyCollectionNoText[i] = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.ITEMCOLLECTIONANIMATION)
                                    {
                                        this.itemCollectionAnimation = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.PAUSEKEY)
                                    {
                                        this.pauseKey = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.INTERACTIONCONTROLLER)
                                    {
                                        this.addInteractionController = true;
                                        this.interactionControllerName = ht[XMLHandler.CONTENT] as string;
                                        this.interactionControllerOffset = VectorHelper.FromHashtable(ht);
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.INTERACTIONCONTROLLERCHILD)
                                    {
                                        this.interactionControllerChildName = ht[XMLHandler.CONTENT] as string;
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.STATISTIC)
                                    {
                                        this.statistic.SetData(ht);
                                    }
                                    else if(ht[XMLHandler.NODE_NAME] as string == GameSettingsData.GAMEOVERSETTINGS)
                                    {
                                        this.gameOver.SetData(ht);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
        private void SetButtonPosition(ButtonPosition buttonPosition)
        {
            switch (buttonPosition)
            {
                case ButtonPosition.TopLeft:
                    spButtons.VerticalAlignment = VerticalAlignment.Top;
                    spButtons.HorizontalAlignment = HorizontalAlignment.Left;
                    spButtons.Orientation = System.Windows.Controls.Orientation.Horizontal;
                    break;
                case ButtonPosition.TopCenter:
                    spButtons.VerticalAlignment = VerticalAlignment.Top;
                    spButtons.HorizontalAlignment = HorizontalAlignment.Center;
                    spButtons.Orientation = System.Windows.Controls.Orientation.Horizontal;
                    break;
                case ButtonPosition.TopRight:
                    spButtons.VerticalAlignment = VerticalAlignment.Top;
                    spButtons.HorizontalAlignment = HorizontalAlignment.Right;
                    spButtons.Orientation = System.Windows.Controls.Orientation.Horizontal;
                    break;
                case ButtonPosition.LeftCenter:
                    spButtons.VerticalAlignment = VerticalAlignment.Center;
                    spButtons.HorizontalAlignment = HorizontalAlignment.Left;
                    spButtons.Orientation = System.Windows.Controls.Orientation.Vertical;
                    break;
                case ButtonPosition.RightCenter:
                    spButtons.VerticalAlignment = VerticalAlignment.Center;
                    spButtons.HorizontalAlignment = HorizontalAlignment.Right;
                    spButtons.Orientation = System.Windows.Controls.Orientation.Vertical;
                    break;
                case ButtonPosition.BottomLeft:
                    spButtons.VerticalAlignment = VerticalAlignment.Bottom;
                    spButtons.HorizontalAlignment = HorizontalAlignment.Left;
                    spButtons.Orientation = System.Windows.Controls.Orientation.Horizontal;
                    break;
                case ButtonPosition.BottomCenter:
                    spButtons.VerticalAlignment = VerticalAlignment.Bottom;
                    spButtons.HorizontalAlignment = HorizontalAlignment.Center;
                    spButtons.Orientation = System.Windows.Controls.Orientation.Horizontal;
                    break;
                case ButtonPosition.BottomRight:
                    spButtons.VerticalAlignment = VerticalAlignment.Bottom;
                    spButtons.HorizontalAlignment = HorizontalAlignment.Right;
                    spButtons.Orientation = System.Windows.Controls.Orientation.Horizontal;
                    break;

            }
        }
 public ButtonInfo(ButtonPosition position, ButtonGraphic graphic, int buttonID)
 {
     m_Position = position;
     m_Graphic  = graphic;
     m_ButtonID = buttonID;
 }
 public void RegisterButton(ButtonPosition position, ButtonGraphic graphic, int buttonID)
 {
     m_Buttons.Add(new ButtonInfo(position, graphic, buttonID));
 }
Ejemplo n.º 34
0
			public ButtonInfo( ButtonPosition position, ButtonGraphic graphic, int buttonID )
			{
				m_Position = position;
				m_Graphic = graphic;
				m_ButtonID = buttonID;
			}
Ejemplo n.º 35
0
		public void RegisterButton( ButtonPosition position, ButtonGraphic graphic, int buttonID )
		{
			m_Buttons.Add( new ButtonInfo( position, graphic, buttonID ) );
		}
Ejemplo n.º 36
0
 void Awake()
 {
     me = this;
 }