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; }
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>();*/ }
public virtual void ProcessMergedBlocks(BlocksCollection blocks) { }