Exemple #1
0
        }   // end of DelObjTool Update()

        #endregion Public

        #region Internal
        private void BuildSelected()
        {
            List <GameThing> gameThings = inGame.gameThingList;

            selected.Clear();
            unselected.Clear();

            Brush2DManager.Brush2D brush = Brush2DManager.GetBrush(shared.editBrushIndex);
            bool isSelection             =
                (brush != null) &&
                ((brush.Type & Brush2DManager.BrushType.Selection) != 0);

            for (int i = 0; i < gameThings.Count; ++i)
            {
                GameActor actor = gameThings[i] as GameActor;
                if (actor != null)
                {
                    Vector3 pos = actor.Movement.Position;

                    bool actorSelected = false;
                    if (isSelection)
                    {
                        actorSelected = Terrain.Current.PositionSelected(pos);
                    }
                    else if (InStretchMode)
                    {
                        actorSelected = Terrain.Current.PositionSelected(pos,
                                                                         shared.editBrushIndex,
                                                                         shared.editBrushStart,
                                                                         shared.editBrushPosition,
                                                                         shared.editBrushRadius);
                    }
                    else
                    {
                        actorSelected = Terrain.Current.PositionSelected(pos,
                                                                         shared.editBrushIndex,
                                                                         shared.editBrushPosition,
                                                                         shared.editBrushRadius);
                    }
                    if (actorSelected)
                    {
                        actor.MakeSelected(true, Vector4.UnitX);
                        selected.Add(actor);
                    }
                    else
                    {
                        actor.MakeSelected(false, Vector4.Zero);
                        unselected.Add(actor);
                    }
                }
            }
        }