예제 #1
0
        void EItemControl_MouseDown(Control sender, EMouseButtons button)
        {
            if (button == EMouseButtons.Left)
            {
                GetControlManager().PlaySound(LeftDownSound);
            }
            else if (button == EMouseButtons.Right)
            {
                GetControlManager().PlaySound(RightDownSound);
            }

            ExecuteSharedEvents();

            MainVBHUD p = Parent as MainVBHUD;

            if (p == null || p.selectedUnit == null)
            {
                return;
            }

            if (button == EMouseButtons.Left)
            {
                p.selectedUnit.ActiveHeldItem.ItemClick();

                /*
                 * if (GetSPPlayer().ActiveHeldItem as TimedExplosiveItem != null)
                 * {
                 *  ETimeSpanWindow tmpWindow = (ETimeSpanWindow)ControlDeclarationManager.Instance.CreateControl("Gui\\TimeSpanWindow.gui");
                 *  tmpWindow.OnDetachEvent += delegate(ETimeSpanWindow tmpSender)
                 *  {
                 *      if (tmpWindow.NumValue.TotalSeconds != 0)
                 *      {
                 *          (GetSPPlayer().DropItem(GetSPPlayer().GetCurItem) as TimedExplosiveItem).DetonateIn((float)tmpWindow.NumValue.TotalSeconds);
                 *          Log.Info("You set the timer.");
                 *      }
                 *  };
                 *  ScreenControlManager.Instance.Controls.Add(tmpWindow);
                 *  return;
                 * }
                 *
                 * GetSPPlayer().ActiveHeldItem.ItemClick();*/
            }
            else if (button == EMouseButtons.Right)
            {
                MultipleActionItem maTmp = p.selectedUnit.ActiveHeldItem as MultipleActionItem;
                if (maTmp != null)
                {
                    maTmp.IncActMode();
                }
            }
        }
예제 #2
0
        protected override void OnTick(float delta)
        {
            base.OnTick(delta);

            MainVBHUD p = Parent as MainVBHUD;

            if (p != null && p.selectedUnit != null)
            {
                VBItem objItem = p.selectedUnit.ActiveHeldItem;
                if (objItem != null)
                {
                    if (objItem.Type.InvIcon != null)
                    {
                        if (objItem.Type.ActIcon != null)
                        {
                            SetIcon(objItem.Type.ActIcon);
                        }
                        else
                        {
                            SetIcon(objItem.Type.InvIcon);
                        }
                    }
                    else
                    {
                        SetIcon(null);
                    }

                    MultipleActionItem maObjItem = objItem as MultipleActionItem;
                    if (maObjItem != null)
                    {
                        ModeLabel.Text = maObjItem.GetCurActionMode().UseText;
                        APLabel.Text   = "AP " + maObjItem.GetCurActionMode().ActionPoints.ToString();

                        ConsumableItem consObjItem = maObjItem as ConsumableItem;
                        if (consObjItem != null)
                        {
                            ConsBar.Visible = true;
                            ConsBar.UpdateAPTextures(consObjItem.Juice);
                        }
                        else
                        {
                            ConsBar.Visible = false;
                        }
                    }
                    else
                    {
                        ModeLabel.Text = APLabel.Text = string.Empty;
                    }
                }
            }
        }