Inheritance: MonoBehaviour, IPointerClickHandler
Ejemplo n.º 1
0
        public void Update(GameTime gt)
        {
            KeyboardState kState = Keyboard.GetState();

            Debug.Update(gt, Mouse);

            if (Time >= TurnTime)
            {
                Time = 0f;
                SwitchTeam();
            }

            Time += (float)gt.ElapsedGameTime.TotalSeconds;

            if (Keyboard.GetState().IsKeyDown(Keys.R) && Mouse.CanPress)
            {
                StartGame();
            }

            World.Update(gt);

            CurrentTeam.Update(gt);

            EndTurnButton.Update(gt);

            if (TeamPopup != null)
            {
                TeamPopup.Update(gt);

                if (TeamPopup.Finished)
                {
                    TeamPopup = null;
                }
            }
        }
 private void Awake()
 {
     s_instance              = this;
     this.m_MyTurnText.Text  = GameStrings.Get("GAMEPLAY_END_TURN");
     this.m_WaitingText.Text = string.Empty;
     base.GetComponent <Collider>().enabled = false;
 }
Ejemplo n.º 3
0
    void InitUI()
    {
        UI = GameObject.Find("UI");
        if (UI == null)
        {
            throw new System.Exception("Could not find UI GameObject. Make sure it's not missing in the scene");
        }

        Transform bottomPanel = UI.transform.Find("BottomPanel");

        EndTurnButton = bottomPanel.Find("EndTurnButton").gameObject;
        EndTurnButton.GetComponent <Button>().onClick.AddListener(delegate()
        {
            Controllers[CurrentControllerPlaying].GetComponent <TeamController>().EndTurn();
        });

        NextUnitButton = bottomPanel.Find("NextUnitButton").gameObject;
        NextUnitButton.GetComponent <Button>().onClick.AddListener(delegate()
        {
            Controllers[CurrentControllerPlaying].GetComponent <TeamController>().NextUnit();
        });

        FinishActionButton = bottomPanel.Find("FinishActionButton").gameObject;
        FinishActionButton.GetComponent <Button>().onClick.AddListener(delegate()
        {
            Controllers[CurrentControllerPlaying].GetComponent <TeamController>().FinishUnitAction();
        });

        CurrentControllerName = bottomPanel.Find("CurrentControllerName").gameObject;
    }
 private void OnEndTurnButtonLoaded(string name, GameObject go, object callbackData)
 {
     if (go == null)
     {
         UnityEngine.Debug.LogError(string.Format("Gameplay.OnEndTurnButtonLoaded() - FAILED to load \"{0}\"", name));
     }
     else if (this.IsHandlingNetworkProblem())
     {
         UnityEngine.Object.Destroy(go);
     }
     else
     {
         EndTurnButton component = go.GetComponent <EndTurnButton>();
         if (component == null)
         {
             UnityEngine.Debug.LogError(string.Format("Gameplay.OnEndTurnButtonLoaded() - ERROR \"{0}\" has no {1} component", name, typeof(EndTurnButton)));
         }
         else
         {
             component.transform.position = Board.Get().FindBone("EndTurnButton").position;
             foreach (Renderer renderer in go.GetComponentsInChildren <Renderer>())
             {
                 if (renderer.gameObject.GetComponent <TextMesh>() == null)
                 {
                     renderer.material.color = Board.Get().m_EndTurnButtonColor;
                 }
             }
         }
     }
 }
Ejemplo n.º 5
0
        public override void TurnUpdate()
        {
            if ((DateTime.Now - turnbeginTime).TotalMilliseconds < 5000)
            {
                return;
            }

            //ZConsole.LogLog(turnPhase);
            //ZConsole.LogLog(actionQueue.Count.ToString());
            switch (turnPhase)
            {
            case "begin":
                TurnAI();
                break;

            case "action":
                TurnAction();
                break;

            case "end":
                InputManager.Get().DoEndTurnButton();
                return;
            }
            if (EndTurnButton.Get().HasNoMorePlays())
            {
                turnPhase = "end";
            }
        }
Ejemplo n.º 6
0
    void UpdateUI()
    {
        bool human = Controllers[CurrentControllerPlaying].GetComponent <HumanTeamController>() != null ? true : false;

        EndTurnButton.GetComponent <Button>().interactable = human;

        //CurrentControllerName.GetComponent<TextMeshProUGUI>().text = Controllers[CurrentControllerPlaying].GetComponent<TeamController>().Name + " turn";
    }
Ejemplo n.º 7
0
 /// <summary>
 /// Sets the End Turn button's enabled state to the given <paramref name="enable"/>
 /// </summary>
 ///
 /// <param name="enable">Whether or not to enable to End Turn button</param>
 public void SetEndTurnButtonEnabled(bool enable)
 {
     EndTurnButton.Enabled = enable;
     if (enable)
     {
         EndTurnButton.Focus();
     }
 }
Ejemplo n.º 8
0
 public ButtonRow(Control c)
 {
     endturn = new EndTurnButton(c);
     statusField = new StatusField(c);
     undo = new UndoButton(c);
     float width = 300f;
     position = new Rect(Screen.width/2-width/2,Screen.height-110,width,40);
 }
 private void FindEndTurnButton()
 {
     this.m_EndTurnButton = EndTurnButton.Get();
     if (this.m_EndTurnButton != null)
     {
         this.m_EndTurnButtonTransform = this.m_EndTurnButton.transform;
     }
 }
Ejemplo n.º 10
0
 private ButtonRow(IGUIMessages receiver)
 {
     this.receiver = receiver;
     endturn = new EndTurnButton(receiver);
     statusField = new StatusField();
     undo = new UndoButton(receiver);
     float width = 300f;
     position = new Rect(Screen.width/2-width/2,Screen.height-110,width,40);
 }
Ejemplo n.º 11
0
 void Update()
 {
     if (CancelButton)
     {
         CancelButton.SetActive(PlayerInputManager.instance.selectedUnit);
     }
     if (EndTurnButton)
     {
         EndTurnButton.SetActive(!PlayerInputManager.instance.selectedUnit);
     }
 }
Ejemplo n.º 12
0
    private void Awake()
    {
        controller     = GetComponentInParent <BattleController>();
        unitListUI     = GetComponentInChildren <UnitListUI>();
        unitPortraitUI = GetComponentInChildren <UnitPortraitPanel>();
        turnCounterUI  = GetComponentInChildren <TurnCounter>();
        endBattleUI    = GetComponentInChildren <EndBattleUI>();
        endTurnButton  = GetComponentInChildren <EndTurnButton>();

        endBattleUI.Hide();
    }
 private void ChangeState_Timeout()
 {
     this.m_state = TurnTimerState.TIMEOUT;
     this.m_countdownEndTimestamp = 0f;
     if (EndTurnButton.Get() != null)
     {
         EndTurnButton.Get().OnTurnTimerEnded(this.m_currentTimerBelongsToFriendlySidePlayer);
     }
     this.StopCountdownAnims();
     this.UpdateCountdownAnims(0f);
 }
Ejemplo n.º 14
0
        public override void PrepareModels()
        {
            // TODO: pass a deck template
            Deck          = Registry.Get <IDeckModel>(null, this);
            Hand          = Registry.Get <IHandModel>(this);
            EndTurnButton = Registry.Get <IEndTurnButtonModel>(this);

            Deck.PrepareModels();
            Hand.PrepareModels();
            EndTurnButton.PrepareModels();
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Get current Pegasus Game State.
        /// </summary>
        /// <returns>The RockPegasusGameState.</returns>
        public RockPegasusGameState GetPegasusGameState()
        {
            GameState state = GameState.Get();

            if (state.IsBusy())
            {
                return(RockPegasusGameState.Blocking);
            }
            else if (state.IsGameOver())
            {
                return(RockPegasusGameState.GameOver);
            }
            else if (state.IsResponsePacketBlocked())
            {
                return(RockPegasusGameState.Blocking);
            }
            else if (state.IsBlockingPowerProcessor())
            {
                return(RockPegasusGameState.Blocking);
            }
            else if (state.IsMulliganPhase())
            {
                if (state.IsMulliganManagerActive() == false || MulliganManager.Get() == null || MulliganManager.Get().GetMulliganButton() == null || MulliganManager.Get().GetMulliganButton().IsEnabled() == false)
                {
                    return(RockPegasusGameState.Blocking);
                }

                FieldInfo filedinfo = MulliganManager.Get().GetType().GetField("m_waitingForUserInput", BindingFlags.NonPublic | BindingFlags.Instance);
                bool      iswaiting = (bool)filedinfo.GetValue(MulliganManager.Get());
                if (!iswaiting)
                {
                    return(RockPegasusGameState.Blocking);
                }

                return(RockPegasusGameState.WaitForMulligan);
            }
            else if (state.IsMulliganPhasePending())
            {
                return(RockPegasusGameState.Blocking);
            }
            else if (state.IsFriendlySidePlayerTurn() == true)
            {
                if (EndTurnButton.Get().IsInWaitingState())
                {
                    return(RockPegasusGameState.Blocking);
                }

                return(RockPegasusGameState.WaitForPlay);
            }

            return(RockPegasusGameState.None);
        }
Ejemplo n.º 16
0
    void EndTurn()
    {
        RaycastHit hitOut;

        if (Utility.ScreenRaycast(out hitOut, DeckMask) && PlayersHand)
        {
            EndTurnButton dc = hitOut.collider.gameObject.GetComponent <EndTurnButton>();
            if (dc)
            {
                ThePlayer.EndTurn();
            }
        }
    }
Ejemplo n.º 17
0
        protected override void RegisterPart(SceneObjectPart part)
        {
            if (part.Name == MONEY_BUTTON)
            {
                m_moneyButton = new MoneyButton(m_controller, part);
            }
            else if (part.Name == LAND_BUTTON)
            {
                m_landButton = new LandButton(m_controller, part);
            }
            else if (part.Name == WATER_BUTTON)
            {
                m_waterButton = new WaterButton(m_controller, part);
            }
//            else if (part.Name == MARKET_BUTTON)
//                m_marketButton = new MarketButton(m_controller, part);
            else if (part.Name == STATUS_BUTTON)
            {
                m_statusButton = new StatusButton(m_controller, part);
            }
            else if (part.Name == PHASE_BUTTON)
            {
                m_phaseButton = new PhaseButton(m_controller, part);
            }
            else if (part.Name == TIME_REMAINING_BUTTON)
            {
                m_timeRemainingButton = new TimeRemainingButton(m_controller, part);
            }
            else if (part.Name == END_TURN_BUTTON)
            {
                m_endTurnButton = new EndTurnButton(m_controller, part, UserId);
            }
            else if (part.Name == SHOW_BROWSER_BUTTON)
            {
                m_showBrowserButton = new ShowBrowserButton(m_controller, part, UserId);
            }
            else if (part.Name == TICKER_BUTTON)
            {
                m_tickerButton = new TickerButton(m_controller, part);
            }

            if (part.IsRoot)
            {
                RootLocalId = part.LocalId;

                // XXX: Nasty nasty nasty hack to resolve an issue where attached non-root prims do not always appear
//                SceneObjectGroup group = part.ParentGroup;
//                group.HasGroupChanged = true;
//                group.ScheduleGroupForFullUpdate();
            }
        }
Ejemplo n.º 18
0
        public void Draw(SpriteBatch sb)
        {
            World.Draw(sb);

            CurrentTeam.Draw(sb);
            EndTurnButton.Position = new Vector2(Graphics.PreferredBackBufferWidth - EndTurnButton.Background.Width - Padding, Graphics.PreferredBackBufferHeight - EndTurnButton.Background.Height - Padding);

            EndTurnButton.Draw(sb);

            if (TeamPopup != null)
            {
                TeamPopup.Draw(sb);
            }
        }
Ejemplo n.º 19
0
        /// <summary>
        /// On WaitForAction state
        /// </summary>
        /// <returns>Seconds to be delayed before next call.</returns>
        private double OnRockAction()
        {
            if (EndTurnButton.Get().HasNoMorePlays())
            {
                this.ShowRockInfo("Job's Done");
                this.pegasus.DoEndTurn();
                this.currentAction = null;
                return(3);
            }

            if (this.currentAction == null || this.currentAction.IsDone() || !this.currentAction.IsValid())
            {
                var scene      = this.pegasus.SnapshotScene();
                var playAction = this.bot.GetPlayAction(scene);
                if (playAction.Objects != null && playAction.Objects.Count != 0)
                {
                    var rockActionContext = new RockEngineAction(this.pegasus, playAction.Objects, playAction.Slot);
                    if (rockActionContext.IsValid())
                    {
                        this.currentAction = rockActionContext;
                        this.ShowRockInfo(this.currentAction.Interpretation);
                    }
                    else
                    {
                        this.tracer.Warning("Invalid rockAction");
                    }
                }
                else
                {
                    this.ShowRockInfo("Job's Done");
                    this.pegasus.DoEndTurn();
                    return(3);
                }
            }

            if (this.currentAction != null && this.currentAction.IsValid())
            {
                this.currentAction.Apply();
            }

            return(1);
        }
Ejemplo n.º 20
0
        public ControlCenter(GameInstance g, GamingForm f)
        {
            parent  = f;
            game    = g;
            g.Input = GetInput;

            InvokeRebuild = () => parent.Invoke((Action)ReBuild);
            Input         = (p) =>
            {
                parent.Invoke(InvokeRebuild);
                return(true);
            };

            endButt = new EndTurnButton(this);
            HeroA   = new HeroPortret(this, true);
            HeroB   = new HeroPortret(this, false);
            AHand   = new HandControl(this, true);
            BHand   = new HandControl(this, false);
            boardC  = new BoardControl(this);
        }
Ejemplo n.º 21
0
        public GamingForm(GameInstance g)
        {
            CheckForIllegalCrossThreadCalls = false;
            KeyPreview      = true;
            StartPosition   = FormStartPosition.CenterScreen;
            FormBorderStyle = FormBorderStyle.FixedToolWindow;

            Size = new Size(1300, 700);

            center = new ControlCenter(g, this);

            center.boardC.Location = BoardControl.StdLocation(center.boardC);

            center.HeroA.Location = HeroPortret.DefaultLocation(center.HeroA);
            center.HeroB.Location = HeroPortret.DefaultLocation(center.HeroB);

            center.AHand.Location = HandControl.StdLocation(center.AHand, false);
            center.BHand.Location = HandControl.StdLocation(center.BHand, true);

            center.endButt.Location = EndTurnButton.StdLocation(center.endButt);

            Load += StdForm_Load;
        }
Ejemplo n.º 22
0
        public bool MoveNext()
        {
            uint num = (uint)this.$PC;

            this.$PC = -1;
            switch (num)
            {
            case 0:
                this.$current = new WaitForSeconds(0.25f);
                this.$PC      = 1;
                goto Label_00D6;

            case 1:
                if (TurnTimer.Get() != null)
                {
                    TurnTimer.Get().OnEndTurnRequested();
                }
                EndTurnButton.Get().m_EndTurnButtonMesh.GetComponent <Animation>()["ENDTURN_YOUR_TIMER_DONE"].speed = 0.7f;
                EndTurnButton.Get().OnTurnTimerEnded(true);
                this.$current = new WaitForSeconds(1f);
                this.$PC      = 2;
                goto Label_00D6;

            case 2:
                EndTurnButton.Get().m_EndTurnButtonMesh.GetComponent <Animation>()["ENDTURN_YOUR_TIMER_DONE"].speed = 1f;
                break;

            default:
                break;
                this.$PC = -1;
                break;
            }
            return(false);

Label_00D6:
            return(true);
        }
 private void OnDestroy()
 {
     s_instance = null;
 }
 private bool CheckCriticalAssetLoads()
 {
     if (!this.m_criticalAssetsLoaded)
     {
         if (Board.Get() == null)
         {
             return(false);
         }
         if (BoardCameras.Get() == null)
         {
             return(false);
         }
         if (BoardStandardGame.Get() == null)
         {
             return(false);
         }
         if (GameMgr.Get().IsTutorial() && (BoardTutorial.Get() == null))
         {
             return(false);
         }
         if (MulliganManager.Get() == null)
         {
             return(false);
         }
         if (TurnStartManager.Get() == null)
         {
             return(false);
         }
         if (TargetReticleManager.Get() == null)
         {
             return(false);
         }
         if (GameplayErrorManager.Get() == null)
         {
             return(false);
         }
         if (EndTurnButton.Get() == null)
         {
             return(false);
         }
         if (BigCard.Get() == null)
         {
             return(false);
         }
         if (CardTypeBanner.Get() == null)
         {
             return(false);
         }
         if (TurnTimer.Get() == null)
         {
             return(false);
         }
         if (CardColorSwitcher.Get() == null)
         {
             return(false);
         }
         if (RemoteActionHandler.Get() == null)
         {
             return(false);
         }
         if (ChoiceCardMgr.Get() == null)
         {
             return(false);
         }
         if (InputManager.Get() == null)
         {
             return(false);
         }
         this.m_criticalAssetsLoaded = true;
         this.ProcessQueuedPowerHistory();
     }
     return(true);
 }
Ejemplo n.º 25
0
        private void OnRockAI()
        {
            if (OnRocking)
            {
                return;
            }
            OnRocking = true;


            try
            {
                if (ActionRocking != null && ActionRocking.step == -1)
                {
                    ActionRocking = null;
                }
                if (ActionRocking != null)
                {
                    try
                    {
                        OnAction(ActionRocking);
                    }
                    catch
                    {
                        ActionRocking = null;
                    }
                    return;
                }

                // ActionRocking = should be null;

                HoldBack(250);
                if (EndTurnButton.Get().HasNoMorePlays())
                {
                    OnRockTurnEnd();
                    return;
                }

                RockAction action = HearthrockRobot.RockIt();

                if (action.type == HEARTHROCK_ACTIONTYPE.PLAY)
                {
                    SingletonEndTurn = false;
                    Notify("Play: " + action.card1.GetEntity().GetName() + "=>" + action.card1.GetEntity().GetCardId());
                    ActionRocking = action;
                }
                else if (action.type == HEARTHROCK_ACTIONTYPE.ATTACK)
                {
                    SingletonEndTurn = false;
                    Notify("Attack: " + action.card1.GetEntity().GetName() + " > " + action.card2.GetEntity().GetName());
                    ActionRocking = action;
                }
                else
                {
                    OnRockTurnEnd();
                }
            }
            catch (Exception e)
            {
                Log("OnRockAI ex " + e.ToString());
            }
            finally
            {
                OnRocking = false;
            }
        }
Ejemplo n.º 26
0
        protected override void RegisterPart(SceneObjectPart part)
        {
            if (part.Name == MONEY_BUTTON)
                m_moneyButton = new MoneyButton(m_controller, part);
            else if (part.Name == LAND_BUTTON)
                m_landButton = new LandButton(m_controller, part);
            else if (part.Name == WATER_BUTTON)
                m_waterButton = new WaterButton(m_controller, part);
            //            else if (part.Name == MARKET_BUTTON)
            //                m_marketButton = new MarketButton(m_controller, part);
            else if (part.Name == STATUS_BUTTON)
                m_statusButton = new StatusButton(m_controller, part);
            else if (part.Name == PHASE_BUTTON)
                m_phaseButton = new PhaseButton(m_controller, part);
            else if (part.Name == TIME_REMAINING_BUTTON)
                m_timeRemainingButton = new TimeRemainingButton(m_controller, part);
            else if (part.Name == END_TURN_BUTTON)
                m_endTurnButton = new EndTurnButton(m_controller, part, UserId);
            else if (part.Name == SHOW_BROWSER_BUTTON)
                m_showBrowserButton = new ShowBrowserButton(m_controller, part, UserId);
            else if (part.Name == TICKER_BUTTON)
                m_tickerButton = new TickerButton(m_controller, part);

            if (part.IsRoot)
            {
                RootLocalId = part.LocalId;

                // XXX: Nasty nasty nasty hack to resolve an issue where attached non-root prims do not always appear
            //                SceneObjectGroup group = part.ParentGroup;
            //                group.HasGroupChanged = true;
            //                group.ScheduleGroupForFullUpdate();
            }
        }
Ejemplo n.º 27
0
 private void Awake()
 {
     instance = this;
 }