Esempio n. 1
0
    protected override void OnUpdate()
    {
        Entity gpm = GameProcessManager.current_entity;

        if (EntityManager.GetSharedComponentData <CampArray>(gpm).Value.Length > 0)
        {
            Entity       e            = m.entity[0];
            CurrentPhase currentPhase = EntityManager.GetComponentData <CurrentPhase>(gpm);
            CampArray    camplist     = EntityManager.GetSharedComponentData <CampArray>(gpm);
            int          index        = 0;
            for (index = 0; index < camplist.Value.Length; index++)
            {
                if (currentPhase.value.campType == camplist.Value[index].campType)
                {
                    break;
                }
            }

            if (index < camplist.Value.Length)
            {
                index += 1;
            }
            else
            {
                index = 0;
            }
            currentPhase.value = camplist.Value[index];
            EntityManager.DestroyEntity(e);
            EntityManager.SetComponentData(e, currentPhase);
        }
    }
Esempio n. 2
0
 //Spawns the "shotgun", which is a load of turrets firing in an arc
 private void SpawnShotgun(float tX, float tY)
 {
     for (int i = 0; i < 4; i++)
     {
         //Simple simple gun turrets
         Turret turret1 = new Turret(_root);
         CurrentPhase.AddChild(turret1);
         Sprite turret1Sprite = new Sprite("");
         turret1.AddChild(turret1Sprite);
         turret1.X         = tX;
         turret1.Y         = tY - 50;
         turret1._rotation = i * 0.25f;
     }
     for (int i = 0; i < 3; i++)
     {
         //Simple simple gun turrets
         Turret turret2 = new Turret(_root);
         CurrentPhase.AddChild(turret2);
         Sprite turret2Sprite = new Sprite("");
         turret2.AddChild(turret2Sprite);
         turret2.X         = tX;
         turret2.Y         = tY - 50;
         turret2._rotation = i * -0.25f;
     }
 }
Esempio n. 3
0
 public void Finish(string userName)
 {
     CurrentPhase.FinishPlayerTurn(userName);
     if (CurrentPhase.TurnsFinished)
     {
         CurrentPhase = CurrentPhase.Next(TurnOrder);
     }
 }
Esempio n. 4
0
    // Use this for initialization
    void Start()
    {
        currentPhase        = CurrentPhase.None;
        _attackPhase        = new AttackPhase();
        currentUnitSelected = null;

        Current = this;
    }
Esempio n. 5
0
        private void OnDoPhenology(object sender, EventArgs e)
        {
            if (PlantIsAlive)
            {
                // If this is the first time through here then setup some variables.
                if (Phases == null || Phases.Count == 0)
                {
                    OnSimulationCommencing(null, null);
                }

                CurrentlyOnFirstDayOfPhase = "";
                if (JustInitialised)
                {
                    CurrentlyOnFirstDayOfPhase = Phases[0].Start;
                    JustInitialised            = false;
                }
                double FractionOfDayLeftOver = CurrentPhase.DoTimeStep(1.0);

                if (FractionOfDayLeftOver > 0)
                {
                    // Transition to the next phase.
                    if (CurrentPhaseIndex + 1 >= Phases.Count)
                    {
                        throw new Exception("Cannot transition to the next phase. No more phases exist");
                    }

                    if (CurrentPhase is EmergingPhase)
                    {
                        Emerged = true;
                    }

                    CurrentPhase = Phases[CurrentPhaseIndex + 1];
                    if (GrowthStage != null)
                    {
                        GrowthStage.Invoke();
                    }


                    // Tell the new phase to use the fraction of day left.
                    FractionOfDayLeftOver = CurrentPhase.AddTT(FractionOfDayLeftOver);
                    Stage = CurrentPhaseIndex + 1;
                }
                else
                {
                    Stage = (CurrentPhaseIndex + 1) + CurrentPhase.FractionComplete;
                }

                _AccumulatedTT += CurrentPhase.TTForToday;

                if (Emerged && PostPhenology != null)
                {
                    PostPhenology.Invoke(this, new EventArgs());
                }

                Util.Debug("Phenology.CurrentPhaseName=%s", CurrentPhase.Name.ToLower());
                Util.Debug("Phenology.CurrentStage=%f", Stage);
            }
        }
Esempio n. 6
0
 public override void Dispose()
 {
     base.Dispose();
     try
     {
         CurrentPhase.Stop();
     }
     catch { }
 }
Esempio n. 7
0
    void StartBuildPhase()
    {
        currentPhase = CurrentPhase.BuildWall;
        Wall w = Instantiate(wall);

        w.owner = currentPlayer.playerNumber;
        w.StartSetPosition();
        wallsBeingMade.Add(w);
    }
Esempio n. 8
0
 public void EndMovePhase()
 {
     currentPhase = CurrentPhase.EndTurn;
     GridManager.Instance.topHL.gameObject.SetActive(false);
     GridManager.Instance.rightHL.gameObject.SetActive(false);
     GridManager.Instance.downHL.gameObject.SetActive(false);
     GridManager.Instance.leftHL.gameObject.SetActive(false);
     EndTurn();
 }
Esempio n. 9
0
 public void Start(IPlayer player)
 {
     if (player == _startingPlayer)
     {
         _innFactory = new InnFactory(Players.Count);
         Locations.SetupInns(_innFactory);
         CurrentPhase.Action();
         NextPhase();
     }
 }
Esempio n. 10
0
        public override string ToString()
        {
            var result = new StringBuilder();

            result.AppendLine(CurrentPhase.ToString());
            foreach (var player in Players)
            {
                result.Append(player.ToString());
            }
            return(result.ToString());
        }
Esempio n. 11
0
        //The gunship platforms for phase 1
        private void GunshipPlatforms()
        {
            //Gun Platforms
            Entity enemLeft = new Entity();

            CurrentPhase.AddChild(enemLeft);
            Sprite enemLeftSprite = new Sprite("GFX/Tanks/tankBlue.png");

            enemLeft.AddChild(enemLeftSprite);
            enemLeft.X = -110;

            Entity enemLeft2 = new Entity();

            CurrentPhase.AddChild(enemLeft2);
            Sprite enemLeftSprite2 = new Sprite("GFX/Tanks/tankBlue.png");

            enemLeft2.AddChild(enemLeftSprite2);
            enemLeft2.X = -180;

            Entity enemRight = new Entity();

            CurrentPhase.AddChild(enemRight);
            Sprite enemRightSprite = new Sprite("GFX/Tanks/tankBlue.png");

            enemRight.AddChild(enemRightSprite);
            enemRight.X = 110;

            //Turrets for the platforms
            for (int i = 0; i < 4; i++)
            {
                Turret turretLeft2 = new Turret(_root, "rotate");
                enemLeft2.AddChild(turretLeft2);
                Sprite turretLeftSprite2 = new Sprite("GFX/Tanks/barrelRed.png");
                turretLeft2.AddChild(turretLeftSprite2);
                turretLeft2.X = (i * 20) - 30;
                turretLeft2.Y = 20;
            }

            Turret turretLeft = new Turret(_root);

            enemLeft.AddChild(turretLeft);
            Sprite turretLeftSprite = new Sprite("GFX/Tanks/barrelRed_outline.png");

            turretLeft.AddChild(turretLeftSprite);
            turretLeft.Y = 20;

            Turret turretRight = new Turret(_root, "rocket");

            enemRight.AddChild(turretRight);
            Sprite turretRightSprite = new Sprite("GFX/Tanks/barrelBeige_outline.png");

            turretRight.AddChild(turretRightSprite);
            turretRight.Y = 20;
        }
Esempio n. 12
0
 public override string ToString()
 {
     if (Phased)
     {
         return(Phases[CurrentPhase] + " [Phase " + CurrentPhase.ToString() + "/" + PhaseLength.ToString() + "]");
     }
     else
     {
         return(Description);
     }
 }
Esempio n. 13
0
 public void UpdateText()
 {
     if (CurrentTurn == Turn.ComputerTurn)
     {
         currentText.text = "Not your turn";
     }
     else
     {
         currentText.text = CurrentPhase.ToString();
     }
 }
Esempio n. 14
0
        private void PhaseFour()
        {
            _spinner = new Spinner("fast");
            CurrentPhase.AddChild(_spinner);

            SpawnRotatingTurret(-105, 0);
            SpawnRotatingTurret(105, 0);
            SpawnRotatingTurret(0, 105);
            SpawnRotatingTurret(0, -105);

            SpawnReverseGunTurret2();
        }
Esempio n. 15
0
    // move-out(e) 後編追加

    public void HideAllChild()
    {
        this.groupYesnoSystemMessage.SetActive(false);
        this.back_SystemMessage.SetActive(false);
        this.Filter.SetActive(false);
        this.currentPhase       = CurrentPhase.None;
        this.systemMessage.text = "";

        if (this.nowAutoKill && this.nowAutoKillEnd == false)
        {
            this.autoKillTimer = (200 - 1);
        }
    }
Esempio n. 16
0
 private void PlayerActions()
 {
     if (CurrentPhase.PerPlayer)
     {
         foreach (var player in Players)
         {
             CurrentPhase.Action(player);
         }
     }
     else
     {
         CurrentPhase.Action();
     }
 }
Esempio n. 17
0
        public void SupersedePhase(IPhase newPhase)
        {
            Clock.Stop();

            CurrentPhase.SupersededBy = newPhase;
            newPhase.Supersedes       = CurrentPhase;

            CurrentPhase.Pause();

            CurrentPhase = newPhase;
            CurrentPhase.Start();

            Clock.Start(CurrentPhase.Duration);
        }
Esempio n. 18
0
        private void OnDoPhenology(object sender, EventArgs e)
        {
            if (PlantIsAlive)
            {
                if (thermalTime.Value() < 0)
                {
                    throw new Exception("Negative Thermal Time, check the set up of the ThermalTime Function in" + this);
                }

                // Calculate progression through current phase
                double propOfDayToUse = 1;
                bool   incrementPhase = CurrentPhase.DoTimeStep(ref propOfDayToUse);

                while (incrementPhase)
                {
                    if ((CurrentPhase is EmergingPhase) || (CurrentPhase.End == structure?.LeafInitialisationStage) || (CurrentPhase is DAWSPhase))
                    {
                        Emerged = true;
                        PlantEmerged?.Invoke(this, new EventArgs());
                    }

                    stagesPassedToday.Add(CurrentPhase.End);
                    if (currentPhaseIndex + 1 >= phases.Count)
                    {
                        throw new Exception("Cannot transition to the next phase. No more phases exist");
                    }

                    currentPhaseIndex = currentPhaseIndex + 1;

                    PhaseChangedType PhaseChangedData = new PhaseChangedType();
                    PhaseChangedData.StageName = CurrentPhase.Start;
                    PhaseChanged?.Invoke(plant, PhaseChangedData);

                    incrementPhase = CurrentPhase.DoTimeStep(ref propOfDayToUse);
                }

                AccumulatedTT += thermalTime.Value();
                if (Emerged)
                {
                    AccumulatedEmergedTT += thermalTime.Value();
                }

                Stage = (currentPhaseIndex + 1) + CurrentPhase.FractionComplete;

                if (plant != null && plant.IsAlive && PostPhenology != null)
                {
                    PostPhenology.Invoke(this, new EventArgs());
                }
            }
        }
Esempio n. 19
0
    private IEnumerator WaitOnly()
    {
        yield return(new WaitForEndOfFrame());

        if (One.SaveMode)
        {
            this.currentPhase = CurrentPhase.Save;
        }
        else
        {
            this.currentPhase = CurrentPhase.Load;
        }

        yield return(null);
    }
Esempio n. 20
0
 public void Tick(TickContext context)
 {
     if (PhaseIndex == -1)
     {
         if (State == PhaseManagerState.LevelIntro)
         {
             _introTimer.Tick(context.DeltaTime);
             if (_introTimer.Completed)
             {
                 State = PhaseManagerState.Starting;
                 StartPhase(0);
             }
             return;
         }
         return;
     }
     if (State == PhaseManagerState.Starting)
     {
         _startTimer.Tick(context.DeltaTime);
         if (_startTimer.Completed)
         {
             CurrentPhase.Start();
             _phaseTimer?.Restart();
             State = PhaseManagerState.Running;
         }
     }
     else if (State == PhaseManagerState.Running)
     {
         CurrentPhase.Tick(context);
         _phaseTimer?.Tick(context.DeltaTime);
         if (_phaseTimer?.Completed == true || CurrentPhase.Ended)
         {
             CurrentPhase.Stop();
             _endedTimer.Restart();
             State = PhaseManagerState.Ended;
         }
     }
     else if (State == PhaseManagerState.Ended)
     {
         _endedTimer.Tick(context.DeltaTime);
         if (_endedTimer.Completed)
         {
             CurrentPhase.Dispose();
             _startTimer.Restart();
             StartPhase(PhaseIndex + 1);
         }
     }
 }
Esempio n. 21
0
        public void Step()
        {
            var isPhaseFinished = CurrentPhase?.Step() ?? true;

            FireRenderRequested();

            if (isPhaseFinished)
            {
                _actionStepper.Step(
                    () => EnterDealProgramCardsPhase(),
                    () => EnterProgramRegistersPhase(),
                    () => EnterAnnouncePowerDownPhase(),
                    () => EnterCompleteRegistersPhase(),
                    () => EnterCleanupPhase());
            }
        }
Esempio n. 22
0
    private void ExecSaveLoad()
    {
        Debug.Log("ExecSaveLoad(S)");
        //
        // セーブ
        //
        if (One.SaveMode)
        {
            string targetFileName = String.Empty;
            for (int ii = 0; ii < buttonText.Length; ii++)
            {
                if (this.txtSender.Equals(buttonText[ii]))
                {
                    targetFileName = ((ii + 1) + ((this.pageNumber - 1) * buttonText.Length)).ToString("D3") + "_";
                    break;
                }
            }

            this.Filter.SetActive(true);
            ExecSave(this.txtSender, targetFileName, this.forceSave);
            this.forceSave = false;
        }
        //
        // ロード
        //
        else
        {
            if ((this.txtSender).text == String.Empty)
            {
                return;
            }

            string targetFileName = String.Empty;
            for (int ii = 0; ii < buttonText.Length; ii++)
            {
                if (this.txtSender.Equals(buttonText[ii]))
                {
                    targetFileName = (ii + 1 + ((this.pageNumber - 1) * buttonText.Length)).ToString("D3") + "_";
                    break;
                }
            }
            ExecLoad(this.txtSender, targetFileName, false); // 後編移動
        }
        this.currentPhase = CurrentPhase.Complete;
    }
Esempio n. 23
0
 /// <summary>
 /// Starts a game. and pass along scores to be used.
 /// </summary>
 /// <exception cref="NoPlayersJoinedGameException" >NoPlayersJoinedGameException thrown when a game is started without at least 1 player.</exception>
 public void StartGame(List <int> ballScores)
 {
     //ensure the game has players
     if (null != JoinedPlayers && JoinedPlayers.Count > 0)
     {
         GameTime = DateTime.UtcNow;
         //change the game phase to start the game.
         CurrentPhase.ChangePhase();
         //create the score card with all frames set to defaults
         CreateScoreCard();
         //start play automaticly
         Play(ballScores);
     }
     else
     {
         throw new NoPlayersJoinedGameException("No players have joined the game. A game must have at least 1 player to start.");
     }
 }
Esempio n. 24
0
    /// <summary>
    /// Perform our daily timestep function. Get the current phase to do its
    /// development for the day. If TT is leftover after Phase is progressed,
    /// and the timestep for the subsequent phase is calculated using leftover TT
    /// </summary>
    public void DoTimeStep()
    {
        // If this is the first time through here then setup some variables.
        if (Phases == null || Phases.Count == 0)
        {
            OnInitialised();
        }

        CurrentlyOnFirstDayOfPhase = "";
        if (JustInitialised)
        {
            CurrentlyOnFirstDayOfPhase = Phases[0].Start;
            JustInitialised            = false;
        }
        double FractionOfDayLeftOver = CurrentPhase.DoTimeStep(1.0);

        if (FractionOfDayLeftOver > 0)
        {
            // Transition to the next phase.
            if (CurrentPhaseIndex + 1 >= Phases.Count)
            {
                throw new Exception("Cannot transition to the next phase. No more phases exist");
            }

            CurrentPhase = Phases[CurrentPhaseIndex + 1];

            if (GrowthStage != null)
            {
                GrowthStage.Invoke();
            }

            // Tell the new phase to use the fraction of day left.
            FractionOfDayLeftOver = CurrentPhase.AddTT(FractionOfDayLeftOver);
            Stage = CurrentPhaseIndex + 1;
        }
        else
        {
            Stage = (CurrentPhaseIndex + 1) + CurrentPhase.FractionComplete;
        }

        _AccumulatedTT += CurrentPhase.TTForToday;
        Util.Debug("Phenology.CurrentPhaseName=%s", CurrentPhase.Name.ToLower());
        Util.Debug("Phenology.CurrentStage=%f", Stage);
    }
Esempio n. 25
0
        private void PhaseSeven()
        {
            Ladder hand = new Ladder(true);

            CurrentPhase.AddChild(hand);
            Sprite handSprite = new Sprite("GFX/Angry.png");

            hand.AddChild(handSprite);
            hand.Y = -1000;

            //Foot.
            Ladder jax = new Ladder(true);

            CurrentPhase.AddChild(jax);
            Sprite jaxSprite = new Sprite("GFX/Foot.jpg");

            jax.AddChild(jaxSprite);
            jax.Y = -5000;
        }
Esempio n. 26
0
        //###PHASES###
        private void PhaseOne()
        {
            //Spawns the platforms and the turrets that sit upon them
            GunshipPlatforms();

            Turret turretCenterLeft = new Turret(_root);

            CurrentPhase.AddChild(turretCenterLeft);
            Sprite turretCenterLeftSprite = new Sprite("GFX/Tanks/barrelGreen.png");

            turretCenterLeft.AddChild(turretCenterLeftSprite);
            turretCenterLeft.X = -20;
            turretCenterLeft.Y = 40;

            Turret turretCenterRight = new Turret(_root);

            CurrentPhase.AddChild(turretCenterRight);
            Sprite turretCenterRightSprite = new Sprite("GFX/Tanks/barrelGreen.png");

            turretCenterRight.AddChild(turretCenterRightSprite);
            turretCenterRight.X = 20;
            turretCenterRight.Y = 40;

            //Connector struts
            Entity bridgeLeft = new Entity();

            CurrentPhase.AddChild(bridgeLeft);
            Sprite bridgeLeftSprite = new Sprite("GFX/Tanks/barrelBlue.png");

            bridgeLeft.AddChild(bridgeLeftSprite);
            bridgeLeft.X = -50;
            bridgeLeft.Rotate(1.55f);

            Entity bridgeRight = new Entity();

            CurrentPhase.AddChild(bridgeRight);
            Sprite bridgeRightSprite = new Sprite("GFX/Tanks/barrelBlue.png");

            bridgeRight.AddChild(bridgeRightSprite);
            bridgeRight.X = 50;
            bridgeRight.Rotate(1.55f);
        }
        public void OnPhaseChangedShouldPassDetailsAboutError()
        {
            // Arrange
            var phaseCount       = _fixture.Create <int>();
            var currentPhase     = _fixture.Create <int>();
            var phaseDescription = _fixture.Create <string>();

            _module.Setup(m => m.GetPhaseCount(It.IsAny <IntPtr>()))
            .Returns(phaseCount);
            _module.Setup(m => m.GetCurrentPhase(It.IsAny <IntPtr>()))
            .Returns(currentPhase);
            _module.Setup(m => m.GetPhaseDescription(It.IsAny <IntPtr>(), It.IsAny <int>()))
            .Returns(phaseDescription);

            var result = default(PhaseChangedEventArgs?);
            var doc    = new Mock <ISettings>().Object;

            var configuration = new WkHtmlToXConfiguration((int)Environment.OSVersion.Platform, runtimeIdentifier: null)
            {
                PhaseChangedAction = eventArgs =>
                {
                    result = eventArgs;
                },
            };

            var sut = new PdfProcessor(configuration, _module.Object)
            {
                ProcessingDocument = doc,
            };

            // Act
            sut.OnPhaseChanged(new IntPtr(1));

            // Assert
            using (new AssertionScope())
            {
                result !.Document.Should().Be(doc);
                result !.PhaseCount.Should().Be(phaseCount);
                result !.CurrentPhase.Should().Be(currentPhase);
                result !.Description.Should().Be(phaseDescription);
            }
        }
Esempio n. 28
0
        public void SwitchInteractor(IPhasePageInteractor interactor)
        {
            if (interactor == CurrentPhase)
            {
                return;
            }

            if (CurrentPhase != null)
            {
                if (!CurrentPhase.LeavePage())
                {
                    return;
                }
            }
            CurrentPhase = interactor;
            workerDlgSvc.StartBackgroundWork("Entering next phase...", delegate()
            {
                interactor.PerformWork(workerDlgSvc);
            });
            interactor.EnterPage();
        }