void Start()
    {
        GameObject minaCamera = GameObject.FindWithTag("MainCamera");

        _gameManagerData = minaCamera.GetComponent <GameManager>().gameManagerData;
        _tools           = minaCamera.GetComponent <Tools>();

        UpdateFacilityPanelList();
    }
Beispiel #2
0
 private void OnEnable()
 {
     _GameManagerData = this;
     score            = 0;
     kills            = 0;
     enemiesSpawned   = 0;
     itemsSpawned     = 0;
     itemsCollected   = 0;
 }
Beispiel #3
0
    public void Awake()
    {
        if (_instance == null)
        {
            _instance            = Instance;
            _instance.gameObject = new GameObject();

            if (File.Exists(Application.persistentDataPath + "/GameManager.save"))
            {
                BinaryFormatter bf   = new BinaryFormatter();
                FileStream      file = File.Open(Application.persistentDataPath + "/GameManager.save", FileMode.Open);
                GameManagerSave save = (GameManagerSave)bf.Deserialize(file);
                file.Close();

                GameManagerData data = GameManagerSave.Load(save);
                _instance.player        = _instance.gameObject.GetComponent <Player>();
                _instance.enemies       = new List <Mob>(_instance.gameObject.GetComponents <Mob>());
                _instance.enemyAttacked = new List <int>();
                _instance.QuestManager  = new QuestManager();
            }
            else
            {
                _instance.PlayerPos = new Vector3(0, 0, 0);
                _instance.player    = Resources.Load <GameObject>("Player\\Player").GetComponent <Player>();

                _instance.player.Health = _instance.player.MaxHealth;
                _instance.player.Mana   = _instance.player.MaxMana;
                _instance.player.Quests.Clear();
                _instance.player.deaths       = 0;
                _instance.player.Experience   = 0;
                _instance.player.Level        = 0;
                _instance.enemyAttacked       = new List <int>();
                _instance.player.levelStatsUp = 0;

                _instance.shop = new List <Item>(Resources.Load <GameObject>("Shop\\Shop").GetComponent <ShopItems>().Items);
                player.Class   = getClass();
                GameObject[] enemiesGo = Resources.LoadAll <GameObject>("Enemies");
                _instance.enemies = new List <Mob>(enemiesGo.Length);
                QuestManager      = new QuestManager();

                for (int i = 0; i < enemiesGo.Length; i++)
                {
                    Mob enemy = enemiesGo[i].GetComponent <Mob>();
                    enemy.Health = enemy.MaxHealth;
                    enemy.Mana   = enemy.MaxMana;
                    _instance.enemies.Add(enemy);
                }
            }
            DontDestroyOnLoad(_instance.gameObject);
            DontDestroyOnLoad(_instance);
        }
        else if (this != _instance)
        {
            Destroy(this);
        }
    }
    private void SetStartAndEndPoint(Transform gridParent)
    {
        var startNodePosition = (GameManagerData.GetStartPointX() * GameManagerData.GetBoardSize()) + GameManagerData.GetStartPointY();

        gridParent.GetChild(startNodePosition).GetComponent <SpriteRenderer>().sprite = startSprite;

        var endNodePosition = (GameManagerData.GetEndPointX() * GameManagerData.GetBoardSize()) + GameManagerData.GetEndPointY();

        gridParent.GetChild(endNodePosition).GetComponent <SpriteRenderer>().sprite = endSprite;
    }
Beispiel #5
0
    private static void SaveGameManager(GameManager gm, BinaryFormatter fmt)
    {
        string     path   = Path.Combine(Application.persistentDataPath, "game.dat");
        FileStream stream = new FileStream(path, FileMode.Create);

        GameManagerData gmData = new GameManagerData(gm);

        fmt.Serialize(stream, gmData);
        stream.Close();
    }
Beispiel #6
0
    public void CheckNumberOfObstacles()
    {
        var maxNumberOfObstacles = GameManagerData.GetBoardSize() * GameManagerData.GetBoardSize() / 2;

        if (GetComponent <InputField>().text.Length > 0 && int.Parse(GetComponent <InputField>().text.ToString()) > maxNumberOfObstacles)
        {
            CustomEvents.showWarningDialogEvent.Invoke("Number of obstacles can't be larger than: " + maxNumberOfObstacles); //half of the board size!
            GetComponent <InputField>().text = GetComponent <InputField>().text.Remove(0);
        }
    }
Beispiel #7
0
{   // Frederic
    public static void SaveGameManager(GameManager gameManager)
    {
        string          path      = Application.persistentDataPath + "/GameManager.data";
        BinaryFormatter formatter = new BinaryFormatter();
        FileStream      stream    = new FileStream(path, FileMode.Create, FileAccess.Write);
        GameManagerData data      = new GameManagerData(gameManager);

        formatter.Serialize(stream, data);
        stream.Close();
    }
 public TGridObject GetGridObject(int x, int y)
 {
     if (x >= 0 && y >= 0 && x < GameManagerData.GetBoardSize() && y < GameManagerData.GetBoardSize())
     {
         return(gridArray[x, y]);
     }
     else
     {
         return(default(TGridObject));
     }
 }
Beispiel #9
0
 private void PopulateData()
 {
     numberOfTheRuns.text = GetNumberOfTheRuns();
     boardSize.text       = GameManagerData.GetBoardSize().ToString();
     obstacleCount.text   = GameManagerData.GetNumberOfObstacles().ToString();
     algorithmsUsed.text  = GetUsedAlgorithms();
     numberOfFieldsCheckedForFirstAlghoritm.text  = GetNumberOfCheckedFields(CurrentAlgorithmType.A_star);
     numberOfFieldsCheckedForSecondAlghoritm.text = GetNumberOfCheckedFields(CurrentAlgorithmType.Greedy_suboptimal);
     timeSpentForFirstRunner.text  = GetTimeSpent("Runner1");
     timeSpentForSecondRunner.text = GetTimeSpent("Runner2");
 }
Beispiel #10
0
 protected override void processObjectEnter(GameObject gameObject)
 {
     if (IsAuto)
     {
         if (gameObject.tag == "Player")
         {
             GameManagerData.GetInstance().StartStory(text);
             Destroy(this.gameObject);
             //Core.AudioManager._instance.PlayMusicByName("depressBGM1");
         }
     }
 }
    void SetInputValue()
    {
        var fieldType = GetComponent <InputFieldTyperController>().fieldType;

        if (fieldType == InputFieldEnums.InputFieldsTypes.BoardInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetBoardSize();

            GameManagerData.SetBoardSize(value);
        }
        else if (fieldType == InputFieldEnums.InputFieldsTypes.ObstaclesInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetNumberOfObstacles();

            GameManagerData.SetNumberOfObstacles(value);
        }
        else if (fieldType == InputFieldEnums.InputFieldsTypes.StartPosXInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetStartPointX();

            GameManagerData.SetStartPointX(value);
        }
        else if (fieldType == InputFieldEnums.InputFieldsTypes.StartPosYInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetStartPointY();

            GameManagerData.SetStartPointY(value);
        }
        else if (fieldType == InputFieldEnums.InputFieldsTypes.EndPosXInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetEndPointX();

            GameManagerData.SetEndPointX(value);
        }
        else if (fieldType == InputFieldEnums.InputFieldsTypes.EndPosYInputField)
        {
            int value = (!string.IsNullOrEmpty(GetComponent <InputField>().text))
                ? int.Parse(GetComponent <InputField>().text)
                : GameManagerData.GetEndPointY();

            GameManagerData.SetEndPointY(value);
        }
    }
Beispiel #12
0
 public GameData()
 {
     vendeurData = new VendeurData()
     {
         items = new List <int>()
     };
     gameManagerData = new GameManagerData()
     {
         items      = new List <int>(),
         countItems = new List <int>()
     };
     joueurData = new JoueurData();
 }
    private int CalculateHCost(int currentX, int currentY)
    {
        int dx = Mathf.Abs(GameManagerData.GetEndPointX() - currentX);
        int dy = Mathf.Abs(GameManagerData.GetEndPointY() - currentY);

        int min = Mathf.Min(dx, dy);
        int max = Mathf.Max(dx, dy);

        int diagonalSteps = min;
        int straightSteps = max - min;

        return((int)(1.4f * diagonalSteps + straightSteps));
    }
    public List <Node> GetWalkableNeighbours(Node currentNode, List <Node> nodesArray)
    {
        List <Node> neighbourList = new List <Node>();

        if (currentNode.coorX - 1 >= 0)
        {
            //Left
            AddNodeToList(currentNode.coorX - 1, currentNode.coorY, nodesArray, neighbourList);
            //left down

            if (currentNode.coorY - 1 >= 0)
            {
                AddNodeToList(currentNode.coorX - 1, currentNode.coorY - 1, nodesArray, neighbourList);
            }
            //left up

            if (currentNode.coorY + 1 < GameManagerData.GetBoardSize())
            {
                AddNodeToList(currentNode.coorX - 1, currentNode.coorY + 1, nodesArray, neighbourList);
            }
        }

        if (currentNode.coorX + 1 < GameManagerData.GetBoardSize())
        {
            //Right
            AddNodeToList(currentNode.coorX + 1, currentNode.coorY, nodesArray, neighbourList);
            //right down
            if (currentNode.coorY - 1 >= 0)
            {
                AddNodeToList(currentNode.coorX + 1, currentNode.coorY - 1, nodesArray, neighbourList);
            }
            //right up
            if (currentNode.coorY + 1 < GameManagerData.GetBoardSize())
            {
                AddNodeToList(currentNode.coorX + 1, currentNode.coorY + 1, nodesArray, neighbourList);
            }
        }

        //Down
        if (currentNode.coorY - 1 >= 0)
        {
            AddNodeToList(currentNode.coorX, currentNode.coorY - 1, nodesArray, neighbourList);
        }
        //UP
        if (currentNode.coorY + 1 < GameManagerData.GetBoardSize())
        {
            AddNodeToList(currentNode.coorX, currentNode.coorY + 1, nodesArray, neighbourList);
        }

        return(neighbourList);
    }
Beispiel #15
0
 public void CheckEndPointXY()
 {
     if (GetComponent <InputField>().text.Length > 0 && GetComponent <InputField>().text[0] != '-')
     {
         if (int.Parse(GetComponent <InputField>().text.ToString()) > GameManagerData.GetBoardSize() - 1)
         {
             CustomEvents.showWarningDialogEvent.Invoke("End point can't be bigger or same as a board size!");
             if (GetComponent <InputField>().text.Length > 0)
             {
                 GetComponent <InputField>().text = GetComponent <InputField>().text.Remove(0);
             }
         }
     }
 }
Beispiel #16
0
    public void Load()
    {
        BinaryFormatter bf   = new BinaryFormatter();
        FileStream      file = File.Open(Application.persistentDataPath + "/GameManager.save", FileMode.Open);
        GameManagerSave save = (GameManagerSave)bf.Deserialize(file);

        file.Close();

        GameManagerData data = GameManagerSave.Load(save);

        _instance.player        = _instance.gameObject.GetComponent <Player>();
        _instance.enemies       = new List <Mob>(_instance.gameObject.GetComponents <Mob>());
        _instance.enemyAttacked = new List <int>();
        _instance.QuestManager  = new QuestManager();
    }
Beispiel #17
0
    public new void OnEnable()
    {
        base.OnEnable();
        if (GameObject.FindWithTag("MainCamera") != null)
        {
            _gameManagerData = GameObject.FindWithTag("MainCamera").GetComponent <GameManager>().gameManagerData;
        }
        else
        {
            return;
        }

        //刷新扩展建筑列表
        UpdateExBuildingList();
    }
    private void GenerateNewGame()
    {
        var maxNumberOfObstacles = GameManagerData.GetBoardSize() * GameManagerData.GetBoardSize() / 2;

        int newNumberOfObstacles = GameManagerData.GetNumberOfObstacles() + 1;

        if (maxNumberOfObstacles < newNumberOfObstacles)
        {
            CustomEvents.showWarningDialogEvent.Invoke("Number of obstacles can't be larger than: " + maxNumberOfObstacles); //half of the board size!
        }
        else
        {
            GameManagerData.SetNumberOfObstacles(newNumberOfObstacles);
            CustomEvents.createTableEvent.Invoke();
        }
    }
Beispiel #19
0
    public static GameManagerData LoadGameManager()
    {
        string path = Application.persistentDataPath + "/GameManager.data";

        if (File.Exists(path))
        {
            BinaryFormatter formatter = new BinaryFormatter();
            FileStream      stream    = new FileStream(path, FileMode.Open, FileAccess.Read);
            GameManagerData data      = formatter.Deserialize(stream) as GameManagerData;
            stream.Close();
            return(data);
        }
        else
        {
            Debug.LogError("Save file pas trouvé dans " + path);
            return(null);
        }
    }
    private void SaveGameManager(RawData data)
    {
        GameManagerData managerData;

        managerData = new GameManagerData()
        {
            CanMove      = GameManager.Instance.playerCanMove,
            RespawnPoint = GameManager.Instance.RespawnPoint,
            PlayerHP     = GameManager.Instance.playerHealth,
            PlayerMaxHP  = GameManager.Instance.playerHealthMax,
            Coins        = GameManager.Instance.CoinOwned,
            MaxCoins     = GameManager.Instance.maxCoin,
            PowerState   = GameManager.Instance.powerState,
            DeathCounter = GameManager.Instance.DeathCounter,
            SwordDamage  = GameManager.Instance.swordDamage,
            BottesState  = GameManager.Instance.bottesState
        };
        data.ManagerData = managerData;
    }
Beispiel #21
0
 public void loadData(GameManagerData data)
 {
     levelNum = data.levelNum;
     curScene = data.curScene;
     if (data.characterName.Length > 0)
     {
         selectedCharPrefab = (GameObject)Resources.Load(data.characterName);
         if (player)
         {
             Destroy(player);
         }
         createPlayerInstance();
         PlayerController p = player.GetComponent <PlayerController> ();
         p.healthPoints    = data.curHP;
         p.maxHealthPoints = data.maxHP;
         p.xpValue         = data.xpValue;
         p.setPlayerGold(data.playerGold);
         p.level = data.level;
     }
 }
Beispiel #22
0
    public static GameManagerData LoadGM()
    {
        string path = Path.Combine(Application.persistentDataPath, "game.dat");

        if (File.Exists(path))
        {
            BinaryFormatter formatter = new BinaryFormatter();
            FileStream      stream    = new FileStream(path, FileMode.Open);

            GameManagerData data = (GameManagerData)formatter.Deserialize(stream);
            stream.Close();

            return(data);
        }
        else
        {
            Debug.LogError("Save File Not found in " + path);
            return(null);
        }
    }
Beispiel #23
0
    private int CalculateHCost(int currentX, int currentY, CurrentAlgorithmType playerAlgorithmType)
    {
        int dx = Mathf.Abs(GameManagerData.GetEndPointX() - currentX);
        int dy = Mathf.Abs(GameManagerData.GetEndPointY() - currentY);

        if (playerAlgorithmType == CurrentAlgorithmType.A_star)
        {
            int min = Mathf.Min(dx, dy);
            int max = Mathf.Max(dx, dy);

            int diagonalSteps = min;
            int straightSteps = max - min;

            return((int)(1.4f * diagonalSteps + straightSteps));
        }
        else
        {
            return(dx + dy);
        }
    }
 private void LoadGameManager(GameManagerData data)
 {
     if (data == null)
     {
         return;
     }
     if (GameManager.Instance == null)
     {
         Debug.LogError("Gamemanager is null");
     }
     GameManager.Instance.playerCanMove   = data.CanMove;
     GameManager.Instance.RespawnPoint    = data.RespawnPoint;
     GameManager.Instance.playerHealth    = data.PlayerHP;
     GameManager.Instance.playerHealthMax = data.PlayerMaxHP;
     GameManager.Instance.CoinOwned       = data.Coins;
     GameManager.Instance.maxCoin         = data.MaxCoins;
     GameManager.Instance.powerState      = data.PowerState;
     GameManager.Instance.DeathCounter    = data.DeathCounter;
     GameManager.Instance.swordDamage     = data.SwordDamage;
     GameManager.Instance.bottesState     = data.BottesState;
 }
Beispiel #25
0
    public bool save(int index)
    {
        saveScore();

        if (saveIndex < 0)
        {
            // new save
            if (index < 0)
            {
                saveIndex = SaveLoad.Save(-1);
                if (saveIndex < 0)
                {
                    return(false);
                }
                // load save
            }
            else
            {
                saveIndex = index;
                GameManagerData gmd = SaveLoad.Load(saveIndex);
                if (gmd != null)
                {
                    loadData(gmd);
                }
                else
                {
                    return(false);
                }
            }
        }
        else
        {
            // overwrite save
            if (SaveLoad.Save(saveIndex) < 0)
            {
                return(false);
            }
        }
        return(true);
    }
    public Grid(float cellSize, Transform gridParent,
                Sprite walkableSprite, Sprite obstacleSprite, Sprite startSprite, Sprite endSprite,
                List <Coordinate> obstaclesCoordinatesList, Func <Grid <TGridObject>, int, int, TGridObject> CreateGridObject)
    {
        this.cellSize            = cellSize;
        this.walkableSpriteImage = walkableSprite;
        this.obstacleSpriteImage = obstacleSprite;
        this.startSprite         = startSprite;
        this.endSprite           = endSprite;
        this.gridParent          = gridParent;

        gridArray   = new TGridObject[GameManagerData.GetBoardSize(), GameManagerData.GetBoardSize()];
        spriteArray = new Sprite[GameManagerData.GetBoardSize(), GameManagerData.GetBoardSize()];

        for (int x = 0; x < gridArray.GetLength(0); x++)
        {
            for (int y = 0; y < gridArray.GetLength(1); y++)
            {
                bool isWalkable = true;

                Coordinate current = new Coordinate(x, y);

                foreach (var item in obstaclesCoordinatesList)
                {
                    if (item.x == current.x && item.y == current.y)
                    {
                        isWalkable = false;
                    }
                }

                gridArray[x, y]   = CreateGridObject(this, x, y);
                spriteArray[x, y] = CreateWorldSprite(gridParent, GetWorldPosition(x, y) + new Vector3(cellSize, cellSize) * 0.5f, isWalkable);
            }
        }

        SetStartAndEndPoint(gridParent);
        SetCameraBasedOnBoardSize();

        //SetValue(2, 1, 33);
    }
Beispiel #27
0
    public void CreateTable()
    {
        for (int x = 0; x < GameManagerData.GetBoardSize(); x++)
        {
            for (int y = 0; y < GameManagerData.GetBoardSize(); y++)
            {
                var localPosition = GetWorldPosition(x, y) + new Vector3(cellSize, cellSize) * 0.5f;
                GenerateNodeObject(TilesHolder, localPosition, x, y);
            }
        }

        nodeList.AddRange(tempList);
        //remove start node and end node
        tempList.RemoveAll(node => IsStartNode(node.coorX, node.coorY) || IsEndNode(node.coorX, node.coorY));

        nodesArray = tempList.ToArray();

        var listOfObstacles = GetComponent <ObstaclesGenerator>().StartObstaclesGenerator(nodesArray, StartNode, EndNode);

        SetObstaclesToBoard(listOfObstacles);

        CreatePlayers();
    }
Beispiel #28
0
 // Use this for initialization
 void Awake()
 {
     if (!instance)
     {
         instance = this;
         dataPath = Application.persistentDataPath + "/plasaleos.json";
         if (File.Exists(dataPath))
         {
             json = File.ReadAllText(dataPath);
             data = JsonUtility.FromJson <GameManagerData>(json);
             if (data.aliensSaved.Length != levelAmount)
             {
                 int[] aux = new int[levelAmount];
                 for (int i = 0; i < data.aliensSaved.Length; i++)
                 {
                     aux[i] = data.aliensSaved[i];
                 }
                 data.aliensSaved = aux;
                 for (int i = 0; i < data.piecesSaved.Length; i++)
                 {
                     aux[i] = data.piecesSaved[i];
                 }
                 data.piecesSaved = aux;
             }
         }
         else
         {
             CreateFile();
         }
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
Beispiel #29
0
 void Start()
 {
     data = GameManagerData._GameManagerData;
 }
 void Start()
 {
     Camera.main.orthographicSize        = GameManagerData.GetBoardSize() * 1.1f;
     Camera.main.transform.localPosition = new Vector3(GameManagerData.GetBoardSize() / (float)2, Camera.main.transform.localPosition.y, Camera.main.transform.localPosition.z);
 }