Exemplo n.º 1
0
        public void GetKeywords1()
        {
            string[] keys = { "A", "B", "C", "D" };
            string   key  = InteractionUtil.getKeywords("\nChoose an option", keys, 3);

            GoatMessageUtil.msg("You chose {0}.", key);
        }
Exemplo n.º 2
0
        public void scale1()
        {
            Point3d  center   = new Point3d(0, 0, 0);
            ObjectId objectId = InteractionUtil.getEntityId("\n 选择要移动的对象");

            objectId.QOpenForWrite(x => x.scale(center, 2));
        }
Exemplo n.º 3
0
        public void circle2()
        {
            Point3d point3d  = InteractionUtil.getPoint("请输入圆心:");
            double  distance = InteractionUtil.getDistance("请输入半径:");
            Circle  circle   = GoatCircleUtil.Circle(point3d, distance);

            circle.AddToModelSpace();
        }
Exemplo n.º 4
0
        public void copy1()
        {
            Point3d sourcePt = new Point3d(0, 0, 0);
            Point3d targetPt = new Point3d(100, 100, 0);
            Entity  ent      = InteractionUtil.getEntity("\n 选择要删除的对象");

            GoatCopyUtil.copyById(ent.Id, sourcePt, targetPt);
        }
Exemplo n.º 5
0
        public void move3()
        {
            Point3d  basePt   = new Point3d(0, 0, 0);
            Point3d  targetPt = new Point3d(100, 100, 0);
            ObjectId objectId = InteractionUtil.getEntityId("\n 选择要移动的对象");

            objectId.QOpenForWrite(x => x.moveByPoint3d(basePt, targetPt));
        }
Exemplo n.º 6
0
        public void mirror2()
        {
            Point3d  basePt   = new Point3d(0, 0, 0);
            Point3d  targetPt = new Point3d(100, 100, 0);
            Line3d   line3d   = new Line3d(basePt, targetPt);
            ObjectId objectId = InteractionUtil.getEntityId("\n 选择要镜像的对象");

            objectId.QOpenForWrite(x => x.mirrorByLine3d(line3d));
        }
Exemplo n.º 7
0
        public void move2()
        {
            Point3d  basePt   = new Point3d(0, 0, 0);
            Point3d  targetPt = new Point3d(100, 100, 0);
            Vector3d vec      = targetPt - basePt;
            ObjectId objectId = InteractionUtil.getEntityId("\n 选择要移动的对象");

            objectId.QOpenForWrite(x => x.moveByVector3d(vec));
        }
Exemplo n.º 8
0
        public static void Temp1()
        {
            ObjectId[] ids     = QuickSelection.GetSelection("\n Select entity");
            Extents3d  extents = ids.GetExtents();
            // 画出矩形后 返回矩形id
            ObjectId rectId = GoatPolylineUtil.RectangAdd(extents.MinPoint, extents.MaxPoint);

            InteractionUtil.getString("\nPress ENTER to reset...");
            // 删除矩形
            rectId.QOpenForWrite(Constant.actionErase);
        }
Exemplo n.º 9
0
        public void explode1()
        {
            ObjectId objectId = InteractionUtil.getEntityId("\n 选择要更炸开的对象");

            if (objectId == ObjectId.Null)
            {
                return;
            }
            ObjectId[] objectIds = GoatExplodeUtil.Explode(objectId);
            GoatMessageUtil.msg(objectIds.Length.ToString());
        }
Exemplo n.º 10
0
        public void interaction2()
        {
            DBObjectCollection list      = GoatSelectorUtil.selectAll();
            List <ObjectId>    entityIds = new List <ObjectId>();

            foreach (DBObject o in list)
            {
                entityIds.Add(o.Id);
            }
            InteractionUtil.UnhighlightObjects(entityIds);
        }
Exemplo n.º 11
0
        //点击“切入到 AutoCAD 拾取点”按钮窗体自动隐藏,程序焦点切换到 AutoCAD 主界面
        private void button1_Click(object sender, EventArgs e)
        {
            using (EditorUserInteraction edUsrInt = BaseData.ed.StartUserInteraction(this)){
                //交互过程
                Point3d pt = InteractionUtil.getPoint("选择点");
//                _textBox = textBox1;
//                _textBox.Text  = "(" + pt.X + "," + pt.Y + "," + pt.Z + ")";
                this.textBox1.Text = "(" + pt.X + "," + pt.Y + "," + pt.Z + ")";
                //交互结束
                edUsrInt.End();
                Focus();
            }
        }
Exemplo n.º 12
0
        // 点击确定按钮
        private void btnOk_Click(object sender, EventArgs e)
        {
            string[] list = new string[clb.CheckedItems.Count];
            // 将列表复选框的所有选中项 复制到 数组中
            clb.CheckedItems.CopyTo(list, 0);
            FilterList filterList = FilterList.Create().Layer(list);
            var        ids        = QuickSelection.SelectAll(filterList).ToArray();

            // 通过 ids 设置对象为选中状态
            InteractionUtil.SetPickSet(ids);
            // 关闭对话框
            DialogResult = DialogResult.OK;
            Close();
        }
        /// <summary>
        /// 保存物料,并显示保存结果
        /// </summary>
        /// <param name="billView"></param>
        /// <returns></returns>
        private void SaveMaterial(IBillView billView, OperateOption saveOption)
        {
            // 设置FormId
            Form form = billView.BillBusinessInfo.GetForm();

            if (form.FormIdDynamicProperty != null)
            {
                form.FormIdDynamicProperty.SetValue(billView.Model.DataObject, form.Id);
            }

            // 调用保存操作
            IOperationResult saveResult = BusinessDataServiceHelper.Save(
                this.Context,
                billView.BillBusinessInfo,
                billView.Model.DataObject,
                saveOption,
                "Save");

            // 显示处理结果
            if (saveResult == null)
            {
                this.View.ShowErrMessage("未知原因导致保存物料失败!");
                return;
            }
            else if (saveResult.IsSuccess == true)
            {// 保存成功,直接显示
                this.View.ShowOperateResult(saveResult.OperateResult);
                return;
            }
            else if (saveResult.InteractionContext != null &&
                     saveResult.InteractionContext.Option.GetInteractionFlag().Count > 0)
            {// 保存失败,需要用户确认问题
                InteractionUtil.DoInteraction(this.View, saveResult, saveOption,
                                              new Action <FormResult, IInteractionResult, OperateOption>((
                                                                                                             formResult, opResult, option) =>
                {
                    // 用户确认完毕,重新调用保存处理
                    this.SaveMaterial(billView, option);
                }));
            }
            // 保存失败,显示错误信息
            if (saveResult.IsShowMessage)
            {
                saveResult.MergeValidateErrors();
                this.View.ShowOperateResult(saveResult.OperateResult);
                return;
            }
        }
Exemplo n.º 14
0
        private void Update()
        {
            if (_client.Owner == _user.Id && _client.Orientation == WebClient.ORIENTATION_VERTICAL)
            {
                var result = InteractionUtil.PerformRaycast(transform.position, -transform.up);

                if (result != null)
                {
                    _client.LookingAtId   = result.GetInteractionId();
                    _client.LookingAtType = result.GetInteractionType();
                }
                else
                {
                    _client.LookingAtId   = -1;
                    _client.LookingAtType = "";
                }
            }
        }
Exemplo n.º 15
0
 public void line1()
 {
     var entityId = InteractionUtil.getEntityId("\nSpecify a Line", typeof(Line));
 }
Exemplo n.º 16
0
        public void msg1()
        {
            Entity ent = InteractionUtil.getEntity("\n 选择对象");

            BaseData.ed.WriteMessage("\n 你选择的对象ObjectId:" + ent.ObjectId);
        }
Exemplo n.º 17
0
        public void delete2()
        {
            ObjectId objectId = InteractionUtil.getEntityId("\n 选择要删除的对象");

            objectId.QOpenForWrite(Constant.actionErase);
        }
Exemplo n.º 18
0
        public void GetDistance()
        {
            double value = InteractionUtil.getDistance("\nSize");

            GoatMessageUtil.msg("\n 输入的距离:({0})", value);
        }
Exemplo n.º 19
0
        public void getString3()
        {
            string stringResult = InteractionUtil.getString("\n hello getString2 :", "heihei");

            GoatMessageUtil.msg("\n 输入的字符串:({0})", stringResult);
        }
Exemplo n.º 20
0
        public void GetKeywords2()
        {
            string key = InteractionUtil.getKeywords("Which entity do you want to create? [Circle/Block] : ", "Circle Block");

            GoatMessageUtil.msg("You chose {0}.", key);
        }
Exemplo n.º 21
0
        public override void RunPostChaseBehavior()
        {
            skillActor.StartSkillGain(EWPetFightingSkill.kSkillGainRateNormal);
            OutcomeType outcomeType = OutcomeType.Succeed;

            outcomeType = (OutcomeType)RandomUtil.GetWeightedIndex(GetOutcomeWeights());
            PlayFaceoffAnims(false);
            switch (outcomeType)
            {
            case OutcomeType.Succeed:
                if (Target.LotCurrent != Target.LotHome)
                {
                    if (Target.IsHuman)
                    {
                        Target.RequestWalkStyle(WalkStyle.MeanChasedRun);
                    }
                    else
                    {
                        Target.RequestWalkStyle(WalkStyle.PetRun);
                    }
                    // Success! Actor drove the unwanted sim off the lot.
                    skillActor.AddPoints(200f, true, true);                               // Successful driving off a foe gains skill
                    MakeSimGoHome(Target, false);
                }

                break;

            case OutcomeType.Fight:
                if (!Actor.HasExitReason(ExitReason.Default) && !Target.HasExitReason(ExitReason.Default))
                {
                    if (Target.IsHuman)
                    {
                        EWPetAttackSim continuation = EWPetAttackSim.Singleton.CreateInstance(Target, Actor,
                                                                                              new InteractionPriority(InteractionPriorityLevel.High), Autonomous,
                                                                                              cancellableByPlayer: true) as EWPetAttackSim;
                        continuation.SetParams(true, false);
                        Actor.InteractionQueue.TryPushAsContinuation(this, continuation);
                    }
                    else
                    {
                        EWFightPet continuation = EWFightPet.Singleton.CreateInstance(Target, Actor,
                                                                                      new InteractionPriority(InteractionPriorityLevel.High), Autonomous,
                                                                                      cancellableByPlayer: true) as EWFightPet;
                        continuation.SetParams(true, false);
                        Actor.InteractionQueue.TryPushAsContinuation(this, continuation);
                    }
                }
                break;

            case OutcomeType.Reversal:
                // In this situation, a pet target will mean chase the actor and a human target will scold

                PlayFaceoffAnims(true);
                if (!Actor.HasExitReason(ExitReason.Default) && !Target.HasExitReason(ExitReason.Default))
                {
                    if (Target.IsHuman)
                    {
                        // Scold naughty actor
                        PlayScoldAnims();
                    }
                    else
                    {
                        EWChaseMean chaseMean = InteractionUtil.CreateInstance(this, Singleton, Actor, Target) as EWChaseMean;
                        if (chaseMean != null)
                        {
                            chaseMean.PreviouslyAccepted = true;
                            chaseMean.NumLoops           = Math.Max(0, NumLoops - 1);
                            Target.InteractionQueue.TryPushAsContinuation(this, chaseMean);
                        }
                    }
                }
                break;

            case OutcomeType.ChaseAgain:
                if (!Actor.HasExitReason(ExitReason.Default) && !Target.HasExitReason(ExitReason.Default) && base.NumLoops > 0)
                {
                    EWChaseOffLot chaseMean = InteractionUtil.CreateInstance(this, Singleton, Target, Actor) as EWChaseOffLot;
                    if (chaseMean != null)
                    {
                        chaseMean.PreviouslyAccepted = true;
                        chaseMean.NumLoops           = Math.Max(0, NumLoops - 1);
                        Actor.InteractionQueue.TryPushAsContinuation(this, chaseMean);
                    }
                }
                break;
            }
            EventTracker.SendEvent(new SocialEvent(EventTypeId.kSocialInteraction, Actor, Target, "Chase Mean", wasRecipient: false, wasAccepted: true, actorWonFight: false, CommodityTypes.Undefined));
            EventTracker.SendEvent(new SocialEvent(EventTypeId.kSocialInteraction, Target, Actor, "Chase Mean", wasRecipient: true, wasAccepted: true, actorWonFight: false, CommodityTypes.Undefined));
            skillActor.StopSkillGain();
        }
Exemplo n.º 22
0
        public void color2()
        {
            ObjectId objectId = InteractionUtil.getEntityId("\n 选择要更改颜色的对象");

            objectId.QOpenForWrite(1, Constant.entityColor);
        }
Exemplo n.º 23
0
        public void getPoint2()
        {
            Point3d pt = InteractionUtil.getPoint("\n 选择点对象", true);

            BaseData.ed.WriteMessage("\n 拾取的点坐标为:({0},{1},{2})", pt.X, pt.Y, pt.Z);
        }
Exemplo n.º 24
0
        public void getAngle()
        {
            double value = InteractionUtil.getAngle("\n 输入 角度");

            GoatMessageUtil.msg("\n 输入的 角度:({0})", value);
        }
Exemplo n.º 25
0
        public void getCorner()
        {
            Point3d pt = InteractionUtil.getCorner("\n 输入的矩形角点区域", Point3d.Origin);

            BaseData.ed.WriteMessage("\n 输入的矩形角点区域:({0},{1},{2})", pt.X, pt.Y, pt.Z);
        }
Exemplo n.º 26
0
        public void getInteger()
        {
            int pt = InteractionUtil.getInteger("\n 请输入整数:");

            GoatMessageUtil.msg("\n 输入的整数:({0})", pt);
        }