コード例 #1
0
ファイル: Boot.cs プロジェクト: torybash/TankGame
        private void BootGame()
        {
            //Setting up controllers, databases, flow-stack etc.

            //Core functionality
            var viewDatabase   = databaseHelper.Get <ViewDatabase>();
            var viewController = new ViewController(viewDatabase);
            var flowStack      = new FlowStack();

            //Game, map, battle
            var tankDatabase  = databaseHelper.Get <TankDatabase>();
            var crewDatabase  = databaseHelper.Get <CrewDatabase>();
            var cardsDatabase = databaseHelper.Get <CardsDatabase>();
            var activeCardsPanelLifecycleHandler = new ActiveCardsPanelLifecycleHandler(viewController);
            var abilitiesPanelLifecycleHandler   = new AbilitiesPanelLifecycleHandler(tankDatabase);
            var tankPanelLifecycleHandler        = new TankPanelLifecycleHandler();
            var dragAndDropArrow      = new DragAndDropArrowController(viewController);
            var battleHUD             = new BattleHUD(viewController, activeCardsPanelLifecycleHandler, abilitiesPanelLifecycleHandler, tankPanelLifecycleHandler, dragAndDropArrow);
            var gameControllerFactory = new GameControllerFactory(flowStack, viewController, battleHUD, tankDatabase, crewDatabase, cardsDatabase);

            //Main menu
            var mainMenuControllerFactory = new MainMenuControllerFactory(flowStack, viewController, gameControllerFactory);

            //Start Flow
            var menuFlow = new MainMenuFlow(mainMenuControllerFactory);

            flowStack.Push(menuFlow);
        }
コード例 #2
0
    void HandleActionSelection(Unit playerUnit, BattleHUD playerHUD)
    {
        if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            if (currentAction <= 1)
            {
                ++currentAction;
            }
        }
        else if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            if (currentAction >= 1)
            {
                --currentAction;
            }
        }

        dialogBox.UpdateActionSelection(currentAction);

        if (Input.GetKeyDown(KeyCode.Z))
        {
            if (currentAction == 0)
            {
                StartCoroutine(PlayerAttack(playerUnit));
            }
            else if (currentAction == 1)
            {
                StartCoroutine(PlayerHeal(playerUnit, playerHUD));
            }
            else if (currentAction == 2)
            {
                StartCoroutine(PlayerRun(playerUnit));
            }
        }
    }
コード例 #3
0
    private void Start()
    {
        BattleHUD.Read();
        this.cameraController = GameObject.Find("Battle Camera").GetComponent <BattleMapCameraController> ();
        this.InitBattleScene();
        HonoluluBattleMain.UpdateFrameTime(FF9StateSystem.Settings.FastForwardFactor);
        GameObject gameObject = GameObject.Find("BattleMap Root");

        HonoluluBattleMain.battleSPS = new GameObject("BattleMap SPS")
        {
            transform =
            {
                parent = gameObject.transform
            }
        }.AddComponent <BattleSPSSystem> ();
        HonoluluBattleMain.battleSPS.Init();
        byte camera = FF9StateSystem.Battle.FF9Battle.btl_scene.PatAddr[(int)FF9StateSystem.Battle.FF9Battle.btl_scene.PatNum].Camera;

        FF9StateSystem.Battle.FF9Battle.seq_work_set.CameraNo = ((camera >= 3) ? checked ((byte)UnityEngine.Random.Range(0, 3)) : camera);
        SFX.StartBattle();
        if (FF9StateSystem.Settings.cfg.skip_btl_camera == 0UL && FF9StateSystem.Battle.isRandomEncounter)
        {
            SFX.SkipCameraAnimation(-1);
        }
        if (FF9StateSystem.Battle.isNoBoosterMap())
        {
            FF9StateSystem.Settings.IsBoosterButtonActive[0] = false;
            FF9StateSystem.Settings.SetBoosterHudToCurrentState();
            PersistenSingleton <UIManager> .Instance.Booster.SetBoosterButton(BoosterType.BattleAssistance, false);
        }
    }
コード例 #4
0
    // Use this for initialization
    void Start()
    {
        Debug.Log("Battle Start");
        missionManager       = GetComponent <MissionManager>();
        battleHUD            = GetComponent <BattleHUD>();
        Global.isExitingRoom = false;

        Global.photonService.OtherScoreEvent        += OnOtherScore;
        Global.photonService.MissionCompleteEvent   += OnMissionComplete;
        Global.photonService.ApplyMissionEvent      += OnApplyRate;
        Global.photonService.UpdateScoreEvent       += OnUpdateScore;
        Global.photonService.OtherMissionScoreEvent += OnOtherMissionComplete;
        Global.photonService.GameStartEvent         += OnGameStart;
        Global.photonService.GameOverEvent          += OnGameOver;
        Global.photonService.LoadSceneEvent         += OnLoadScene;

        _isCombo      = false;
        _combo        = 0;
        _maxCombo     = 0;
        _tmpCombo     = 0;
        _gameTime     = 0;
        _score        = 0;
        _gameScore    = 0;
        _otherScore   = 0;
        _maxScore     = 0;
        _eggMiceUsage = 0;
        _energyUsage  = 0;
        _lostMice     = 0;
        _killMice     = 0;
        _spawnCount   = 0;
    }
コード例 #5
0
            public PanelTarget(BattleHUD scene, GameObject obj)
                : base(obj)
            {
                Players     = new GOTable <GONavigationButton>(obj.GetChild(0));
                Enemies     = new GOTable <GONavigationButton>(obj.GetChild(1));
                Buttons     = new ButtonPair(obj.GetChild(2));
                PreventArea = new GOWidgetButton(obj.GetChild(3));
                Captions    = new CaptionBackground(obj.GetChild(4));

                foreach (GONavigationButton button in Players.Entries)
                {
                    button.EventListener.Click    += scene.onClick;
                    button.EventListener.Navigate += scene.OnTargetNavigate;
                }

                foreach (GONavigationButton button in Enemies.Entries)
                {
                    button.EventListener.Click    += scene.onClick;
                    button.EventListener.Navigate += scene.OnTargetNavigate;
                }

                Int32 index = 0;

                AllTargets = new GONavigationButton[Players.Count + Enemies.Count];
                foreach (GONavigationButton button in Players.Entries)
                {
                    AllTargets[index++] = button;
                }
                foreach (GONavigationButton button in Enemies.Entries)
                {
                    AllTargets[index++] = button;
                }
            }
コード例 #6
0
	// Use this for initialization
	void Awake () 
	{
		HUD = this;
		BattleOverText.enabled = false;
		TargetPanel.SetActive (false);

	
	}
コード例 #7
0
 public ContainerStatus(BattleHUD battleHUD, GameObject obj)
     : base(obj)
 {
     HP         = new PanelDetail <ValueWidget>(obj.GetChild(0));
     MP         = new PanelDetail <ValueWidget>(obj.GetChild(1));
     GoodStatus = new PanelDetail <IconsWidget>(obj.GetChild(2));
     BadStatus  = new PanelDetail <IconsWidget>(obj.GetChild(3));
 }
コード例 #8
0
 public void DisableActions(BattleHUD hud)
 {
     hud.attackButton.GetComponent <Button>().enabled = false;
     hud.attackButton.GetComponent <Image>().enabled  = false;
     hud.attackButtonText.GetComponent <TextMeshProUGUI>().enabled = false;
     hud.healButton.GetComponent <Button>().enabled = false;
     hud.healButton.GetComponent <Image>().enabled  = false;
     hud.healButtonText.GetComponent <TextMeshProUGUI>().enabled = false;
 }
コード例 #9
0
 void Start()
 {
     Debug.Log("Start");
     otherHits = myHits = 0;
     isDead    = false;
     flag      = true;
     battleHUD = GameObject.Find("GameManager").GetComponent <BattleHUD>();
     Global.photonService.BossDamageEvent  += OnBossDamage;
     Global.photonService.OtherDamageEvent += OnOtherDamage;
 }
コード例 #10
0
ファイル: SOBattleHUD.cs プロジェクト: uzoko1/Memoria
        public SOBattleHUD(BattleHUD scene)
        {
            Scene = scene;

            PauseButton            = new SpriteButton(scene.PauseButtonGameObject);
            HelpButton             = new SpriteButton(scene.HelpButtonGameObject);
            HitArea                = new WidgetButton(scene.HideHudHitAreaGameObject);
            AllMenuPanel           = new GOAllMenuPanel(scene.AllMenuPanel);
            BattleInformationPanel = new PanelBattleInformation(scene.BattleDialogGameObject);
            Transitions            = new Transition(scene.TransitionGameObject);
            Fading = new SpriteFading(scene.ScreenFadeGameObject);
        }
コード例 #11
0
ファイル: BattleSystem.cs プロジェクト: MrGJ/PleaseBug
    //Enemy's Special Attack Functionality
    IEnumerator EnemySpecial(Unit unit, BattleHUD hud)
    {
        bool isDead = unit.TakeDamage(enemyUnit.specDamage);

        hud.HPFiddling(unit.currentHP);
        dialogueText.text = enemyUnit.unitName + " attacks " + unit.unitName + " for " + enemyUnit.specDamage + "!";
        yield return(new WaitForSeconds(2f));

        if (isDead)
        {
            deadCheck += 1;
        }
    }
コード例 #12
0
            public PanelParty(BattleHUD scene, GameObject obj)
                : base(obj)
            {
                _scene = scene;

                Characters = new GOTable <Character>(obj.GetChild(0));
                Captions   = new CaptionBackground(obj.GetChild(1));

                foreach (Character character in Characters.Entries)
                {
                    character.EventListener.Click += OnCharacterClick;
                }
            }
コード例 #13
0
            public PanelCommand(BattleHUD scene, GameObject obj)
                : base(obj)
            {
                _scene = scene;

                Attack  = new GONavigationButton(obj.GetChild(0));
                Defend  = new GONavigationButton(obj.GetChild(1));
                Skill1  = new GONavigationButton(obj.GetChild(2));
                Skill2  = new GONavigationButton(obj.GetChild(3));
                Item    = new GONavigationButton(obj.GetChild(4));
                Change  = new GONavigationButton(obj.GetChild(5));
                Caption = new CaptionBackground(obj.GetChild(6));

                SubscribeOnClick();
            }
コード例 #14
0
    void Update()
    {
        Selection();
        switch (BattleGameState)
        {
        case GameState.PLAYER_1_TURN:
            CurrbattleHUD = P1battleHUD;
            EnebattleHUD  = P2battleHUD;
            break;

        case GameState.PLAYER_2_TURN:
            CurrbattleHUD = P2battleHUD;
            EnebattleHUD  = P1battleHUD;
            break;
        }
    }
コード例 #15
0
            public AllMenuPanel(BattleHUD scene, GameObject obj)
                : base(obj)
            {
                _scene = scene;

                BackButton       = new ButtonBack(obj.GetChild(0));
                AllTargetButton  = new ToggleButton(obj.GetChild(1));
                AutoAttackButton = new ToggleButton(obj.GetChild(2));
                RunButton        = new ButtonRun(obj.GetChild(3));
                StatusContainer  = new ContainerStatus(_scene, obj.GetChild(4));
                CommandPanel     = new PanelCommand(scene, obj.GetChild(5));
                TargetPanel      = new PanelTarget(scene, obj.GetChild(6));
                AbilityPanel     = new ScrollablePanel(obj.GetChild(7));
                ItemPanel        = new ScrollablePanel(obj.GetChild(8));
                PartyPanel       = new PanelParty(scene, obj.GetChild(9));
                AutoAttackHUD    = new HUDAutoAttack(obj.GetChild(10));
            }
コード例 #16
0
        private void Start()
        {
            // Load the level
            levelService = new LevelService();
            GridNavigator gridNavigator = GetComponent <GridNavigator>() ?? gameObject.AddComponent <GridNavigator>();

            levelService.Init("Level2", this, gridNavigator);

            hud = GameObject.Find("Canvas").GetComponent <BattleHUD>();
            hud.OnEndTurnClicked += OnEndTurnClicked;

            inputSystem = GetComponent <InputSystem>() ?? gameObject.AddComponent <InputSystem>();
            inputSystem.Init(levelService);
            inputSystem.OnCharacterClicked += OnCharacterClicked;
            inputSystem.OnEmptyTileClicked += OnEmptyTileClicked;

            StartPlayerTurn();
        }
コード例 #17
0
        void Start()
        {
            player              = GetComponent <Player>();
            playerInput         = GetComponent <PlayerInput>();
            playerInput.actions = tacticalInput;
            battleManager       = BattleManager.instance;
            battleHUD           = BattleManager.BattleHUD;

            commandFSM = new CommandSelectFSM(this);


            // !!! TEMP HACK !!!
            currentBattleActor = GameObject.FindGameObjectWithTag(Tags.PC).GetComponent <BattleActor>();            // this only finds one PC!!
            if (currentBattleActor == null)
            {
                throw new System.Exception("f");
            }
        }
コード例 #18
0
    IEnumerator PlayerHeal(Unit playerUnit, BattleHUD playerHUD)
    {
        state = BattleState.PLAYERMOVE;
        dialogBox.EnableActionSelector(false);
        yield return(dialogBox.TypeDialog(playerUnit.unitName + " heals for 5..."));

        yield return(new WaitForSeconds(1f));

        playerUnit.Heal(5);

        playerHUD.SetHP(playerUnit.currentHP, playerUnit.maxHP);
        yield return(dialogBox.TypeDialog("You feel renewed strength!"));

        yield return(new WaitForSeconds(1f));

        state = BattleState.ENEMYTURN;
        StartCoroutine(EnemyTurn());
    }
コード例 #19
0
    private void Update()
    {
        BattleHUD.Read();
        bool flag = this.previousDebugState != this.ShowDebugButton;

        if (flag)
        {
            this.previousDebugState = this.ShowDebugButton;
            bool showDebugButton = this.ShowDebugButton;
            if (showDebugButton)
            {
                base.gameObject.GetChild(1).SetActive(true);
            }
            else
            {
                base.gameObject.GetChild(1).SetActive(false);
            }
        }
    }
コード例 #20
0
    IEnumerator tookDamage(Unit playerUnit, BattleHUD playerHUD, int damage)
    {
        yield return(dialogBox.TypeDialog(playerUnit.unitName + " took damage!"));

        yield return(new WaitForSeconds(1f));

        isDead = playerUnit.TakeDamage(damage);
        playerHUD.SetHP(playerUnit.currentHP, playerUnit.maxHP);

        if (isDead)
        {
            yield return(dialogBox.TypeDialog(playerUnit.unitName + " lost determination..."));

            yield return(new WaitForSeconds(1f));

            playerUnit.playerDead = true;
            maxPlayers           -= 1;
        }
    }
コード例 #21
0
ファイル: GUIManager.cs プロジェクト: Mazinkam/ZenjectFrame
    public void HandlePanels(Panel currentPanel)
    {
        switch (currentPanel)
        {
        case Panel.MainMenu:
            LobbyMainMenu.Show();
            break;

        case Panel.CampaignMenu:
            CampaignMenu.Show();
            break;

        case Panel.InGame:
            ShowTopMenu(false);
            ShowBottomMenu(false);
            BattleHUD.Show();
            return;

        case Panel.LeaderBoards:
            Leaderboard.Show();
            break;

        case Panel.ArmyPanel:
            CardCollectionMenu.Show();
            break;

        case Panel.TasksPanel:
            TasksMenu.Show();
            break;

        case Panel.ShopPanel:
            IAPPanel.Show();
            break;

        case Panel.SocialPanel:
            SocialPanel.Show();
            break;

        default:
            LobbyMainMenu.Show();
            break;
        }
    }
コード例 #22
0
    private bool _isBadMice;                                    // 是否打到壞老鼠

    #endregion

    void Start()
    {
        Global.photonService.ApplyMissionEvent      += OnApplyMission;          // 加入 接受任務 監聽事件
        Global.photonService.OtherMissionScoreEvent += OnOtherMissionComplete;  // 加入 顯示對方 完成任務 監聽事件
        Global.photonService.MissionCompleteEvent   += OnMissionComplete;       // 加入 完成任務 監聽事件
        Global.photonService.LoadSceneEvent         += OnLoadScene;             // 移除 離開房間 監聽事件
        battleManager = GetComponent <BattleManager>();
        battleHUD     = GetComponent <BattleHUD>();

        activeScore  = 1000;
        activeTime   = 15; //15
        missionTime  = 10; //10
        missionRate  = 1.0f;
        lastGameTime = 0;

        missionFlag = false;
        seesawFlag  = true;
        _isBadMice  = false;

        _mission     = Mission.None;
        _missionMode = MissionMode.Closed;
    }
コード例 #23
0
ファイル: BattleSystem.cs プロジェクト: youwho42/jbjt
    IEnumerator PlayerAttack(BattleHUD battleHUD)
    {
        bool missed;
        int  finalDamage;
        bool isDead = battleHUD.enemyUnit.TakeDamage(player.damage.GetValue(), out missed, out finalDamage);

        battleHUD.SetHP(battleHUD.enemyUnit.currentHP);
        if (missed == true)
        {
            dialogText.text = "You missed!";
        }
        else
        {
            dialogText.text = "Attack successful! You struck for " + finalDamage + " damage!";
        }


        yield return(new WaitForSeconds(3f));

        if (isDead)
        {
            enemyAmountThisRound--;
            if (enemyAmountThisRound <= 0)
            {
                state = BattleState.Win;
                StartCoroutine(EndBattle());
            }
            else
            {
                state = BattleState.EnemyTurn;
                StartCoroutine(EnemyAttack());
            }
        }
        else
        {
            state = BattleState.EnemyTurn;
            StartCoroutine(EnemyAttack());
        }
    }
コード例 #24
0
 void OnSpawn()
 {
     isDead    = false;
     battleHUD = GameObject.Find("GameManager").GetComponent <BattleHUD>();
 }
コード例 #25
0
ファイル: GUIManager.cs プロジェクト: Mazinkam/ZenjectFrame
    private UniRx.IObservable <Unit> HidePreviousPanel()
    {
        return(Observable.Create <Unit>(observer =>
        {
            if (PreviousPanel.Value == CurrentPanel.Value)
            {
                observer.OnCompleted();
                return null;
            }

            switch (PreviousPanel.Value)
            {
            case Panel.MainMenu:
                LobbyMainMenu.Hide();
                break;

            case Panel.CampaignMenu:
                CampaignMenu.Hide();
                break;

            case Panel.Lobby:
                this.lobbyPanel.SetActive(false);
                break;

            case Panel.InGame:
                BattleHUD.Hide();
                BattleResultsPanel.Hide();
                break;

            case Panel.LeaderBoards:
                Leaderboard.Hide();
                break;

            case Panel.ArmyPanel:
                CardCollectionMenu.Hide();
                break;

            case Panel.ShopPanel:
                IAPPanel.Hide();
                break;

            case Panel.TasksPanel:
                TasksMenu.Hide();
                break;

            case Panel.ServerPanel:
                this.serverPanel.SetActive(false);
                break;

            case Panel.SocialPanel:
                SocialPanel.Hide();
                break;

            case Panel.BattleResultsPanel:
                BattleResultsPanel.Hide();
                break;

            default:
                Debug.LogError("Unsupported panel: " + PreviousPanel);
                break;
            }

            observer.OnCompleted();
            return null;
        }));
    }
コード例 #26
0
 // Use this for initialization
 void Awake()
 {
     HUD = this;
     BattleOverText.enabled = false;
     TargetPanel.SetActive(false);
 }
コード例 #27
0
 private void Start()
 {
     BattleHUD.Read();
 }
コード例 #28
0
    private void Update()
    {
        BattleHUD.Read();
        this.UpdateAttachModel();
        this.cumulativeTime += Time.deltaTime;
        if (this.needClampTime)
        {
            this.cumulativeTime = Mathf.Min(this.cumulativeTime, HonoluluBattleMain.frameTime * (float)SettingsState.FastForwardGameSpeed * 1.2f);
        }
        while (this.cumulativeTime >= HonoluluBattleMain.frameTime)
        {
            this.cumulativeTime -= HonoluluBattleMain.frameTime;
            HonoluluBattleMain.battleSPS.Service();
            if ((FF9StateSystem.Battle.FF9Battle.attr & 4096) == 0)
            {
                if ((FF9StateSystem.Battle.FF9Battle.attr & 256) == 0)
                {
                    this.battleResult = (ulong)battle.BattleMain();
                    if (!FF9StateSystem.Battle.isDebug)
                    {
                        if (UIManager.Battle.FF9BMenu_IsEnable())
                        {
                            this.YMenu_ManagerAt();
                        }
                        if (this.battleResult == 1UL)
                        {
                            PersistenSingleton <FF9StateSystem> .Instance.mode = 8;
                            FF9StateBattleSystem ff9Battle3 = FF9StateSystem.Battle.FF9Battle;
                            ff9Battle3.attr |= 4096;
                        }
                    }
                    SceneDirector.ServiceFade();
                }
            }
            else
            {
                FF9StateGlobal ff9StateGlobal = FF9StateSystem.Common.FF9;
                switch (ff9StateGlobal.btl_result)
                {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 7:
                    if (ff9StateGlobal.btl_result == 2)
                    {
                        ff9StateGlobal.btl_result = 1;
                    }
                    if (FF9StateSystem.Battle.FF9Battle.map.nextMode == 1 || FF9StateSystem.Battle.FF9Battle.map.nextMode == 5)
                    {
                        FF9StateSystem.Common.FF9.fldMapNo = FF9StateSystem.Battle.FF9Battle.map.nextMapNo;
                    }
                    else if (FF9StateSystem.Battle.FF9Battle.map.nextMode == 3)
                    {
                        FF9StateSystem.Common.FF9.wldMapNo = FF9StateSystem.Battle.FF9Battle.map.nextMapNo;
                    }
                    UIManager.Battle.GoToBattleResult();
                    if (!FF9StateSystem.Battle.isDebug)
                    {
                        PersistenSingleton <EventEngine> .Instance.ServiceEvents();

                        SceneDirector.ServiceFade();
                    }
                    break;

                case 6:
                    UIManager.Battle.GoToGameOver();
                    break;
                }
            }
        }
        for (BTL_DATA next = FF9StateSystem.Battle.FF9Battle.btl_list.next; next != null; next = next.next)
        {
            if (next.bi.slave == 0 && next.bi.disappear == 0 && next.bi.shadow != 0)
            {
                FF9StateBattleSystem ff9Battle2 = FF9StateSystem.Battle.FF9Battle;
                int boneNo = ff9btl.ff9btl_set_bone(next.shadow_bone[0], next.shadow_bone[1]);
                if (next.bi.player != 0)
                {
                    if ((ff9Battle2.cmd_status & 1) == 0)
                    {
                        if ((next.escape_key ^ ff9Battle2.btl_escape_key) != 0)
                        {
                            btl_mot.SetDefaultIdle(next);
                        }
                        next.escape_key = ff9Battle2.btl_escape_key;
                    }
                    btlseq.FF9DrawShadowCharBattle(ff9Battle2.map.shadowArray, (int)next.bi.slot_no, 0, boneNo);
                }
                else if (next.die_seq < 4)
                {
                    btlseq.FF9DrawShadowCharBattle(ff9Battle2.map.shadowArray, (int)(checked (9 + next.bi.slot_no)), 0, boneNo);
                }
            }
        }
    }
コード例 #29
0
 private void Awake()
 {
     Instance = this;
 }