Skip to content
This repository has been archived by the owner on Apr 29, 2024. It is now read-only.

Commit

Permalink
Updated the Bouncing Game to the latest version of CocosSharp, along …
Browse files Browse the repository at this point in the history
…with all the changes that are necessary in the base classes.

Removed some debug code.
Removed unused XNB files for fonts.
  • Loading branch information
Victor Chelaru authored and Victor Chelaru committed Jan 31, 2016
1 parent 8680466 commit 74c1112
Show file tree
Hide file tree
Showing 35 changed files with 613 additions and 238 deletions.
114 changes: 57 additions & 57 deletions BouncingGame/BouncingGame.sln
Original file line number Diff line number Diff line change
@@ -1,57 +1,57 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncingGame.iOS", "BouncingGame\BouncingGame.iOS\BouncingGame.iOS.csproj", "{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncingGame.Android", "BouncingGame\BouncingGame.Android\BouncingGame.Android.csproj", "{20C04280-6266-4C31-BBD2-AB1E0D38B940}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncingGame.Common", "BouncingGame\BouncingGame.Common\BouncingGame.Common.csproj", "{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
Debug|iPhone = Debug|iPhone
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Debug|iPhone.Build.0 = Debug|Any CPU
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Release|Any CPU.ActiveCfg = Release|Any CPU
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Release|Any CPU.Build.0 = Release|Any CPU
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Release|iPhone.ActiveCfg = Release|Any CPU
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Release|iPhone.Build.0 = Release|Any CPU
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{20C04280-6266-4C31-BBD2-AB1E0D38B940}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Debug|Any CPU.Build.0 = Debug|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Debug|iPhone.Build.0 = Debug|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Release|Any CPU.ActiveCfg = Release|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Release|Any CPU.Build.0 = Release|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Release|iPhone.ActiveCfg = Release|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Release|iPhone.Build.0 = Release|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Debug|iPhone.ActiveCfg = Debug|iPhone
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Debug|iPhone.Build.0 = Debug|iPhone
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Release|Any CPU.ActiveCfg = Release|iPhone
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Release|Any CPU.Build.0 = Release|iPhone
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Release|iPhone.ActiveCfg = Release|iPhone
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Release|iPhone.Build.0 = Release|iPhone
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{564DC1C5-1A9A-45CD-ADAB-B95C54D4DA29}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncingGame.iOS", "BouncingGame\BouncingGame.iOS\BouncingGame.iOS.csproj", "{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncingGame.Android", "BouncingGame\BouncingGame.Android\BouncingGame.Android.csproj", "{F86E12A1-1689-43F6-9D03-8C98DFE84E42}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncingGame.Common", "BouncingGame\BouncingGame.Common\BouncingGame.Common.csproj", "{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
Debug|iPhone = Debug|iPhone
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Debug|iPhone.Build.0 = Debug|Any CPU
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Release|Any CPU.Build.0 = Release|Any CPU
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Release|iPhone.ActiveCfg = Release|Any CPU
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Release|iPhone.Build.0 = Release|Any CPU
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Debug|iPhone.ActiveCfg = Debug|iPhone
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Debug|iPhone.Build.0 = Debug|iPhone
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Release|Any CPU.ActiveCfg = Release|iPhone
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Release|Any CPU.Build.0 = Release|iPhone
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Release|iPhone.ActiveCfg = Release|iPhone
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Release|iPhone.Build.0 = Release|iPhone
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{F573202E-DBA2-4D5C-8DB1-A8D956DB8643}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Debug|iPhone.Build.0 = Debug|Any CPU
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Release|Any CPU.Build.0 = Release|Any CPU
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Release|iPhone.ActiveCfg = Release|Any CPU
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Release|iPhone.Build.0 = Release|Any CPU
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{F86E12A1-1689-43F6-9D03-8C98DFE84E42}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectGuid>{20C04280-6266-4C31-BBD2-AB1E0D38B940}</ProjectGuid>
<ProjectGuid>{F86E12A1-1689-43F6-9D03-8C98DFE84E42}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>BouncingGame.Android</RootNamespace>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<AndroidResgenClass>Resource</AndroidResgenClass>
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
<AndroidApplication>True</AndroidApplication>
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
<AndroidUseLatestPlatformSdk>False</AndroidUseLatestPlatformSdk>
<AssemblyName>BouncingGame.Android</AssemblyName>
<TargetFrameworkVersion>v4.4</TargetFrameworkVersion>
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
Expand Down Expand Up @@ -42,25 +42,20 @@
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="Mono.Android" />
<Reference Include="OpenTK-1.0" />
<Reference Include="CocosSharp">
<HintPath>..\..\packages\CocosSharp.Android.1.4.0.0\lib\MonoAndroid10\CocosSharp.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib">
<HintPath>..\..\packages\CocosSharp.Android.1.4.0.0\lib\MonoAndroid10\ICSharpCode.SharpZipLib.dll</HintPath>
<HintPath>..\..\packages\CocosSharp.1.7.1.0\lib\MonoAndroid10\CocosSharp.dll</HintPath>
</Reference>
<Reference Include="Lidgren.Network">
<HintPath>..\..\packages\CocosSharp.Android.1.4.0.0\lib\MonoAndroid10\Lidgren.Network.dll</HintPath>
<HintPath>..\..\packages\CocosSharp.1.7.1.0\lib\MonoAndroid10\Lidgren.Network.dll</HintPath>
</Reference>
<Reference Include="MonoGame.Framework">
<HintPath>..\..\packages\CocosSharp.Android.1.4.0.0\lib\MonoAndroid10\MonoGame.Framework.dll</HintPath>
</Reference>
<Reference Include="box2d">
<HintPath>..\..\packages\CocosSharp.Android.1.4.0.0\lib\MonoAndroid10\box2d.dll</HintPath>
<HintPath>..\..\packages\CocosSharp.1.7.1.0\lib\MonoAndroid10\MonoGame.Framework.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BouncingGame.Common\BouncingGame.Common.csproj">
<Project>{335CFAB3-AFB6-4D2A-BEF0-F60156254A83}</Project>
<Project>{CFFC49D8-33C7-4944-A9A7-A6D2AEDD7F0E}</Project>
<Name>BouncingGame.Common</Name>
</ProjectReference>
</ItemGroup>
Expand All @@ -76,22 +71,27 @@
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\layout\Main.axml" />
<AndroidResource Include="Resources\values\Strings.xml" />
<AndroidResource Include="Resources\drawable\Icon.png" />
</ItemGroup>
<ItemGroup>
<Folder Include="Assets\Content\animations\" />
<Folder Include="Assets\Content\fonts\" />
<Folder Include="Assets\Content\images\hd\" />
<Folder Include="Assets\Content\images\ld\" />
<Folder Include="Assets\Content\sounds\" />
<AndroidResource Include="Resources\drawable-hdpi\Icon.png" />
<AndroidResource Include="Resources\drawable-mdpi\Icon.png" />
<AndroidResource Include="Resources\drawable-xhdpi\Icon.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\Icon.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\Icon.png" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" />
<ItemGroup>
<AndroidAsset Include="Assets\Content\ball.png" />
<AndroidAsset Include="Assets\Content\paddle.png" />
<Folder Include="Assets\Content\Fonts\" />
<Folder Include="Assets\Content\Images\Ld\" />
<Folder Include="Assets\Content\Images\Hd\" />
<Folder Include="Assets\Content\Sounds\" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<ItemGroup>
<Content Include="Assets\Content\fonts\arial-22.xnb" />
<AndroidAsset Include="..\BouncingGame.iOS\Content\paddle.png">
<Link>Assets\Content\paddle.png</Link>
</AndroidAsset>
<AndroidAsset Include="..\BouncingGame.iOS\Content\ball.png">
<Link>Assets\Content\ball.png</Link>
</AndroidAsset>
</ItemGroup>
</Project>
72 changes: 56 additions & 16 deletions BouncingGame/BouncingGame/BouncingGame.Android/MainActivity.cs
Original file line number Diff line number Diff line change
@@ -1,36 +1,76 @@
using System;
using System.Collections.Generic;

using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Microsoft.Xna.Framework;
using Android.Widget;
using Android.OS;

using CocosSharp;

namespace BouncingGame
namespace BouncingGame.Android
{
[Activity (
Label = "BouncingGame.Android",
[Activity (Label = "BouncingGame.Android",
MainLauncher = true,
Icon = "@drawable/icon",
AlwaysRetainTaskState = true,
Icon = "@drawable/icon",
Theme = "@android:style/Theme.NoTitleBar",
ScreenOrientation = ScreenOrientation.Landscape | ScreenOrientation.ReverseLandscape,
ScreenOrientation = ScreenOrientation.Portrait,
LaunchMode = LaunchMode.SingleInstance,
MainLauncher = true,
ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize | ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden)
]
public class MainActivity : AndroidGameActivity
ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize | ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden)]
public class MainActivity : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);

var application = new CCApplication ();
application.ApplicationDelegate = new GameAppDelegate ();
SetContentView (application.AndroidContentView);
application.StartGame ();
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);

// Get our game view from the layout resource,
// and attach the view created event to it
CCGameView gameView = (CCGameView)FindViewById (Resource.Id.GameView);
gameView.ViewCreated += LoadGame;
}

void LoadGame (object sender, EventArgs e)
{
CCGameView gameView = sender as CCGameView;
if (gameView != null)
{
var contentSearchPaths = new List<string> () { "Fonts", "Sounds" };
CCSizeI viewSize = gameView.ViewSize;

int width = 768;
int height = 1027;

// Set world dimensions
gameView.DesignResolution = new CCSizeI (width, height);

// Determine whether to use the high or low def versions of our images
// Make sure the default texel to content size ratio is set correctly
// Of course you're free to have a finer set of image resolutions e.g (ld, hd, super-hd)
if (width < viewSize.Width)
{
contentSearchPaths.Add ("Images/Hd");
CCSprite.DefaultTexelToContentSizeRatio = 2.0f;
}
else
{
contentSearchPaths.Add ("Images/Ld");
CCSprite.DefaultTexelToContentSizeRatio = 1.0f;
}

gameView.ContentManager.SearchPaths = contentSearchPaths;

CCScene gameScene = new CCScene (gameView);

gameScene.AddLayer (new GameLayer ());
gameView.RunWithScene (gameScene);
}

}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="BouncingGame.Android">
<uses-sdk />
<application android:label="BouncingGame.Android">
</application>
<application android:label="BouncingGame.Android"></application>
</manifest>

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<CocosSharp.CCGameView
android:id="@+id/GameView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="CocosSharp.Android" version="1.4.0.0" targetFramework="MonoAndroid44" />
<package id="CocosSharp" version="1.7.1.0" targetFramework="MonoAndroid60" />
</packages>
Loading

0 comments on commit 74c1112

Please sign in to comment.