Ejemplo n.º 1
0
        // SERVER-SIDE CTOR
        // server uses: challengeController, transportConfiguration
        // client uses: (when-shared thru AddonManager) challegeEvidence

        /// <summary>
        /// Instantiates a new client-side <see cref="NullRegistrationController"/>.
        /// </summary>
        /// <param name="transportConfiguration">The transportation layer configuration.</param>
        /// <param name="challengeController">Controls access to the communication system.</param>
        public NullRegistrationController(ITransportConfiguration transportConfiguration,
                                          IChallengeController challengeController)
            : this()
        {
            TransportConfiguration = transportConfiguration ?? throw new ArgumentNullException(nameof(transportConfiguration));
            ChallengeController    = challengeController ?? throw new ArgumentNullException(nameof(challengeController));
        }
 public override void TriggerFinish(IChallengeController subChallenge)
 {
     if (!timerRunning)
     {
         StartCoroutine(RunTimer());
     }
     base.TriggerFinish(subChallenge);
 }
Ejemplo n.º 3
0
 public void Initialize(Challenges challenges, int index)
 {
     parent                 = challenges;
     challengeIndex         = index;
     challengeInstance      = Object.Instantiate(data.ChallengePrefab);
     challengeInstance.name = "Challenge " + index;
     challengeController    = challengeInstance.GetComponent <IChallengeController>();
     challengeController.Initialize(this);
     challengeInstance.SetActive(false);
 }
 public virtual void TriggerFinish(IChallengeController subChallenge)
 {
     subChallenge.FinishChallenge();
     subChallengeFinishedCounter++;
     if (subChallengeFinishedCounter >= subChallenges.Length)
     {
         challenge.TriggerFinish(this);
         return;
     }
 }
Ejemplo n.º 5
0
 public void TriggerFinish(IChallengeController finishedController)
 {
     parent.ChallengeFinished(challengeIndex);
     finishedController.FinishChallenge();
 }
        // CLIENT-SIDE CTOR
        // client uses: challegeEvidence

        ///// <summary>
        ///// Instantiates a new client-side <see cref="TunnellingRegistrationController"/>.
        ///// </summary>
        ///// <param name="challegeEvidence">The challenge evidence required to access the communication system.</param>
        //public TunnellingRegistrationController(byte[] challegeEvidence)
        //    : this()
        //{
        //    _ChallengeEvidence = challegeEvidence ?? new byte[0];
        //    ChallengeController = new ChallengeControllers.NullChallengeController();
        //}

        /// <summary>
        /// Instantiates a new client-side <see cref="TunnellingRegistrationController"/>.
        /// </summary>
        /// <param name="challengeController">Controls access to the communication system.</param>
        public TunnellingRegistrationController(IChallengeController challengeController)
            : this()
        {
            ChallengeController = challengeController ?? throw new ArgumentNullException(nameof(challengeController));
        }