Example #1
0
 private void RemoveCurrentProcessBorder(ProcessBorder processBorder)
 {
     EntityManager.DestroyEntity(processBorder.StartBorder);
     EntityManager.DestroyEntity(processBorder.EndBorder);
     EntityManager.DestroyEntity(processBorder.LineBorder);
     ProcessBorders.Remove(processBorder);
 }
Example #2
0
        public void RestAll()
        {
            foreach (var t in ProcessBorders)
            {
                EntityManager.DestroyEntity(t.End);
                EntityManager.DestroyEntity(t.Start);
                EntityManager.DestroyEntity(t.EndBorder);
                EntityManager.DestroyEntity(t.StartBorder);
                EntityManager.DestroyEntity(t.LineBorder);
            }
            EntityManager.DestroyEntity(_entityLineTemp);
            EntityManager.DestroyEntity(_entityLineTempOld);

            ProcessBorders     = new List <ProcessBorder>();
            _entityDirections  = -1;
            _processBorder     = new ProcessBorder();
            _down              = false;
            _oldPos            = new float2();
            _entityLineTemp    = Entity.Null;
            _entityLineTempOld = Entity.Null;
        }
Example #3
0
        private void DrawBorder(Entity entity, bool down)
        {
            if (entity == Entity.Null)
            {
                return;
            }
            var pos   = EntityManager.GetComponentData <Translation>(entity).Value;
            var index = EntityManager.GetComponentData <LevelBufferIndex>(entity).Index;

            if (_entityDirections == index)
            {
                return;
            }

            if (this._processBorder.Start != Entity.Null && this._processBorder.End == Entity.Null && down)
            {
                return;
            }

            // if click  created line item,  remove item
            var processBorder = GetProcessBorder(entity);

            if (processBorder != null)
            {
                RemoveCurrentProcessBorder(processBorder);
            }



            if (index % 2 == _entityDirections % 2)
            {
                RemoveCurrentProcessBorder(this._processBorder);
                this._processBorder = new ProcessBorder();
            }


            _entityDirections = index;

            var entityClip = EntityManager.GetComponentData <TinyAnimationPlayer>(entity).CurrentClip;

            EntityManager.SetComponentData(entityClip, new TinyAnimationTime()
            {
                Value = 0
            });


            var entityB = EntityManager.Instantiate(_gamePrefabsComponent.Border);

            EntityManager.SetComponentData(entityB, new Translation {
                Value = pos
            });


            if (this._processBorder.Start == Entity.Null)
            {
                this._processBorder.StartBorder = entityB;
                this._processBorder.Start       = entity;
            }
            else if (this._processBorder.End == Entity.Null)
            {
                this._processBorder.EndBorder = entityB;
                this._processBorder.End       = entity;
            }


            if (this._processBorder.Start != Entity.Null && this._processBorder.End != Entity.Null && this._processBorder.LineBorder == Entity.Null)
            {
                this._processBorder.LineBorder = DrawLine();
                ProcessBorders.Add(this._processBorder);
                this._processBorder = new ProcessBorder();
                _entityDirections   = -1;
                Entity mainEntity = GetSingletonEntity <GamePrefabsComponent>();
                EntityManager.AddComponent(mainEntity, typeof(CheckResultComponent));
            }
        }