示例#1
0
 protected BlocksCollection(BlocksCollection clone)
 {
     this.blocksList    = clone.blocksList;
     this.locatedBlocks = clone.locatedBlocks;
     BlocksList         = new ReadOnlyCollection <BlockData>(blocksList);
     UpdateBound();
 }
 public override void ProcessMergedBlocks(BlocksCollection blocks)
 {
     var instance = GameMap.BlocksMap.CreateBlockInstance(new GameMap.BlockInstanceOptions()
     {
         BlockType        = this,
         Blocks           = blocks,
         GenerateRenderer = true,
         GenerateCollider = true,
         IsTrigger        = true,
     });
 }
 public override void ProcessMergedBlocks(BlocksCollection blocks)
 {
     var instance = BlocksMap.CreateBlockInstance(new BlockInstanceOptions()
     {
         BlockType        = this,
         Blocks           = blocks,
         GenerateRenderer = true,
         GenerateCollider = true,
         Data             = new Data(),
     });
 }
        public override void ProcessMergedBlocks(BlocksCollection blocks)
        {
            var instance = GameMap.BlocksMap.CreateBlockInstance(new GameMap.BlockInstanceOptions()
            {
                BlockType        = this,
                Blocks           = blocks,
                GenerateCollider = true,
                GenerateRenderer = true,
            });

            instance.SetData(new LaserData()
            {
                Coroutine = instance.StartCoroutine(LaserCoroutine(instance))
            });
        }
        public override void ProcessMergedBlocks(BlocksCollection blocks)
        {
            var instance = BlocksMap.CreateBlockInstance(new BlockInstanceOptions()
            {
                BlockType        = this,
                Blocks           = blocks,
                GenerateRenderer = true,
                GenerateCollider = true,
                Data             = new MotionData()
                {
                    velocity = Direction == MoveDirection.Horizontal
                    ? Vector2.right * Speed
                    : Vector2.up * Speed
                }
            });
            var rigidbody = instance.GetComponent <Rigidbody2D>();

            rigidbody.bodyType = RigidbodyType2D.Kinematic;
            rigidbody.useFullKinematicContacts = true;
        }
示例#6
0
        public override void ProcessMergedBlocks(BlocksCollection blocks)
        {
            var instance = GameMap.BlocksMap.CreateBlockInstance <GameMap.PlatformInstance>(new GameMap.BlockInstanceOptions()
            {
                Blocks           = blocks,
                BlockType        = this,
                GenerateRenderer = true,
                GenerateCollider = true
            });

            /*var collider = instance.gameObject.AddComponent<BoxCollider2D>();
             * collider.size = new Vector2(blocks.Bound.size.x, blocks.Bound.size.y);
             * collider.usedByEffector = true;
             * var effector = instance.gameObject.AddComponent<PlatformEffector2D>();
             * effector.useColliderMask = false;
             * effector.sideArc = 0;
             * effector.surfaceArc = 170;
             * var rigidBody = instance.gameObject.GetComponent<Rigidbody2D>();
             * rigidBody.bodyType = RigidbodyType2D.Static;
             * var platform = instance.gameObject.AddComponent<GameMap.PlatformInstance>();*/
        }
示例#7
0
 public virtual void ProcessMergedBlocks(BlocksCollection blocks)
 {
 }