private BeSocialGameController(GameModel i_Model, Func <List <ISocialMission>, LinkedList <ISocialMission> > i_MissionStrategy)
 {
     PlayerScore          = 0;
     MaxScore             = 10;
     Model                = i_Model;
     m_MissionsLinkedList = MissionFactory.CreateMissionList(i_Model, i_MissionStrategy);
     m_CurrentMissionNode = m_MissionsLinkedList.First;
 }
 public static BeSocialGameController Instance(Func <List <ISocialMission>, LinkedList <ISocialMission> > i_MissionStrategy)
 {
     {
         if (s_ControllerInstance == null)
         {
             lock (s_SingeltonLock)
             {
                 if (s_ControllerInstance == null)
                 {
                     s_ControllerInstance =
                         new BeSocialGameController(
                             new GameModel
                     {
                         PostText       = null,
                         SelectedFriend = null,
                         PictureUrl     = null,
                         LinkUrl        = null
                     },
                             i_MissionStrategy);
                 }
             }
         }
         else
         {
             m_MissionsLinkedList = MissionFactory.CreateMissionList(new GameModel
             {
                 LinkUrl        = null,
                 PictureUrl     = null,
                 PostText       = null,
                 SelectedFriend = null
             }, i_MissionStrategy);
             m_CurrentMissionNode = m_MissionsLinkedList.First;
         }
         return(s_ControllerInstance);
     }
 }