Пример #1
0
        /// <summary>
        /// Loads the fresh.
        /// </summary>
        /// <returns></returns>
        private SegmentDto LoadFresh()
        {
            SegmentDto segment = null;

            if (SegmentId == 0)
            {
                // Create an empty segment
                segment = new SegmentDto();
                SegmentDto.SegmentRow row = segment.Segment.NewSegmentRow();
                row.ApplicationId = MarketingConfiguration.Instance.ApplicationId;

                row.Name        = "";
                row.DisplayName = "";
                row.Description = "";

                if (row.RowState == DataRowState.Detached)
                {
                    segment.Segment.Rows.Add(row);
                }
            }
            else
            {
                segment = SegmentManager.GetSegmentDto(SegmentId);
            }

            // persist in session
            Session[_SegmentDtoEditSessionKey] = segment;

            return(segment);
        }
Пример #2
0
        /// <summary>
        /// Processes the delete command.
        /// </summary>
        /// <param name="items">The items.</param>
        void ProcessDeleteCommand(string[] items)
        {
            for (int i = 0; i < items.Length; i++)
            {
                string[] keys = EcfListView.GetPrimaryKeyIdStringItems(items[i]);
                if (keys != null)
                {
                    string     id             = keys[0];
                    List <int> expressionList = new List <int>();

                    SegmentDto dto = SegmentManager.GetSegmentDto(Int32.Parse(id));
                    if (dto.Segment.Count > 0)
                    {
                        SegmentDto.SegmentRow segmentRow = dto.Segment[0];
                        foreach (SegmentDto.SegmentConditionRow condition in segmentRow.GetSegmentConditionRows())
                        {
                            expressionList.Add(condition.ExpressionId);
                        }
                        dto.Segment[0].Delete();
                        SegmentManager.SaveSegment(dto);
                    }

                    // Delete corresponding expressions
                    foreach (int expressionId in expressionList)
                    {
                        ExpressionDto expressionDto = ExpressionManager.GetExpressionDto(expressionId);
                        if (expressionDto != null && expressionDto.Expression.Count > 0)
                        {
                            expressionDto.Expression[0].Delete();
                            ExpressionManager.SaveExpression(expressionDto);
                        }
                    }
                }
            }
        }
Пример #3
0
        /// <summary>
        /// Binds the form.
        /// </summary>
        private void BindForm()
        {
            // Bind segments
            TargetSegments.DataSource = SegmentManager.GetSegmentDto();
            TargetSegments.DataBind();

            if (_campaign != null)
            {
                //first check permissions
                //if permissions not present, deny
                SecurityManager.CheckRolePermission("marketing:campaigns:mng:edit");

                CampaignDto.CampaignRow row = _campaign.Campaign[0];
                CampaignName.Text        = row.Name;
                this.AvailableFrom.Value = ManagementHelper.GetUserDateTime(row.StartDate);
                this.ExpiresOn.Value     = ManagementHelper.GetUserDateTime(row.EndDate);
                IsActive.IsSelected      = row.IsActive;
                IsArchived.IsSelected    = row.IsArchived;
                Comments.Text            = row.Comments;

                foreach (CampaignDto.CampaignSegmentRow segmentRow in row.GetCampaignSegmentRows())
                {
                    ManagementHelper.SelectListItem(TargetSegments, segmentRow.SegmentId.ToString(), false);
                }
            }
            else
            {
                //first check permissions
                //if permissions not present, deny
                SecurityManager.CheckRolePermission("marketing:campaigns:mng:create");

                this.AvailableFrom.Value = ManagementHelper.GetUserDateTimeNow();
                this.ExpiresOn.Value     = ManagementHelper.GetUserDateTimeNow().AddMonths(1);
            }
        }
        public WorldEditor(SegmentManager parent)
        {
            ParentSegmentManager = parent;

            _blockMasks = new List <BlockMask>();
            _blockMasks.Add(BlockHelper.BlockMasks.Debug);
            _blockMasks.Add(BlockHelper.BlockMasks.Soil);

            _topRampMasks = new List <BlockMask>();
            _topRampMasks.Add(BlockHelper.RampBlockMasks.Top.Debug);
            _topRampMasks.Add(BlockHelper.RampBlockMasks.Top.Soil);

            _bottomRampMasks = new List <BlockMask>();
            _bottomRampMasks.Add(BlockHelper.RampBlockMasks.Bottom.Debug);
            _bottomRampMasks.Add(BlockHelper.RampBlockMasks.Bottom.Soil);

            _index = 0;

            _selectedType = EditorType.Blocks;

            _keyboardCursor = new SegmentLocation(Vector3.Zero);

            _RampBlockDirection = RampBlockDirection.North;

            _activeBlockMask = BlockHelper.BlockMasks.Soil;

            _previewData = new BlockVertexData();
        }
Пример #5
0
    public virtual GameObject MakeSegment(SegmentManager sm)
    {
        var        t           = Random.Range(0, sm.segments.Length);
        GameObject roadSegment = Instantiate(sm.segments[t], transform);

        roadSegment.SetActive(false);
        return(roadSegment);
    }
Пример #6
0
    public void DrawSegment()
    {
        GameObject     seg   = Instantiate(segment, snakeHead.transform.position, Quaternion.identity);
        SegmentManager props = seg.GetComponent <SegmentManager>();

        props.follower = snakeHead;
        snakeHead      = seg.transform;
    }
Пример #7
0
        public static void NetSegmentUpdateLanesPostfix(ushort segmentID)
        {
            SegmentManager.AddToUpdate(segmentID);
            var segment = segmentID.GetSegment();

            NodeManager.AddToUpdate(segment.m_startNode);
            NodeManager.AddToUpdate(segment.m_endNode);
        }
 void Awake()
 {
     if (m_instance != null)
     {
         return;
     }
     m_instance = this;
 }
Пример #9
0
 void Start()
 {
     segmentManager = new SegmentManager();
     segmentManager.Push(new SegmentTime(6, 20, SegmentIntensity.EASY));
     segmentManager.Push(new SegmentDistance(100, 18, SegmentIntensity.EASY));
     segmentManager.Push(new SegmentTime(12, 22, SegmentIntensity.MEDIUM));
     segmentManager.Push(new SegmentTime(3, 24, SegmentIntensity.FAST));
 }
Пример #10
0
        private void WriteRecv(IBufferWriter <byte> writer, Segment seg)
        {
            var curCount = (int)seg.len;
            var target   = writer.GetSpan(curCount);

            seg.data.CopyTo(target);
            SegmentManager.Free(seg);
            writer.Advance(curCount);
        }
Пример #11
0
 void Start()
 {
     cameraFadeIn   = Object.FindObjectOfType <CameraFadeIn>();
     segmentManager = Object.FindObjectOfType <SegmentManager>();
     beeGuard       = transform.root.GetComponentInChildren <BeeGuard>();
     followMouse    = transform.root.GetComponentInChildren <FollowMouse>();
     animators      = transform.root.GetComponentsInChildren <Animator>();
     text           = GameObject.Find("Text");
 }
Пример #12
0
        override public void GenerateTracks()
        {
            int count      = 4 + SegmentManager.random.Next(-1, 2);
            int complexity = 2;

            for (int i = 0; i < count; i++)
            {
                string tag = SegmentManager.GetTagWithComplexity(complexity);
                Global.Instance.segment_manager.SpawnSegment(tag);
            }
        }
Пример #13
0
        public static XElement ToXml()
        {
            var confix = new XElement(nameof(NodeMarkup), new XAttribute("V", Mod.Version));

            Errors = 0;

            NodeManager.ToXml(confix);
            SegmentManager.ToXml(confix);

            return(confix);
        }
Пример #14
0
    public virtual void BuildSegments(SegmentManager sm)
    {
        GameObject g = sm.ActivateSegment();

        while (g.transform.localPosition.z < -20)
        {
            var o = g.transform.localPosition;
            o.y = 0;
            g.transform.localPosition = o;
            g = sm.ActivateSegment();
        }
    }
Пример #15
0
    public virtual GameObject ActivateSegment(GameObject segment, SegmentManager sm)
    {
        segment.SetActive(true);
        Vector3 bounds;

        try
        {
            bounds = segment.transform.GetChild(0).transform.GetComponent <Renderer>().bounds.size;
        } catch
        {
            bounds = segment.GetComponent <BoxCollider>().bounds.size;
        }

        bounds = ProcessBounds(bounds);

        if (sm.GetLastSpawned() != null)
        {
            var travel = sm.GetLastSpawned().transform.localPosition.z;
            var t      = transform.transform.localPosition;
            t.z = travel + bounds.z * sm.SegmentIntersectionFactor;
            t.y = -10;
            segment.transform.localPosition = t;
        }
        else
        {
            segment.transform.localPosition = new Vector3(0, -10, ChangeStartDistance(-sm.removeDistance));
        }

        segment.transform.localPosition = TransformPosition(segment.transform.localPosition);

        Segment rs = segment.GetComponent <Segment>();

        if (sm.SpawnObjectsInMiddle)
        {
            rs.Clear();
            if (sm.roadObjectsManager)
            {
                sm.roadObjectsManager.AddDetailToSegment(segment, bounds);
            }
        }

        rs.SetSpeed(sm.gameSpeed * -1);

        var dist = bounds.z - 0.03f;

        sm.SetDistanceToNextSpawn(dist);

        segment.SetActive(true);

        sm.SetLastSpawned(segment);

        return(segment);
    }
Пример #16
0
    void Start()
    {
        player = FindObjectOfType <PlayerController>();
        rb     = GetComponent <Rigidbody>();
        anim   = GetComponent <Animator>();

        ship     = FindObjectOfType <ShipController>().transform; //first waypoint is the ship
        segments = GetComponentInChildren <SegmentManager>();
        segments.Init();

        trueSpeed = speed;
    }
Пример #17
0
        /// <summary>
        /// 这个函数不检查任何参数
        /// </summary>
        /// <param name="buffer"></param>
        /// <returns></returns>
        int UncheckRecv(Span <byte> buffer)
        {
            var recover = false;

            if (rcv_queue.Count >= rcv_wnd)
            {
                recover = true;
            }

            #region merge fragment.
            /// merge fragment.

            var recvLength = 0;
            lock (rcv_queueLock)
            {
                var count = 0;
                foreach (var seg in rcv_queue)
                {
                    seg.data.CopyTo(buffer.Slice(recvLength));
                    recvLength += (int)seg.len;

                    count++;
                    int frg = seg.frg;

                    SegmentManager.Free(seg);
                    if (frg == 0)
                    {
                        break;
                    }
                }

                if (count > 0)
                {
                    rcv_queue.RemoveRange(0, count);
                }
            }

            #endregion

            Move_Rcv_buf_2_Rcv_queue();

            #region fast recover
            /// fast recover
            if (rcv_queue.Count < rcv_wnd && recover)
            {
                // ready to send back IKCP_CMD_WINS in ikcp_flush
                // tell remote my window size
                probe |= IKCP_ASK_TELL;
            }
            #endregion
            return(recvLength);
        }
Пример #18
0
    public virtual void FillGap(SegmentManager sm)
    {
        if (sm.GetLastSpawned().transform.localPosition.z > 0)
        {
            return;
        }
        var dist = Mathf.Abs(sm.GetLastSpawned().transform.localPosition.z);

        if (dist > sm.GetDistanceToNextSpawn())
        {
            sm.ActivateSegment();
        }
    }
Пример #19
0
    void Start()
    {
        segmentManager = UnityEngine.Object.FindObjectOfType <SegmentManager>();

        if (segmentManager)
        {
            segmentManager.StopScrolling();
            FadeIn(() => {
                OverlaySprite.gameObject.SetActive(false);
                segmentManager.StartScrolling();
            });
        }
    }
Пример #20
0
        override public void GenerateTracks()
        {
            int count      = 3 + Mathf.Clamp((this.number / 10), 0, 3);
            int complexity = 1;

            for (int i = 0; i < count; i++)
            {
                string  tag = SegmentManager.GetTagWithComplexity(complexity);
                Segment seg = Global.Instance.segment_manager.SpawnSegment(tag);
                seg.gold_rich = true;
                seg.ResetSegment();
            }
        }
Пример #21
0
        public static void FromXml(XElement config, ObjectsMap map, bool clear = true)
        {
            if (clear)
            {
                Clear();
            }

            LoadErrors = 0;

            var version = GetVersion(config);

            NodeManager.FromXml(config, map, version);
            SegmentManager.FromXml(config, map, version);
        }
Пример #22
0
        /// <summary>
        /// Loads the data and data bind.
        /// </summary>
        /// <param name="sortExpression">The sort expression.</param>
        private void LoadDataAndDataBind(string sortExpression)
        {
            SegmentDto dto = SegmentManager.GetSegmentDto();

            if (dto.Segment != null)
            {
                DataView view = dto.Segment.DefaultView;
                view.Sort             = sortExpression;
                MyListView.DataSource = view;
            }

            MyListView.CurrentListView.PrimaryKeyId = EcfListView.MakePrimaryKeyIdString("SegmentId");
            MyListView.DataBind();
        }
Пример #23
0
    public static void LoadMainMenu(bool showLoading)
    {
        //InputManager.Shutdown();
        MusicManager.Shutdown();
        SoundManager.Shutdown();

        Player player = (Player)FindObjectOfType(typeof(Player));

        if (player)
        {
            Destroy(player.gameObject);
            player = null;
        }

        Track track = (Track)FindObjectOfType(typeof(Track));

        if (track)
        {
            Destroy(track.gameObject);
            track = null;
        }

        GameManager gameman = (GameManager)FindObjectOfType(typeof(GameManager));

        if (gameman)
        {
            Destroy(gameman.gameObject);
            gameman = null;
        }

        SegmentManager segman = (SegmentManager)FindObjectOfType(typeof(SegmentManager));

        if (segman)
        {
            DestroyImmediate(segman.gameObject, true);
            segman = null;
        }

        GameMetrics.activeGameMode = GameMode.None;
        GameMetrics.selectedTrack  = 0;

        if (showLoading)
        {
            EnableLoadingScreen();
        }

        System.GC.Collect();

        instance.m_loadLevelOnNextFrame = true;
    }
Пример #24
0
 public VM()
 {
     Registers             = new RegisterManager(this);
     Segments              = new SegmentManager(this);
     Eflags                = new EflagsManager(this);
     Instructions          = new InstructionManager(this);
     Memory                = new MemoryManager(this);
     _instructionsFromType = new Dictionary <InstructionType, Delegate>();
     _instructions0args    = new Dictionary <uint, InstructionCallback0args>();
     _instructions1arg     = new Dictionary <uint, InstructionCallback1arg>();
     _instructions2args    = new Dictionary <uint, InstructionCallback2args>();
     _instructions3args    = new Dictionary <uint, InstructionCallback3args>();
     Reset();
     LoadInstructions();
 }
Пример #25
0
        public static XElement ToXml()
        {
            var confix = new XElement(nameof(NodeMarkup), new XAttribute("V", Mod.Version));

            foreach (var markupConfig in NodeManager.ToXml())
            {
                confix.Add(markupConfig);
            }

            foreach (var markupConfig in SegmentManager.ToXml())
            {
                confix.Add(markupConfig);
            }

            return(confix);
        }
Пример #26
0
    public virtual void RemoveOutOfBoundsSegment(SegmentManager sm)
    {
        var d = 0f;

        do
        {
            GameObject oldest = sm.GetOldest();
            if (oldest == null)
            {
                return;
            }
            float dist = 0f;

            dist = Mathf.Abs(oldest.transform.localPosition.z);

            if (dist > sm.removeDistance)
            {
                sm.EnqueuePool((sm.DequeueSpawned()));
                oldest.SetActive(false);
            }
        } while (d > sm.removeDistance);
    }
Пример #27
0
        public void Finished()
        {
            "分配两段,在全部下载完成之后,那么下载完成".Test(() =>
            {
                const long fileLength = 1000;
                var segmentManager    = new SegmentManager(fileLength);

                var firstDownloadSegment  = segmentManager.GetNewDownloadSegment();
                var secondDownloadSegment = segmentManager.GetNewDownloadSegment();
                secondDownloadSegment.DownloadedLength = fileLength / 2;
                firstDownloadSegment.DownloadedLength  = fileLength / 2;

                Assert.AreEqual(true, segmentManager.IsFinished());
            });

            "只分配一段,在一段没有完成,那么下载没有完成".Test(() =>
            {
                const long fileLength = 1000;
                var segmentManager    = new SegmentManager(fileLength);

                var firstDownloadSegment = segmentManager.GetNewDownloadSegment();
                Assert.AreEqual(fileLength, firstDownloadSegment.RequirementDownloadPoint);
                firstDownloadSegment.DownloadedLength = fileLength / 2;

                Assert.AreEqual(false, segmentManager.IsFinished());
            });

            "只分配一段,在一段下载完成之后,那么下载完成".Test(() =>
            {
                const long fileLength = 1000;
                var segmentManager    = new SegmentManager(fileLength);

                var firstDownloadSegment = segmentManager.GetNewDownloadSegment();
                Assert.AreEqual(fileLength, firstDownloadSegment.RequirementDownloadPoint);
                firstDownloadSegment.DownloadedLength = fileLength;

                Assert.AreEqual(true, segmentManager.IsFinished());
            });
        }
Пример #28
0
    public void Init()
    {
        m_playerBoost      = (PlayerBoost)GetComponent(typeof(PlayerBoost));
        m_playerTilt       = (PlayerTilt)GetComponent(typeof(PlayerTilt));
        m_playerRoll       = (PlayerRoll)GetComponent(typeof(PlayerRoll));
        m_playerRetroBoost = (PlayerRetroBoost)GetComponent(typeof(PlayerRetroBoost));
        m_playerCollision  = (PlayerCollision)GetComponent(typeof(PlayerCollision));

        m_playerBoost.Init();
        m_playerTilt.Init();
        m_playerRoll.Init();
        m_playerRetroBoost.Init();

        m_currentOffset = new Vector3(0.5f, 0.5f, 0f);
        m_targetOffset  = m_currentOffset;
        m_offsetDelta   = Vector3.zero;
        m_prevOffset    = Vector3.zero;

        m_targetSpeed  = m_normalSpeed;
        m_currentSpeed = 0f;

        m_targetRot = Vector3.forward;

        SegmentManager.Init();

        m_pathPosition     = SegmentManager.instance.GetNextPosition(0f);
        transform.position = m_pathPosition;

        transform.rotation = Quaternion.identity;

        if (!m_camera)
        {
            m_camera = (ChaseCamera)GameObject.FindObjectOfType(typeof(ChaseCamera));
        }

        m_camera.Init(this);

        m_camera.UpdateCamera();
    }
Пример #29
0
        public void Solve()
        {
            V     = new SegmentManager();
            H     = new SegmentManager();
            input = Console.ReadLine().Split(' ');
            w     = int.Parse(input[0]);
            h     = int.Parse(input[1]);
            n     = int.Parse(input[2]);

            s = new Segment(0, h);
            V.Add(s);
            s = new Segment(0, w);
            H.Add(s);

            for (int step = 0; step < n; ++step)
            {
                input = Console.ReadLine().Split(' ');
                var sm = input[0] == "V" ? H : V;
                sm.Slice(int.Parse(input[1]));
                Console.WriteLine(V.MaxWidth * H.MaxWidth);
            }
        }
Пример #30
0
    void Start()
    {
        segmentManager = new SegmentManager();
        segmentManager.Push(new SegmentTime(500, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(5, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(5, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(5, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(5, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(5, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(5, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(5, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(5, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(20, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(20, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(20, 24, SegmentIntensity.MEDIUM));
        segmentManager.Push(new SegmentTime(20, 24, SegmentIntensity.MEDIUM));
        InteroEventManager.GetEventManager().AddListener((IListenerWorkout)this);

        /*
         * segmentManager.Push(new SegmentDistance(1000, 20, SegmentIntensity.EASY));
         * segmentManager.Push(new SegmentDistance(500, 22, SegmentIntensity.FAST));
         * segmentManager.Push(new SegmentTime(200, 24, SegmentIntensity.MEDIUM));
         *
         * inWorkout = false;
         * /*
         * segmentManager.Push(new SegmentTime(3, 20, SegmentIntensity.EASY));
         * segmentManager.Push(new SegmentTime(3, 22, SegmentIntensity.MEDIUM));
         * segmentManager.Push(new SegmentTime(3, 24, SegmentIntensity.FAST));
         * /*
         * segmentManager.Push(new SegmentTime(6, 22, SegmentIntensity.MEDIUM));
         * segmentManager.Push(new SegmentTime(6, 22, SegmentIntensity.MEDIUM));
         * segmentManager.Push(new SegmentTime(6, 22, SegmentIntensity.MEDIUM));
         * segmentManager.Push(new SegmentTime(6, 22, SegmentIntensity.MEDIUM));
         * segmentManager.Push(new SegmentTime(30, 18, SegmentIntensity.EASY));
         */
        // TestLoadClass();
        //  segments = segmentManager.ToArray();
    }
Пример #31
0
 public AddressTemplate(SegmentManager segmentManager)
 {
     SegmentManager = segmentManager;
 }
Пример #32
0
 public Readme(SegmentManager segmentManager, IEnumerable<Arduino> arduinos)
 {
     Segments = segmentManager.Segments;
     Arduinos = arduinos;
 }
Пример #33
0
 public ServerTemplate(SegmentManager segmentManager)
 {
     SegmentManager = segmentManager;
 }
Пример #34
0
        private void CreateSegments(MyGraph<Location> graph)
        {
            _segmentManager = new SegmentManager();

            foreach (var edge in graph.Edges.OfType<MyEdge<Location>>())
            {
                var segment = _segmentManager.Segments.FirstOrDefault(sgmt =>
                                                       sgmt.Switches.Any(switchItem => switchItem.Name == edge.Source.Name)
                                                       || sgmt.Lights.Any(lightItem => lightItem.Name == edge.Destination.Name));
                if (segment != null)
                {
                    if (segment.Switches.All(switchItem => switchItem.Name != edge.Source.Name))
                    {
                        segment.AddSwitch(edge.Source.Name, _identity.NextAddress());
                    }

                    if (segment.Lights.All(lightItem => lightItem.Name != edge.Destination.Name))
                    {
                        segment.AddLight(edge.Destination.Name, _identity.NextAddress());
                    }
                }
                else
                {
                    segment = new Segment(_identity.NextSegmentName(), _identity.NextSequentialId());
                    _segmentManager.AddSegmentItem(segment);
                    segment.AddSwitch(edge.Source.Name, _identity.NextAddress());
                    segment.AddLight(edge.Destination.Name, _identity.NextAddress());
                }
            }
        }