public void OnPlayerJoined(PlayerInput newPlayer)
        {
            if (newPlayer.currentControlScheme == "Keyboard&Mouse")
            {             // I think this is permenantly disabled now?
                          //Debug.Log("Don't need no stinking Keyboard&Mouse");
                player2 = newPlayer.GetComponent <Player>();
                foreach (var enemy in enemyCharacters)
                {
                    enemy.SetTacticalController(player2.GetComponent <PlayerBattleController>());
                }
                return;
            }

            Debug.Log("new player!");
            player = newPlayer.GetComponent <Player>();
            //player.AddControllableActors(playerActors);
            if (playerCharacters != null)
            {
                PlayerBattleController ptc = newPlayer.GetComponent <PlayerBattleController>();
                playerControllers.Add(ptc);
                foreach (var pc in playerCharacters)
                {
                    pc.SetTacticalController(ptc);
                }
            }
        }
        /// <summary>
        /// Sets a pointer belonging to playerController to active, sets position relative to target,
        /// and returns it.
        /// </summary>
        /// <param name="playerController"></param>
        /// <param name="target"></param>
        /// <returns></returns>
        public GameObject SetPointerTarget(PlayerBattleController playerController, GameObject target)
        {
            var pointer = targetPointers[playerController];

            pointer.SetActive(true);
            pointer.transform.position = target.transform.position + pointerOffset;
            return(pointer);
        }
Example #3
0
 IEnumerator Start()
 {
     while (FindObjectOfType <PlayerBattleController>() == null)
     {
         yield return(null);
     }
     player = FindObjectOfType <PlayerBattleController>();
 }
Example #4
0
    void SetUpBattle()
    {
        GameObject playerGO = Instantiate(playerPrefab, playerSpawnPoint);

        InstantiateDices();
        SpawnMonstersStartup();
        GetComponentInChildren <SpriteRenderer>().sprite = battleStartupInfo.battleBackground;
        player = playerGO.GetComponent <PlayerBattleController>();
        SetupButtonNavigation();
        state = BattleState.PLAYERTURN;
        FirstTurn();
    }
Example #5
0
    public void TriggerBlockPushed()
    {
        if (playerBattleController == null)
        {
            if ((playerBattleController = FindObjectOfType <PlayerBattleController>()) == null)
            {
                return;
            }
        }

        playerBattleController.BlockPushed();
    }
Example #6
0
    void CreateUnits(int num)
    {
        battleCamera = CreateCamera();

        for (int i = 0; i < status.monsterNumbers[num].Length; i++)
        {
            int number = status.monsterNumbers[num][i];

            GameObject enemy = Instantiate(status.monstersData[number].modle) as GameObject;

            if (number == 3)
            {
                BossBattleController auto = enemy.AddComponent <BossBattleController> ();
                enemyList.Add(auto);
                auto.InitBattle(this.gameObject, battleCamera, status.monsterPositions[i], Quaternion.identity, "Enemy", number, status.playersData[number].status);
                auto.SetEffects(status.playersData[number].attackEffect);
                auto.enabled = false;
            }
            else
            {
                EnemyBattleController auto = enemy.AddComponent <EnemyBattleController> ();
                enemyList.Add(auto);
                auto.InitBattle(this.gameObject, battleCamera, status.monsterPositions[i], Quaternion.identity, "Enemy", number, status.monstersData[number].status);
                auto.enabled = false;
            }
        }

        for (int i = 0; i < 4; i++)
        {
            if (status.partyMember[i] >= 0)
            {
                GameObject player = Instantiate(status.playersData[status.partyMember[i]].modle[1]) as GameObject;

                PlayerBattleController mb = player.AddComponent <PlayerBattleController> ();
                playerList.Add(mb);

                if (i == 0)
                {
                    mb.isUser = true;
                }
                else
                {
                    mb.isUser = false;
                }

                mb.InitBattle(this.gameObject, battleCamera, status.playerPositions[i], Quaternion.Euler(0.0f, 180.0f, 0.0f), "Player", status.partyMember[i], status.playersData[status.partyMember[i]].status);
                mb.SetEffects(status.playersData[status.partyMember[i]].attackEffect);
                mb.enabled = false;
            }
        }
    }
        public CommandSelectFSM(PlayerBattleController controller)
        {
            data.commandStack     = new Stack <EventSelectionPanel>();
            data.playerController = controller;
            data.battleManager    = BattleManager.instance;
            data.battleHUD        = BattleManager.BattleHUD;

            typeToState.Add(CommandPhase.WaitingForInput, new WaitingForInputCommandState(data));
            typeToState.Add(CommandPhase.SelectingCommand, new SelectingCommandState(data));
            typeToState.Add(CommandPhase.SelectingTarget, new SelectingTargetCommandState(data));

            currentState = CommandPhase.WaitingForInput;
            currentStateImplementation = typeToState[currentState];
        }
    // Use this for initialization
    void Start()
    {
        _battleController = GameObject.FindWithTag("Player").GetComponent <PlayerBattleBehavior>().BattleController;

        _battleController.OnEnergyChanged += UpdateEnergy;
        _battleController.OnDamage        += UpdateHealth;

        _health = transform.Find("HealthPanel");
        _energy = transform.Find("EnergyPanel");

        _healthBar = _health.Find("HealthBar");
        _energyBar = _energy.Find("EnergyBar");

        UpdateEnergy(0);
        UpdateHealth(0);
    }
Example #9
0
 public void ChangeToOverworld()
 {
     controls.InventoryUI.Disable();
     controls.Overworld.Enable();
     controls.Battle.Disable();
     controls.GenericUI.Disable();
     if (playerController == null)
     {
         if ((playerController = FindObjectOfType <PlayerController>()) == null)
         {
             return;
         }
     }
     playerController.SetGameState(GameState.PLAYING);
     battleSystem           = null;
     holdAssignButton       = null;
     playerBattleController = null;
     eventSystem            = null;
 }
Example #10
0
    // Update is called once per frame
    void Update()
    {
        if (battleManager.getExp > 0)
        {
            battleManager.getExp -= speed;

            if (inputManager.CancelButton == 1)
            {
                speed += battleManager.getExp;
                battleManager.getExp = 0;
                inputManager.ClearInput();
            }
            expVar += speed;
            for (int i = 0; i < battleManager.playerList.Count; i++)
            {
                PlayerBattleController player = (PlayerBattleController)battleManager.playerList[i];
                int nextExp = ReturnNextExe(player.status.level);

                status.playersData[player.ID].status.experience += speed;
                if (status.playersData[player.ID].status.experience >= nextExp)
                {
                    status.LevelUp(player.ID);
                    player.nowHp = status.playersData[player.ID].status.maxhp;
                    player.nowMp = status.playersData[player.ID].status.maxmp;
                    CreateGUITexture("level_up", "UI/battle/level_up",
                                     new Rect(expGauge[i].pixelInset.x - 300, expGauge[i].pixelInset.y - 30, 160, 20),
                                     expGauge[i].transform.parent, 2.3f);
                }

                float widht = (float)(nextExp - status.playersData[player.ID].status.experience) / (float)nextExp * -145.0f * ww;
                expGauge[i].pixelInset = new Rect(expGauge[i].pixelInset.x, expGauge[i].pixelInset.y, widht, expGauge[i].pixelInset.height);
                exp[i].text            = "+" + expVar.ToString();
            }
        }

        if (battleManager.getExp <= 0 && inputManager.DecisionButton == 1)
        {
            Destroy(resultObject.gameObject);
            battleManager.UnitBattle();
        }
    }
Example #11
0
    private void InitAttackEvent()
    {
        GameObject battleCamera = Instantiate(Resources.Load("Prefabs/Cameras/BattleCamera", typeof(GameObject)) as GameObject, Vector3.zero, Quaternion.identity) as GameObject;

        battleCamera.GetComponent <Camera>().enabled = false;
        battleCamera.AddComponent <ShinBattleCamera> ();

        for (int i = 0; i < 2; i++)
        {
            GameObject player = Instantiate(status.playersData[i].modle[1]) as GameObject;

            PlayerBattleController mb = player.AddComponent <PlayerBattleController> ();
            mb.InitBattle(this.gameObject, battleCamera, status.playerPositions[i], Quaternion.Euler(0.0f, 180.0f, 0.0f), "Player", i, status.playersData[status.partyMember[i]].status);
            mb.AddAttackEvent();
            Destroy(player);
        }

        for (int i = 0; i < 4; i++)
        {
            GameObject enemy = Instantiate(status.monstersData[i].modle) as GameObject;

            if (i == 3)
            {
                BossBattleController auto = enemy.AddComponent <BossBattleController> ();
                auto.InitBattle(this.gameObject, battleCamera, status.monsterPositions[i], Quaternion.identity, "Enemy", 0, status.playersData[i].status);
                auto.AddAttackEvent();
            }
            else
            {
                EnemyBattleController auto = enemy.AddComponent <EnemyBattleController> ();
                auto.InitBattle(this.gameObject, battleCamera, status.monsterPositions[i], Quaternion.identity, "Enemy", 0, status.monstersData[i].status);
                auto.AddAttackEvent();
            }
            Destroy(enemy);
        }

        Destroy(battleCamera);
    }
 public void Unpause(PlayerBattleController controller)
 {
     battleTimer.PauseRequest(BattleTimer.PauseRequestType.Unpause, controller);
 }
 public void PauseRequested(BattleTimer.PauseRequestType pauseReason,
                            PlayerBattleController controller)
 {
     battleTimer.PauseRequest(pauseReason, controller);
 }
 void Awake()
 {
     Instance = this;
     Init();
 }
Example #15
0
		public void SetPanelToController(PlayerBattleController player)
		{
			owningPlayer = player;
		}
        /// <summary>
        /// Returns true if is pausing. Returns false if unpausing.
        /// </summary>
        /// <param name="reason"></param>
        /// <returns></returns>
        public bool PauseRequest(PauseRequestType reason, PlayerBattleController controller)
        {
            switch (reason)
            {
            case PauseRequestType.Unpause:
                if (!playersRequestedPause.Remove(controller))
                {
                    Debug.LogError("Player did not request pause");
                }
                else if (playersRequestedPause.Count == 0)
                {
                    unpauseThisUpdate = true;
                }
                break;

            case PauseRequestType.ChooseCommand:
                if (!BattleManager.instance.isActiveCommand)
                {
                    pauseThisUpdate = true;
                    reasonForPause  = reason;
                    playersRequestedPause.Add(controller, reason);
                }
                break;

            case PauseRequestType.ControllerLost:
                pauseThisUpdate = true;
                reasonForPause  = reason;
                throw new System.Exception("Need pop-up to handle controller disconnect!");

            case PauseRequestType.GamePause:
                if (Time.timeScale == 0)
                {
                    if (hardPauseRequestedBy == controller)
                    {
                        GetComponent <BattleManager>().ToggleInputAllPlayers(true);
                        pauseDisplay.SetActive(false);
                        Time.timeScale       = 1;
                        hardPauseRequestedBy = null;
                    }
                }
                else
                {
                    GetComponent <BattleManager>().ToggleInputAllPlayers(false);
                    hardPauseRequestedBy = controller;
                    pauseDisplay.SetActive(true);
                    Time.timeScale = 0;
                }

                break;

            case PauseRequestType.FinishedCommandInput:
                if (reasonForPause != PauseRequestType.ActionContest)
                {
                    if (!isPaused)
                    {
                        unpauseThisUpdate = true;
                        reasonForPause    = reason;
                    }
                }
                break;

            case PauseRequestType.ActionContest:
                if (!isPaused)
                {
                    pauseThisUpdate = true;
                    reasonForPause  = reason;
                }
                break;
            }

            return(pauseThisUpdate);
        }