// Use this for initialization.
    void Start()
    {
        dbm = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

        // Add liseners here.
        buttonConstructor.onClick.AddListener(delegate
        {
            OnButtonConstruction();
        });

        buttonWorld.onClick.AddListener(delegate
        {
            OnButtonWorld();
        });

        buttonWork.onClick.AddListener(delegate
        {
            OnButtonWork();
        });

        buttonOptions.onClick.AddListener(delegate
        {
            OnButtonOptions();
        });

        buttonSettings.onClick.AddListener(delegate
        {
            OnButtonSettings();
        });

        DeactivateAll();
    }
Esempio n. 2
0
    public void OkayWasClicked()
    {
        int height = int.Parse(Height.text);
        int width  = int.Parse(Width.text);
        int depth  = int.Parse(Depth.text);

        // Try and parse seed as Integer if this is not possible then hash string as integer
        int seed = 0;

        if (Seed.text == string.Empty)
        {
            seed = UnityEngine.Random.Range(0, int.MaxValue);
        }
        else if (int.TryParse(Seed.text, out seed) == false)
        {
            seed = Seed.text.GetHashCode();
            Debug.LogWarning("Converted " + Seed.text + " to hash " + seed);
        }

        string           generatorFile = GeneratorInputField.text + ".xml";
        DialogBoxManager dialogManager = GameObject.FindObjectOfType <DialogBoxManager>();

        dialogManager.dialogBoxPromptOrInfo.SetPrompt("message_creating_new_world");
        dialogManager.dialogBoxPromptOrInfo.ShowDialog();
        SceneController.LoadNewWorld(width, height, depth, seed, generatorFile, GenerateAsteroids.isOn);
    }
Esempio n. 3
0
    private void Awake()
    {
        prefabManager            = GetComponent <PrefabManager>();
        menuManager              = GetComponent <MenuManager>();
        sceneLoader              = GetComponent <SceneLoader>();
        charactersCommon         = GetComponent <CharactersCommon>();
        spawnCharacter           = GetComponent <SpawnCharacter>();
        pauseManager             = GetComponent <PauseManager>();
        levelMessageManager      = GetComponent <LevelMessageManager>();
        tutorialMessageManager   = GetComponent <TutorialMessageManager>();
        menuMessageManager       = GetComponent <MenuMessageManager>();
        threatManager            = GetComponent <ThreatManager>();
        timeEventManager         = GetComponent <TimeEventManager>();
        timeManager              = GetComponent <TimeManager>();
        cameraManager            = GetComponent <CameraManager>();
        notebookManager          = GetComponent <NotebookManager>();
        dialogBoxManager         = GetComponent <DialogBoxManager>();
        tutorialDialogBoxManager = GetComponent <TutorialDialogBoxManager>();
        idCardManager            = GetComponent <IdCardManager>();
        gameDataManager          = GetComponent <GameDataManager>();
        threatChartManager       = GetComponent <ThreatChartManager>();
        logManager        = GetComponent <LogManager>();
        userActionManager = GetComponent <UserActionManager>();

        if (SceneManager.GetActiveScene().buildIndex == StaticDb.menuSceneIndex ||
            SceneManager.GetActiveScene().buildIndex == StaticDb.loginSceneIndex)
        {
            return;
        }
        regularPathfinder  = GameObject.Find("PathFinderRegular").GetComponent <Pathfinding>();
        strictedPathfinder = GameObject.Find("PathFinderRestricted").GetComponent <Pathfinding>();
    }
    void Start()
    {
        dialogManager = GameObject.FindObjectOfType <DialogBoxManager>();
        WorldController wc = GameObject.FindObjectOfType <WorldController>();

        // Add liseners here.
        buttonQuit.onClick.AddListener(delegate
        {
            OnButtonQuitGame();
        });
        buttonResume.onClick.AddListener(delegate
        {
            this.CloseDialog();
        });
        buttonNewWorld.onClick.AddListener(delegate
        {
            wc.NewWorld();
        });

        buttonSave.onClick.AddListener(delegate
        {
            OnButtonSaveGame();
        });
        buttonLoad.onClick.AddListener(delegate
        {
            OnButtonLoadGame();
        });
    }
Esempio n. 5
0
    public static DialogBoxManager FetchDialogBoxManager()
    {
        GameObject       dialogBoxManagerObject = GameObject.FindGameObjectWithTag(TagsConstants.DIALOG_BOX_MANAGER_TAG);
        DialogBoxManager dialogBoxManager       = dialogBoxManagerObject.GetComponent <DialogBoxManager>();

        return(dialogBoxManager);
    }
    private void DoBattingAction(BallController ballControllerScript, PlayerStatus playerStatusScript, float pitchSuccesRate)
    {
        PlayersTurnManager playersTurnManager = GameUtils.FetchPlayersTurnManager();

        if (!ActionCalculationUtils.HasActionSucceeded(pitchSuccesRate))
        {
            this.EquipedBat.GetComponent <CapsuleCollider2D>().enabled = false;
            ballControllerScript.IsPitched = false;
            ballControllerScript.IsHit     = true;
            GameObject        homeBase         = GameUtils.FetchBaseGameObject(TagsConstants.HOME_BASE_TAG);
            List <Vector2Int> ballPositionList = ActionCalculationUtils.CalculateBallFallPositionList(this.gameObject, 0, (int)MathUtils.HALF_CIRCLE_ANGLE_IN_DEGREE, 10, true, FieldUtils.GetGameObjectTilePositionOnField(homeBase));
            int        ballPositionIndex       = Random.Range(0, ballPositionList.Count - 1);
            Vector2Int ballTilePosition        = ballPositionList[ballPositionIndex];
            ballControllerScript.StopCoroutine(ballControllerScript.MovementCoroutine);
            ballControllerScript.Target = FieldUtils.GetTileCenterPositionInGameWorld(ballTilePosition);
            Vector2 direction                            = MathUtils.CalculateDirection(ballControllerScript.gameObject.transform.position, ballControllerScript.Target.Value);
            float   ballDirectionAngle                   = MathUtils.CalculateDirectionAngle(direction);
            Vector3 firstBasePosition                    = FieldUtils.GetTileCenterPositionInGameWorld(FieldUtils.GetFirstBaseTilePosition());
            Vector3 homeBasePosition                     = FieldUtils.GetTileCenterPositionInGameWorld(FieldUtils.GetHomeBaseTilePosition());
            float   homeBaseToFirstBaseDistance          = Vector3.Distance(homeBasePosition, firstBasePosition);
            Vector3 rigthSideFictionalPosition           = new Vector3(firstBasePosition.x, homeBasePosition.y, 0);
            float   homeBaseToRigthSideFictionalDistance = Vector3.Distance(homeBasePosition, rigthSideFictionalPosition);
            float   foulZoneAngle                        = Mathf.Acos(homeBaseToRigthSideFictionalDistance / homeBaseToFirstBaseDistance);

            //Fix calcul when the ball go to the left zone
            if (ballDirectionAngle < MathUtils.HALF_CIRCLE_ANGLE_IN_DEGREE - foulZoneAngle * Mathf.Rad2Deg && ballDirectionAngle > foulZoneAngle * Mathf.Rad2Deg)
            {
                RunnerBehaviour runnerBehaviour = this.ConvertBatterToRunner(playerStatusScript);
                this.AddRunnerAbilitiesToBatter(this.gameObject);
                playerStatusScript.IsAllowedToMove = true;
                runnerBehaviour.EnableMovement     = true;
            }

            playersTurnManager.IsRunnersTurnsDone = false;

            StartCoroutine(this.WaitToEnableBatCollider());
        }
        else
        {
            float            ballOutcomeRate        = ActionCalculationUtils.CalculateBallOutcomeProbability(ballControllerScript.CurrentPitcher);
            bool             isBallOutcome          = ActionCalculationUtils.HasActionSucceeded(ballOutcomeRate);
            DialogBoxManager dialogBoxManagerScript = GameUtils.FetchDialogBoxManager();
            string           outcomeMessage;

            if (!isBallOutcome)
            {
                StrikeOutcomeCount++;
                outcomeMessage = "STRIKE!!!";
            }
            else
            {
                BallOutcomeCount++;
                outcomeMessage = "BALL!!!";
            }

            ballControllerScript.IsPitched = true;
            ballControllerScript.Target    = FieldUtils.GetTileCenterPositionInGameWorld(FieldUtils.GetCatcherZonePosition());
            dialogBoxManagerScript.DisplayDialogAndTextForGivenAmountOfTime(1f, false, outcomeMessage);
        }
    }
    public void FixedUpdate()
    {
        if (WorldController.Instance.IsPaused)
        {
            return;
        }

        Vector3 destination = LandingCoordinates;

        if (DestinationReached && !TradeCompleted)
        {
            return;
        }

        if (TradeCompleted)
        {
            destination = LeavingCoordinates;
        }

        float distance = Vector3.Distance(transform.position, destination);

        if (distance > DestinationReachedThreshold)
        {
            // rotate the model
            Vector3    vectorToTarget = destination - transform.position;
            float      angle          = (Mathf.Atan2(vectorToTarget.y, vectorToTarget.x) * Mathf.Rad2Deg) - 90;
            Quaternion q = Quaternion.AngleAxis(angle, Vector3.forward);
            transform.rotation = Quaternion.Slerp(transform.rotation, q, Time.deltaTime * Speed * WorldController.Instance.TimeScale);

            // Direction to the next waypoint
            Vector3 dir = (destination - transform.position).normalized;
            dir *= Speed * Time.fixedDeltaTime * WorldController.Instance.TimeScale;

            transform.position = transform.position + dir;
        }
        else
        {
            DestinationReached = true;
            if (TradeCompleted)
            {
                Destroy(this.gameObject);
            }
            else
            {
                DialogBoxManager dbm = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

                Trader playerTrader = Trader.FromPlayer(World.Current.Wallet.Currencies[Trader.Currency.Name]);
                Trade  trade        = new Trade(playerTrader, Trader);
                dbm.dialogBoxTrade.SetupTrade(trade);
                dbm.dialogBoxTrade.OnTradeCancelled = () => { TradeCompleted = true; };
                dbm.dialogBoxTrade.OnTradeCompleted = () =>
                {
                    TradeCompleted = true;
                    TrasfertTradedItems(trade);
                };
                dbm.dialogBoxTrade.ShowDialog();
            }
        }
    }
 // Use this for initialization
 void Start()
 {
     Attempts         = GameObject.Find("Attempts");
     Hearts           = Attempts.transform.Find("Hearts").GetComponent <Image>();
     DialogBoxManager = GameObject.Find("DialogBoxManager").GetComponent <DialogBoxManager>();
     currentAttempt   = PersistentGameManager.Instance.CurrentAttempts;
     maxAttempts      = 2;
 }
    public void TagOutRunner(GameObject targetToTagOut)
    {
        PlayerStatus       newBatterStatus        = null;
        GameManager        gameManager            = GameUtils.FetchGameManager();
        DialogBoxManager   dialogBoxManagerScript = GameUtils.FetchDialogBoxManager();
        PlayersTurnManager playersTurnManager     = GameUtils.FetchPlayersTurnManager();


        RunnerBehaviour tagOutRunnerBehaviourScript = PlayerUtils.FetchRunnerBehaviourScript(targetToTagOut);

        int batterCount = gameManager.AttackTeamBatterListClone.Count;

        //test in case there no one left to pick
        if (batterCount > 0)
        {
            GameObject newBatter = gameManager.AttackTeamBatterListClone.First();
            newBatterStatus = PlayerUtils.FetchPlayerStatusScript(newBatter);
            BatterBehaviour newbatterBehaviourScript = PlayerUtils.FetchBatterBehaviourScript(newBatter);
            newbatterBehaviourScript.EquipedBat = tagOutRunnerBehaviourScript.EquipedBat;
            newBatter.SetActive(true);
        }

        dialogBoxManagerScript.DisplayDialogAndTextForGivenAmountOfTime(1f, false, "TAG OUT !!!!!!!");
        tagOutRunnerBehaviourScript.EquipedBat = null;
        gameManager.AttackTeamRunnerList.Remove(targetToTagOut);
        targetToTagOut.SetActive(false);
        playersTurnManager.UpdatePlayerTurnQueue(targetToTagOut);


        int runnersCount = gameManager.AttackTeamRunnerList.Count;

        bool isRunnersAllSafeAndStaying = gameManager.AttackTeamRunnerList.TrueForAll(runner => {
            RunnerBehaviour runnerBehaviour = PlayerUtils.FetchRunnerBehaviourScript(runner);
            return(runnerBehaviour.IsSafe && runnerBehaviour.IsStaying);
        });

        if (runnersCount == 0 && batterCount == 0 || batterCount == 0 && runnersCount > 0 && isRunnersAllSafeAndStaying)
        {
            gameManager.ProcessNextInningHalf();
        }
        else if (runnersCount == 0 && batterCount > 0)
        {
            StartCoroutine(gameManager.WaitAndReinit(dialogBoxManagerScript, newBatterStatus, FieldBall));
        }
        else if (runnersCount > 0)
        {
            if (isRunnersAllSafeAndStaying && batterCount > 0)
            {
                StartCoroutine(gameManager.WaitAndReinit(dialogBoxManagerScript, newBatterStatus, FieldBall));
            }
            else
            {
                playersTurnManager.TurnState      = TurnStateEnum.FIELDER_TURN;
                PlayersTurnManager.IsCommandPhase = true;
            }
        }
    }
Esempio n. 10
0
    // Use this for initialization
    void Start()
    {
        LevelManager = GameObject.Find("LevelManager").GetComponent <LevelManager>();

        if (GameObject.Find("DialogBoxManager") != null)
        {
            DialogBoxManager = GameObject.Find("DialogBoxManager").GetComponent <DialogBoxManager>();
        }
    }
Esempio n. 11
0
    public void Start()
    {
        // Create GameObject so we can have access to a transform which has a position of "Vector3.zero".
        new GameObject("VisualPath", typeof(VisualPath));
        GameObject go;

        tileSpriteController      = new TileSpriteController(World);
        characterSpriteController = new CharacterSpriteController(World);
        furnitureSpriteController = new FurnitureSpriteController(World);
        utilitySpriteController   = new UtilitySpriteController(World);
        jobSpriteController       = new JobSpriteController(World, furnitureSpriteController, utilitySpriteController);
        inventorySpriteController = new InventorySpriteController(World, inventoryUI);
        shipSpriteController      = new ShipSpriteController(World);

        buildModeController      = new BuildModeController();
        spawnInventoryController = new SpawnInventoryController();
        mouseController          = new MouseController(buildModeController, furnitureSpriteController, utilitySpriteController, circleCursorPrefab);
        questController          = new QuestController();
        cameraController         = new CameraController();
        TradeController          = new TradeController();
        autosaveManager          = new AutosaveManager();

        dialogBoxManager = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

        // Register inputs actions
        KeyboardManager.Instance.RegisterInputAction("DevMode", KeyboardMappedInputType.KeyDown, ChangeDevMode);

        // Hiding Dev Mode spawn inventory controller if devmode is off.
        spawnInventoryController.SetUIVisibility(Settings.GetSetting("DialogBoxSettingsDevConsole_developerModeToggle", false));

        cameraController.Initialize();
        cameraController.Moved += this.World.OnCameraMoved;

        // Initialising controllers.
        GameObject canvas = GameObject.Find("Canvas");

        go      = Instantiate(Resources.Load("UI/ContextMenu"), canvas.transform.position, canvas.transform.rotation, canvas.transform) as GameObject;
        go.name = "ContextMenu";

        GameController.Instance.IsModal = false;

        GameObject devConsole = (GameObject)Instantiate(Resources.Load("UI/Console/DevConsole"));

        // This is just to make sure it isn't null (the static thing shouldn't destroy this copy but in some edge cases it might decide to).
        if (devConsole != null)
        {
            devConsole.name = "DevConsole-Spawned";
            devConsole.transform.SetParent(canvas.transform, false);
            devConsole.transform.SetAsLastSibling();
            devConsole.SetActive(true);
            DeveloperConsole.DevConsole.Close();
        }
    }
    private static void ValidateDialogBox(DialogBox dialog)
    {
        if (string.IsNullOrEmpty(dialog.textArea.text))
        {
            throw new UnityException("EXPORT ERROR: DialogBox missing text!");
        }

        if (DialogBoxManager.GetInterruptNode(dialog.outPoint) == null)
        {
            throw new UnityException("EXPORT ERROR: DialogBox missing interrupt flag connection!");
        }
    }
Esempio n. 13
0
    public void OkayWasClicked()
    {
        int              height        = int.Parse(Height.text);
        int              width         = int.Parse(Width.text);
        int              depth         = int.Parse(Depth.text);
        string           generatorFile = GeneratorInputField.text + ".xml";
        DialogBoxManager dialogManager = GameObject.FindObjectOfType <DialogBoxManager>();

        dialogManager.dialogBoxPromptOrInfo.SetPrompt("message_creating_new_world");
        dialogManager.dialogBoxPromptOrInfo.ShowDialog();
        SceneController.Instance.LoadNewWorld(width, height, depth, generatorFile, GenerateAsteroids.isOn);
    }
    public void DeleteWasClicked()
    {
        DialogBoxManager dbm = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

        dbm.dialogBoxAreYouSure.Closed = () =>
        {
            if (dbm.dialogBoxAreYouSure.Result == DialogBoxResult.Yes)
            {
                DeleteFile();
            }
        };
        dbm.dialogBoxAreYouSure.ShowDialog();
    }
Esempio n. 15
0
    public void LoadWorld(string filePath)
    {
        // This function gets called when the user confirms a filename
        // from the load dialog box.

        // Get the file name from the save file dialog box.
        Debug.ULogChannel("DialogBoxLoadGame", "LoadWorld button was clicked.");

        DialogBoxManager dbm = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

        dbm.dialogBoxPromptOrInfo.SetPrompt("Woruld you like to save before loading a new game?");
        dbm.dialogBoxPromptOrInfo.ShowDialog();

        WorldController.Instance.LoadWorld(filePath);
    }
Esempio n. 16
0
    public void LoadWorld(string filePath)
    {
        // This function gets called when the user confirms a filename
        // from the load dialog box.

        // Get the file name from the save file dialog box.
        UnityDebugger.Debugger.Log("DialogBoxLoadGame", "LoadWorld button was clicked.");

        DialogBoxManager dbm = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

        dbm.dialogBoxPromptOrInfo.SetPrompt("message_loading_game");
        dbm.dialogBoxPromptOrInfo.ShowDialog();

        SceneController.LoadWorld(filePath);
    }
Esempio n. 17
0
    public void DeleteWasClicked()
    {
        string fileName = gameObject.GetComponentInChildren <InputField>().text;

        DialogBoxManager dbm = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

        dbm.dialogBoxPromptOrInfo.Closed = () =>
        {
            if (dbm.dialogBoxPromptOrInfo.Result == DialogBoxResult.Yes)
            {
                DeleteFile();
            }
        };
        dbm.dialogBoxPromptOrInfo.SetPrompt("prompt_delete_file", fileName);
        dbm.dialogBoxPromptOrInfo.SetButtons(DialogBoxResult.Yes, DialogBoxResult.No);
        dbm.dialogBoxPromptOrInfo.ShowDialog();
    }
Esempio n. 18
0
    // Use this for initialization
    void Start()
    {
        AttemptManager   = GameObject.Find("AttemptManager");
        DialogBoxManager = GameObject.Find("DialogBoxManager").GetComponent <DialogBoxManager>();

        // Initialize timer bar characteristics
        filler            = transform.Find("Mask/Filler").gameObject.GetComponent <Image>();
        timeLeft          = levelSeconds;
        filler.fillAmount = 1.0f;

        // Start unpaused
        paused         = false;
        Time.timeScale = 1;

        // Initialize with saved data if any
        ElapsedTime = PersistentGameManager.Instance.ElapsedTime;
        StartTime   = PersistentGameManager.Instance.StartTime;
    }
Esempio n. 19
0
    public void OkayWasClicked()
    {
        string fileName = gameObject.GetComponentInChildren <InputField>().text;

        if (fileName == string.Empty)
        {
            DialogBoxManager dbm = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();
            dbm.dialogBoxPromptOrInfo.SetAsInfo("message_file_needed_for_load");
            dbm.dialogBoxPromptOrInfo.ShowDialog();
            return;
        }

        // TODO: Is the filename valid?  I.E. we may want to ban path-delimiters (/ \ or :) and
        // maybe periods?      ../../some_important_file

        // Right now fileName is just what was in the dialog box.  We need to pad this out to the full
        // path, plus an extension!
        // In the end, we're looking for something that's going to be similar to this (depending on OS)
        //    C:\Users\Quill18\ApplicationData\MyCompanyName\MyGameName\Saves\SaveGameName123.sav

        // Application.persistentDataPath == C:\Users\<username>\ApplicationData\MyCompanyName\MyGameName\
        string saveDirectoryPath = GameController.Instance.FileSaveBasePath();

        EnsureDirectoryExists(saveDirectoryPath);

        string filePath = System.IO.Path.Combine(saveDirectoryPath, fileName + ".sav");

        // At this point, filePath should look very much like
        //     C:\Users\Quill18\ApplicationData\MyCompanyName\MyGameName\Saves\SaveGameName123.sav
        if (File.Exists(filePath) == false)
        {
            //// TODO: Do file overwrite dialog box.

            DialogBoxManager dbm = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();
            dbm.dialogBoxPromptOrInfo.SetAsInfo("message_file_doesn't_exist");
            dbm.dialogBoxPromptOrInfo.ShowDialog();
            return;
        }

        CloseDialog();

        LoadWorld(filePath);
    }
Esempio n. 20
0
    // Use this for initialization.
    private void Start()
    {
        dbm = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

        furnitureMenu   = GameObject.Find("MenuFurniture");
        floorMenu       = GameObject.Find("MenuFloor");
        constructorMenu = GameObject.Find("MenuConstruction");

        // Add listeners here.
        buttonConstructor.onClick.AddListener(delegate
        {
            OnButtonConstruction();
        });

        buttonWorld.onClick.AddListener(delegate
        {
            OnButtonWorld();
        });

        buttonWork.onClick.AddListener(delegate
        {
            OnButtonWork();
        });

        buttonOptions.onClick.AddListener(delegate
        {
            OnButtonOptions();
        });

        buttonSettings.onClick.AddListener(delegate
        {
            OnButtonSettings();
        });

        buttonQuests = CreateButton("menu_quests");
        buttonQuests.onClick.AddListener(delegate
        {
            OnButtonQuests();
        });

        DeactivateAll();
    }
Esempio n. 21
0
    /*
     * Remove() removes the DialogBox and the accompanied InterruptNode
     */
    public override void Remove()
    {
        // only remove if there are other dialog boxes
        if (parentNode != null && child == null)
        {
            Debug.Log("Can't remove the last DialogBox!");
            return;
        }

        HistoryManager.RecordEditor();

        Node interruptNode = DialogBoxManager.GetInterruptNode(outPoint);

        SDEContainerManager.RemoveContainer(this, markHistory: false);
        if (interruptNode != null)
        {
            Debug.Log("deleting interrupt");
            NodeManager.RemoveNode(interruptNode, markHistory: false);
        }
    }
Esempio n. 22
0
    public void Start()
    {
        // Create GameObject so we can have access to a transform which has a position of "Vector3.zero".
        new GameObject("VisualPath", typeof(VisualPath));
        GameObject go;

        tileSpriteController      = new TileSpriteController(World);
        characterSpriteController = new CharacterSpriteController(World);
        furnitureSpriteController = new FurnitureSpriteController(World);
        utilitySpriteController   = new UtilitySpriteController(World);
        jobSpriteController       = new JobSpriteController(World, furnitureSpriteController, utilitySpriteController);
        inventorySpriteController = new InventorySpriteController(World, inventoryUI);
        shipSpriteController      = new ShipSpriteController(World);

        buildModeController      = new BuildModeController();
        spawnInventoryController = new SpawnInventoryController();
        mouseController          = new MouseController(buildModeController, furnitureSpriteController, utilitySpriteController, circleCursorPrefab);
        questController          = new QuestController();
        cameraController         = new CameraController();
        TradeController          = new TradeController();
        autosaveManager          = new AutosaveManager();

        dialogBoxManager = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

        // Register inputs actions
        KeyboardManager.Instance.RegisterInputAction("DevMode", KeyboardMappedInputType.KeyDown, ChangeDevMode);

        // Hiding Dev Mode spawn inventory controller if devmode is off.
        spawnInventoryController.SetUIVisibility(Settings.GetSetting("DialogBoxSettings_developerModeToggle", false));

        cameraController.Initialize();
        cameraController.Moved += this.World.OnCameraMoved;

        // Initialising controllers.
        GameObject canvas = GameObject.Find("Canvas");

        go      = Instantiate(Resources.Load("UI/ContextMenu"), canvas.transform.position, canvas.transform.rotation, canvas.transform) as GameObject;
        go.name = "ContextMenu";

        GameController.Instance.IsModal = false;
    }
    /// <summary>
    /// Display the TradeDialogBox and allow the user to trade.
    /// </summary>
    /// <param name="tradeShip"></param>
    public void ShowTradeDialogBox(TraderShipController tradeShip)
    {
        DialogBoxManager dbm = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();

        Trader playerTrader = Trader.FromPlayer(World.Current.Wallet[tradeShip.Trader.Currency.Name]);
        Trade  trade        = new Trade(playerTrader, tradeShip.Trader);

        dbm.dialogBoxTrade.SetupTrade(trade);
        dbm.dialogBoxTrade.TradeCancelled = () =>
        {
            tradeShip.TradeCompleted = true;
            TradeShips.Remove(tradeShip);
        };
        dbm.dialogBoxTrade.TradeCompleted = () =>
        {
            tradeShip.TradeCompleted = true;
            TrasfertTradedItems(trade, tradeShip.LandingCoordinates);
            TradeShips.Remove(tradeShip);
        };
        dbm.dialogBoxTrade.ShowDialog();
    }
Esempio n. 24
0
    // Use this for initialization.
    private void Start()
    {
        dialogBoxManager = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();
        menuLeft         = GameObject.Find("MenuLeft").GetComponent <MenuLeft>();

        // Add listeners here.
        buttonConstructor.onClick.AddListener(delegate
        {
            OnButtonConstruction();
        });

        buttonWorld.onClick.AddListener(delegate
        {
            OnButtonWorld();
        });

        buttonWork.onClick.AddListener(delegate
        {
            OnButtonWork();
        });

        buttonOptions.onClick.AddListener(delegate
        {
            OnButtonOptions();
        });

        buttonSettings.onClick.AddListener(delegate
        {
            OnButtonSettings();
        });

        buttonQuests = CreateButton("menu_quests");
        buttonQuests.onClick.AddListener(delegate
        {
            OnButtonQuests();
        });

        DeactivateAll();
    }
Esempio n. 25
0
    private void OnTriggerStay2D(Collider2D collision)
    {
        if (ColliderUtils.HasBallCollided(collision) && !GameData.isPaused)
        {
            GameObject     ball = collision.gameObject;
            BallController ballControllerScript = BallUtils.FetchBallControllerScript(ball);

            if (ballControllerScript.IsHit)
            {
                timeElapsed += Time.deltaTime;

                if (timeElapsed >= TIME_TO_WAIT_IN_FOUL_ZONE)
                {
                    Debug.Log("the ball is foul");
                    timeElapsed = 0;

                    DialogBoxManager dialogBoxManagerScript = GameUtils.FetchDialogBoxManager();
                    dialogBoxManagerScript.DisplayDialogAndTextForGivenAmountOfTime(1f, false, "FOUL!!");
                    PlayersTurnManager playersTurnManager     = GameUtils.FetchPlayersTurnManager();
                    GameObject         pitcher                = TeamUtils.GetPlayerTeamMember(PlayerFieldPositionEnum.PITCHER, TeamUtils.GetPlayerIdFromPlayerFieldPosition(PlayerFieldPositionEnum.PITCHER));
                    GameManager        gameManager            = GameUtils.FetchGameManager();
                    GameObject         currentBatter          = gameManager.AttackTeamBatterListClone.First();
                    BatterBehaviour    currentBatterBehaviour = PlayerUtils.FetchBatterBehaviourScript(currentBatter);
                    GameObject         bat = currentBatterBehaviour.EquipedBat;
                    currentBatterBehaviour.FoulOutcomeCount += 1;
                    currentBatter.transform.rotation         = Quaternion.identity;
                    bat.transform.position = FieldUtils.GetBatCorrectPosition(currentBatter.transform.position);
                    bat.transform.rotation = Quaternion.Euler(0f, 0f, -70f);
                    gameManager.ReinitPitcher(pitcher);
                    gameManager.ReturnBallToPitcher(ballControllerScript.gameObject);
                    gameManager.ReinitRunners(gameManager.AttackTeamRunnerList);
                    ballControllerScript.IsInFoulState = false;
                    playersTurnManager.TurnState       = TurnStateEnum.PITCHER_TURN;
                    PlayersTurnManager.IsCommandPhase  = true;
                }
            }
        }
    }
Esempio n. 26
0
    private void CreateContextMenuOptions()
    {
        this.physicalBehaviour.ContextMenuOptions.Buttons.Add(new ContextMenuButton("selfDestruct", "Self-destruct", "Makes drone go kaboom", () =>
        {
            selfDestruct = true;
        }));

        this.physicalBehaviour.ContextMenuOptions.Buttons.Add(new ContextMenuButton("stabilise", "Stabilise", "Keeps drone at balance to avoid any tilting and drifting", () =>
        {
            if (!stabilisation)
            {
                stabilisation = true;
            }
            else
            {
                stabilisation = false;
            }
        }));

        this.physicalBehaviour.ContextMenuOptions.Buttons.Add(new ContextMenuButton("setHeight", "Set height", "Set the minimum flight height of the drone", new UnityAction[1]
        {
            (UnityAction)(() =>
            {
                DialogBox dialog = (DialogBox)null;
                dialog = DialogBoxManager.TextEntry("What should the height be?", "Enter height here", new DialogButton("Apply", true, new UnityAction[1]
                {
                    new UnityAction(setTextFromUserInput)
                }), new DialogButton("Cancel", true, (UnityAction[])Array.Empty <UnityAction>()));
                dialog.InputField.contentType = TMP_InputField.ContentType.DecimalNumber;
                dialog.InputField.textComponent.text = "0";

                void setTextFromUserInput()
                {
                    float.TryParse(dialog.InputField.text, out rayDistance);
                }
            })
        }));
Esempio n. 27
0
    public void DeleteFile()
    {
        string fileName = gameObject.GetComponentInChildren <InputField>().text;

        string saveDirectoryPath = GameController.Instance.FileSaveBasePath();

        EnsureDirectoryExists(saveDirectoryPath);

        string filePath = System.IO.Path.Combine(saveDirectoryPath, fileName + ".sav");

        if (File.Exists(filePath) == false)
        {
            DialogBoxManager dbm = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();
            dbm.dialogBoxPromptOrInfo.SetAsInfo("message_file_doesn't_exist");
            return;
        }

        File.Delete(filePath);

        gameObject.GetComponentInChildren <InputField>().text = string.Empty;

        CloseDialog();
        ShowDialog();
    }
Esempio n. 28
0
    public void Start()
    {
        // Create GameObject so we can have access to a transform which has a position of "Vector3.zero".
        new GameObject("VisualPath", typeof(VisualPath));
        GameObject go;

        tileSpriteController      = new TileSpriteController(World);
        characterSpriteController = new CharacterSpriteController(World);
        furnitureSpriteController = new FurnitureSpriteController(World);
        utilitySpriteController   = new UtilitySpriteController(World);
        jobSpriteController       = new JobSpriteController(World, furnitureSpriteController, utilitySpriteController);
        inventorySpriteController = new InventorySpriteController(World, inventoryUI);
        shipSpriteController      = new ShipSpriteController(World);

        buildModeController      = new BuildModeController();
        spawnInventoryController = new SpawnInventoryController();
        mouseController          = new MouseController(buildModeController, furnitureSpriteController, utilitySpriteController, circleCursorPrefab);
        questController          = new QuestController();
        cameraController         = new CameraController();
        TradeController          = new TradeController();
        autosaveManager          = new AutosaveManager();

        // Register inputs actions
        KeyboardManager.Instance.RegisterInputAction("DevMode", KeyboardMappedInputType.KeyDown, ChangeDevMode);

        // Hiding Dev Mode spawn inventory controller if devmode is off.
        spawnInventoryController.SetUIVisibility(Settings.GetSetting("DialogBoxSettingsDevConsole_developerModeToggle", false));

        cameraController.Initialize();
        cameraController.Moved += this.World.OnCameraMoved;

        // Initialising controllers.
        GameObject canvas = GameObject.Find("Canvas");

        go      = Instantiate(Resources.Load("UI/ContextMenu"), canvas.transform.position, canvas.transform.rotation, canvas.transform) as GameObject;
        go.name = "ContextMenu";

        GameController.Instance.IsModal = false;

        // Settings UI is a 'dialog box' (kinda), so it comes here.
        // Where as DevConsole is a constant menu item (it can appear 'anywhere' so it appears after)
        GameObject settingsMenu = (GameObject)Instantiate(Resources.Load("UI/SettingsMenu/SettingsMenu"));

        if (settingsMenu != null)
        {
            settingsMenu.name = "Settings Menu";
            settingsMenu.transform.SetParent(canvas.transform, false);
            settingsMenu.SetActive(true);
        }

        // This will place it after context menu (and the inventory menu) and settings menu
        dialogBoxManager = GameObject.Find("Dialog Boxes").GetComponent <DialogBoxManager>();
        dialogBoxManager.transform.SetAsLastSibling();

        GameObject devConsole = (GameObject)Instantiate(Resources.Load("UI/Console/DevConsole"));

        if (devConsole != null)
        {
            devConsole.name = "DevConsole-Spawned";
            devConsole.transform.SetParent(canvas.transform, false);
            devConsole.transform.SetAsLastSibling();
            devConsole.SetActive(true);
            DeveloperConsole.DevConsole.Close();
        }
    }
    public void CalculatePitcherColliderInterraction(GameObject ballGameObject, BallController ballControllerScript, GenericPlayerBehaviour genericPlayerBehaviourScript)
    {
        int runnersOnFieldCount   = -1;
        List <GameObject> runners = PlayerUtils.GetRunnersOnField();

        runnersOnFieldCount = runners.Count;

        if (runnersOnFieldCount < 1)
        {
            return;
        }

        //Choose the runner who just hit the ball
        GameObject runnerToGetOut = runners.Last();

        bool hasIntercepted = false;
        PlayersTurnManager playersTurnManager = GameUtils.FetchPlayersTurnManager();

        if (ballControllerScript.BallHeight == BallHeightEnum.HIGH || ballControllerScript.BallHeight == BallHeightEnum.LOW)
        {
            GameManager      gameManager            = GameUtils.FetchGameManager();
            DialogBoxManager dialogBoxManagerScript = GameUtils.FetchDialogBoxManager();
            dialogBoxManagerScript.DisplayDialogAndTextForGivenAmountOfTime(1f, false, "TAG OUT !!!!!!!");

            ballControllerScript.Target = null;


            PlayerActionsManager.InterceptBall(ballGameObject, ballControllerScript, genericPlayerBehaviourScript);
            hasIntercepted = true;

            gameManager.AttackTeamRunnerList.Remove(runnerToGetOut);
            runnerToGetOut.SetActive(false);
            playersTurnManager.UpdatePlayerTurnQueue(runnerToGetOut);
            gameManager.AttackTeamBatterListClone.First().SetActive(true);
            RunnerBehaviour runnerBehaviourScript = PlayerUtils.FetchRunnerBehaviourScript(runnerToGetOut);
            BatterBehaviour batterBehaviourScript = PlayerUtils.FetchBatterBehaviourScript(gameManager.AttackTeamBatterListClone.First());
            batterBehaviourScript.EquipedBat = runnerBehaviourScript.EquipedBat;
            runnerBehaviourScript.EquipedBat = null;

            if (runnersOnFieldCount == 1)
            {
                GameData.isPaused = true;
                StartCoroutine(gameManager.WaitAndReinit(dialogBoxManagerScript, PlayerUtils.FetchPlayerStatusScript(gameManager.AttackTeamBatterListClone.First()), FieldBall));
                return;
            }
            else
            {
                GameObject bat = batterBehaviourScript.EquipedBat;
                bat.transform.SetParent(null);
                bat.transform.position = FieldUtils.GetBatCorrectPosition(batterBehaviourScript.transform.position);
                bat.transform.rotation = Quaternion.Euler(0f, 0f, -70f);
                bat.transform.SetParent(gameManager.AttackTeamBatterListClone.First().transform);
                batterBehaviourScript.EquipedBat.SetActive(true);
                TeamUtils.AddPlayerTeamMember(PlayerFieldPositionEnum.BATTER, batterBehaviourScript.gameObject, TeamUtils.GetBaseballPlayerOwner(batterBehaviourScript.gameObject));
            }
        }

        if (runnersOnFieldCount >= 1)
        {
            if (!hasIntercepted)
            {
                PlayerActionsManager.InterceptBall(ballGameObject, ballControllerScript, genericPlayerBehaviourScript);
            }

            PlayerActionsManager playerActionsManager = GameUtils.FetchPlayerActionsManager();
            PlayerAbilities      playerAbilities      = PlayerUtils.FetchPlayerAbilitiesScript(this.gameObject);
            playerAbilities.ReinitAbilities();
            PlayerAbility passPlayerAbility = new PlayerAbility("Pass to fielder", AbilityTypeEnum.BASIC, AbilityCategoryEnum.NORMAL, playerActionsManager.GenericPassAction, this.gameObject, true);
            playerAbilities.AddAbility(passPlayerAbility);
            playersTurnManager.TurnState      = TurnStateEnum.PITCHER_TURN;
            PlayersTurnManager.IsCommandPhase = true;
        }
    }
Esempio n. 30
0
    private void Start()
    {
        dialogManager = GameObject.FindObjectOfType <DialogBoxManager>();

        RenderButtons();
    }