SamplyGame.MassCross.Fire C# (CSharp) Method

Fire() private method

private Fire ( Vector3 direction, bool byPlayer ) : System.Threading.Tasks.Task
direction Vector3
byPlayer bool
return System.Threading.Tasks.Task
		async Task Fire(Vector3 direction, bool byPlayer)
		{
			var bulletNode = CreateRigidBullet(byPlayer);
			bulletNode.Rotation = new Quaternion(-50, 0, 0);
			bulletNode.SetScale(0.1f);

			var color = Color.White;
			var nodeX = bulletNode.CreateChild();
			nodeX.Scale = new Vector3(5, 1, 1);
			var boxX = nodeX.CreateComponent<Box>();
			boxX.Color = color;

			var nodeZ = bulletNode.CreateChild();
			nodeZ.Scale = new Vector3(1, 1, 5);
			var boxZ = nodeZ.CreateComponent<Box>();
			boxZ.Color = color;

			var nodeY = bulletNode.CreateChild();
			nodeY.Scale = new Vector3(1, 5, 1);
			var boxY = nodeY.CreateComponent<Box>();
			boxY.Color = color;

			bulletNode.RunActions(new RepeatForever(new RotateBy(0.2f,Randoms.Next(30, 60), Randoms.Next(30, 60), 0f)));

			await bulletNode.RunActionsAsync(
				new MoveBy(5f, direction),
				new CallFunc(() => bulletNode.SetScale(0f))); //collapse);

			bulletNode.Remove();
		}
	}