コード例 #1
0
 public void Initialize()
 {
     this.m_Player1    = new PlayerDatas();
     this.m_Player2    = new PlayerDatas();
     this.m_LevelDatas = new LevelDatas();
     this.InitializeInputsBinding();
 }
コード例 #2
0
    private PlayerSave()
    {
#if UNITY_EDITOR
        m_datas            = new PlayerDatas();
        m_current_filePath = Application.persistentDataPath + "/MyPlayerDatas.sav";
#endif

#if UNITY_ANDROID || UNITY_IOS
        m_current_filePath = Application.persistentDataPath + "/MyPlayerDatas.sav";
        LoadDatas();
#else
        m_saves      = new List <Save>();
        m_saveFolder = Application.persistentDataPath + "/saves/";
        if (Directory.Exists(m_saveFolder))
        {
            string[] saves = Directory.GetFiles(m_saveFolder);
            for (int i = 0; i < saves.Length; i++)
            {
                string saveName = Path.GetFileName(saves[i]);
                m_current_filePath = m_saveFolder + saveName;
                LoadDatas();
                Save newSave = new Save(saveName);
                m_saves.Add(newSave);
            }
        }
        else
        {
            Directory.CreateDirectory(m_saveFolder);
        }
        if (m_saves.Count > 0)
        {
            m_LastId = int.Parse(m_saves[m_saves.Count - 1].fileName.Split('.')[0]);
        }
#endif
    }
コード例 #3
0
        private void Loaded()
        {
            convertKorUserSet = new Dictionary <ulong, bool>();

            // 파라미터 한개 명령어
            cmdLists.Add("C", 1);       // 클랜
            cmdLists.Add("A", 1);       // 동맹
            cmdLists.Add("R", 1);       // 귓말(답변)
            cmdLists.Add("PM", 2);      // 귓말


            foreach (BasePlayer basePlayer in BasePlayer.activePlayerList)
            {
                String userId = basePlayer.UserIDString;
                if (!User.ContainsKey(userId))
                {
                    PlayerDatas data = new PlayerDatas();

                    data.WarnCount = 0;
                    data.Cooldown  = 0;
                    data.KorMode   = "KR";
                    data.UI        = "활성화";
                    User.Add(userId, data);
                    Interface.Oxide.DataFileSystem.WriteObject("ConvertKor_PlayerData", User);
                }
            }

            User = Interface.Oxide.DataFileSystem.ReadObject <Dictionary <String, PlayerDatas> >("ConvertKor_PlayerData");
            forbiddenWordData = Interface.Oxide.DataFileSystem.ReadObject <ForbiddenWordData>("ConvertKor_ForbiddenWordData");
        }
コード例 #4
0
        void OnPlayerConnected(BasePlayer basePlayer)
        {
            if (basePlayer.HasPlayerFlag(BasePlayer.PlayerFlags.ReceivingSnapshot))
            {
                timer.In(2, () => OnPlayerConnected(basePlayer));

                if (_config.GUIToggle == false)
                {
                    basePlayer.IPlayer.Reply($"{string.Format(Lang("Prefix", null))} <color=red>서버에서 UI 를 비활성화 시켰습니다.</color>\n활성화: <color=#00ffff>/ui</color>");
                    CuiHelper.DestroyUi(basePlayer, "ChatUI");
                }
            }

            String userId = basePlayer.UserIDString;

            if (!User.ContainsKey(userId))
            {
                PlayerDatas data = new PlayerDatas();

                data.WarnCount = 0;
                data.Cooldown  = 0;
                data.KorMode   = "KR";
                data.UI        = "활성화";
                User.Add(userId, data);
                DataSave();
            }
        }
コード例 #5
0
    public void Save(PlayerDatas datas)
    {
        BinaryFormatter binaryFormatter = new BinaryFormatter();
        FileStream      file            = File.Create(_filePath);

        binaryFormatter.Serialize(file, datas);
        file.Close();
    }
コード例 #6
0
ファイル: GameManager.cs プロジェクト: Mangiang/FPSDeGenie
    public string RegisterPlayer(PlayerDatas playerDatas)
    {
        string id = "Player" + (playerCount++).ToString();

        _playerDict.Add(id, playerDatas);
        playerDatas.transform.name = id;
        return(id);
    }
コード例 #7
0
ファイル: GameManager.cs プロジェクト: tomfalempin/Exemples
        private void ServerManager_OnGettingDatasSuccess(PlayerDatas playerDatas)
        {
            PlayerDatas = playerDatas;

            MenuHUD lMainMenu = MenuHUD.Instance;

            uiManager.AddScreen(lMainMenu);
            uiManager.AddScreenWithoutCloseAScreen(LevelSelector.Instance, lMainMenu);
        }
コード例 #8
0
    private void CreateDatas()
    {
        int[] scores = new int[10];
        scores[0] = this.score;

        datas          = new PlayerDatas();
        datas.distance = distance;
        datas.coins    = coins;
        datas.scores   = scores;
    }
コード例 #9
0
    public void NewSave()
    {
        m_LastId++;
        string newFileName = m_LastId + ".sav";

        m_current_filePath = m_saveFolder + newFileName;
        m_datas            = new PlayerDatas();
        m_currentSave      = new Save(newFileName);
        m_saves.Add(m_currentSave);
        SaveDatas();
    }
コード例 #10
0
ファイル: GameData.cs プロジェクト: moyu3390/MM1
        /// <summary>
        /// 设置玩家数据
        /// </summary>
        /// <param name="playerData"></param>
        public void SetPlayerData(PlayerData playerData)
        {
            for (var i = 0; i < PlayerDatas.Count; i++)
            {
                if (PlayerDatas[i].PlayerType == playerData.PlayerType)
                {
                    PlayerDatas.RemoveAt(i);
                    break;
                }
            }

            PlayerDatas.Add(playerData);
        }
コード例 #11
0
ファイル: ShootScript.cs プロジェクト: Mangiang/FPSDeGenie
 void OnEnable()
 {
     fireCount        = fireRate;
     audioSource      = GetComponent <AudioSource>();
     aim              = transform.GetChild(0).GetComponent <Aiming>();
     weaponManagement = transform.GetChild(0).GetChild(0).GetComponent <WeaponManagement>();
     GetComponent <AudioSource>().enabled = true;
     GetComponent <Camera>().enabled      = true;
     transform.Find("ClipingCam").gameObject.SetActive(true);
     transform.Find("WeaponSlot").gameObject.GetComponent <Aiming>().enabled = true;
     transform.Find("WeaponSlot").gameObject.layer = LayerMask.NameToLayer("MainWeapon");
     playerDatas    = transform.parent.GetComponent <PlayerDatas>();
     playerNetAgent = transform.parent.GetComponent <PlayerNetworkAgent>();
 }
コード例 #12
0
ファイル: PlayerViewModel.cs プロジェクト: lukaszber/Client
        private void OnCreatePlayerCommand()
        {
            PlayerDatas.Clear();
            var players = _playerDatas?.Where(p => p.Team.TeamId == _selectedTeam?.TeamId).ToList();

            if (players == null)
            {
                return;
            }
            foreach (var player in players)
            {
                PlayerDatas.Add(player);
            }
        }
コード例 #13
0
    private PlayerDatas Load()
    {
        BinaryFormatter binaryFormatter = new BinaryFormatter();
        FileStream      file            = File.Open(_filePath, FileMode.Open);

        PlayerDatas datas = (PlayerDatas)binaryFormatter.Deserialize(file);

        file.Close();

        int bestScore = datas.scores[datas.scores.Length - 1];

        textBestScore.text = bestScore.ToString();

        return(datas);
    }
コード例 #14
0
    public void GameOver()
    {
        if (!panelGameOver.gameObject.activeSelf)
        {
            panelGameOver.gameObject.SetActive(true);
            labelAiIsPlaying.gameObject.SetActive(false);

            PlayerDatas datas = null;
            if (File.Exists(_filePath))
            {
                datas = Load();
            }
            _levelManager.LoadDatas(datas);
        }
    }
コード例 #15
0
ファイル: GameManager.cs プロジェクト: c4mprod/Pong1
    private void CalculateScore(PlayerDatas _PlayerDatas, EGoalHitType _EGoalHitType)
    {
        switch (_EGoalHitType)
        {
        case EGoalHitType.Ball:
            _PlayerDatas.m_Score += this.m_BallScoreValue;
            break;

        case EGoalHitType.Enemy:
            _PlayerDatas.m_Score += this.m_EnemyScoreValue;
            break;

        default:
            break;
        }
    }
コード例 #16
0
        void Loaded()
        {
            User = Interface.Oxide.DataFileSystem.ReadObject <Dictionary <String, PlayerDatas> >("Tools_PlayerData");

            foreach (BasePlayer basePlayer in BasePlayer.activePlayerList)
            {
                var ip = basePlayer.net.connection.ipaddress;
                ip = ip.Substring(0, ip.LastIndexOf(':'));
                String userId = basePlayer.UserIDString;
                if (!User.ContainsKey(userId))
                {
                    PlayerDatas data = new PlayerDatas();

                    data.DisplayName = new List <string>()
                    {
                        basePlayer.displayName
                    };
                    data.IP = new List <string>()
                    {
                        ip
                    };
                    data.Dis_ConnectTime = new List <string>()
                    {
                        $"처음 접속 | {DateTime.Now} | {ip} | {basePlayer.displayName} | {basePlayer.UserIDString}"
                    };
                    data.ConnectCount = 1;
                    data.PlayerID     = basePlayer.UserIDString;

                    User.Add(userId, data);
                }
                else
                {
                    if (!User[basePlayer.UserIDString].DisplayName.Contains(basePlayer.displayName))
                    {
                        User[basePlayer.UserIDString].DisplayName.Add(basePlayer.displayName);
                    }
                    if (!User[basePlayer.UserIDString].IP.Contains(ip))
                    {
                        User[basePlayer.UserIDString].IP.Add(ip);
                    }
                }
            }



            DataSave();
        }
コード例 #17
0
ファイル: GameManager.cs プロジェクト: Mangiang/FPSDeGenie
    public void Init()
    {
        ResourcesData.Init();
        _player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerDatas>();
        List <GameObject> players = GameObject.FindGameObjectsWithTag("OtherPlayers").ToList();

        foreach (GameObject player in players)
        {
            _lAllPlayers.Add(player.GetComponent <PlayerDatas>());
        }

        _spawns = GameObject.FindGameObjectsWithTag("PlayerSpawns").ToList();

        InitBulletHoles();
        InitResourceNodes();
        InitBases();
    }
コード例 #18
0
ファイル: ServerManager.cs プロジェクト: tomfalempin/Exemples
        private IEnumerator SavePlayerDatasCoroutine(PlayerDatas playerDatas)
        {
            string json = JsonUtility.ToJson(playerDatas);

            string url = "https://isartdigitalf2pscrawl.herokuapp.com/playerdatas/save";

            using (UnityWebRequest req = PostJson(url, json))
            {
                req.SetRequestHeader("Authorization", "Bearer " + Token);

                yield return(req.SendWebRequest());

                if (req.isNetworkError || req.isHttpError)
                {
                    Debug.LogWarning(string.Concat("[ServerManager] Cannot save playerDatas, reason : ", req.downloadHandler.text));
                }
            }
        }
コード例 #19
0
        private void chatCommandH(IPlayer player, string command, string[] args)
        {
            BasePlayer basePlayer = BasePlayerUtils.GetBasePlayer(ulong.Parse(player.Id));
            String     userId     = basePlayer.UserIDString;

            if (!convertKorUserSet.ContainsKey(basePlayer.userID))
            {
                convertKorUserSet.Add(basePlayer.userID, true);
            }

            if (!User.ContainsKey(userId))
            {
                PlayerDatas data = new PlayerDatas();

                data.WarnCount = 0;
                data.Cooldown  = 0;
                data.KorMode   = "KR";
                data.UI        = "활성화";
                User.Add(userId, data);
                Interface.Oxide.DataFileSystem.WriteObject("ConvertKor_PlayerData", User);
            }
            else
            {
                if ("KR".Equals(User[userId].KorMode.ToString()))
                {
                    User[userId].KorMode = "EN";
                    CheckUI(basePlayer);
                    convertKorUserSet[basePlayer.userID] = false;
                    player.Reply($"{string.Format(Lang("Prefix", null))} <color=#00ffff>영어</color> 로 변경되었습니다.");
                }
                else
                {
                    User[userId].KorMode = "KR";
                    convertKorUserSet[basePlayer.userID] = true;
                    CheckUI(basePlayer);
                    player.Reply($"{string.Format(Lang("Prefix", null))} <color=#00ffff>한글</color> 로 변경되었습니다.");
                }
            }

            DataSave();
        }
コード例 #20
0
    public void LoadDatas(PlayerDatas datas)
    {
        int  bestScore;
        bool isNewRecord;

        if (datas != null)
        {
            this.datas  = datas;
            bestScore   = this.score > datas.scores[0] ? this.score : datas.scores[0];
            isNewRecord = this.score > datas.scores[0];
        }
        else
        {
            bestScore   = score;
            isNewRecord = true;
        }

        _gameController.UpdateBestScore(bestScore.ToString(), isNewRecord);

        SaveDatas();
    }
コード例 #21
0
 private void LoadDatas()
 {
     if (File.Exists(m_current_filePath))
     {
         try
         {
             BinaryFormatter bf   = new BinaryFormatter();
             FileStream      file = File.Open(m_current_filePath, FileMode.Open);
             m_datas = bf.Deserialize(file) as PlayerDatas;
             file.Close();
         }
         catch
         {
             m_datas = new PlayerDatas();
         }
     }
     else
     {
         m_datas = new PlayerDatas();
     }
 }
コード例 #22
0
ファイル: ServerManager.cs プロジェクト: tomfalempin/Exemples
        private IEnumerator GetPlayerDatas()
        {
            string url = "https://isartdigitalf2pscrawl.herokuapp.com/playerdatas/get";

            using (UnityWebRequest req = UnityWebRequest.Get(url))
            {
                req.SetRequestHeader("Authorization", "Bearer " + Token);

                yield return(req.SendWebRequest());

                if (req.isNetworkError || req.isHttpError)
                {
                    Debug.LogWarning(string.Concat("[ServerManager] Cannot get playerDatas, reason : ", req.downloadHandler.text));
                    OnStartFTUE?.Invoke();
                }
                else
                {
                    PlayerDatas receivedPlayerDatas = JsonUtility.FromJson <PlayerDatas>(req.downloadHandler.text);
                    if (receivedPlayerDatas.worlds.Count == 0 || receivedPlayerDatas.squads.Count == 0)
                    {
                        OnStartFTUE?.Invoke();
                    }
                    else
                    {
                        OnGettingDatasSuccess?.Invoke(receivedPlayerDatas);
                        GetLastPubDate(GameManager.Credentials.id);
                    }

                    /*receivedPlayerDatas.softCurrency = 100;
                     * receivedPlayerDatas.noAds = true;
                     *
                     * if (receivedPlayerDatas.worlds.Count == 0 || receivedPlayerDatas.squads.Count == 0)
                     * {
                     *      receivedPlayerDatas.AfterTutosGift(GameManager.Credentials.id);
                     * }*/

                    //StartCoroutine(SavePlayerDatasCoroutine(receivedPlayerDatas));
                }
            }
        }
コード例 #23
0
            public static String GetUserMode(BasePlayer basePlayer, PlayerDatas storedData)
            {
                String mode       = "";
                string playerInfo = storedData.KorMode;

                if (null == playerInfo)
                {
                    mode = "KR";
                }
                else
                {
                    if (null == playerInfo)
                    {
                        mode = "KR";
                    }
                    else
                    {
                        mode = playerInfo.ToString();
                    }
                }

                return(mode);
            }
コード例 #24
0
ファイル: GameManager.cs プロジェクト: tomfalempin/Exemples
        public void FTUE()
        {
            _isInGame       = true;
            _isInFTUE       = true;
            _worldIndex     = 0;
            _levelIndex     = 0;
            _isInDailyQuest = false;
            CurrenciesGain  = 0;

            PlayerDatas = new PlayerDatas();

            string lSceneName = settings.LevelSceneName + 1;

            if (DoesSceneExist(lSceneName))
            {
                LaunchLoadingScene(lSceneName);
            }
            else
            {
                LaunchLoadingScene(settings.TestSceneName);
            }
            //LaunchLoadingScene(settings.LevelSceneName);
        }
コード例 #25
0
        void OnPlayerDisconnected(BasePlayer player, string reason)
        {
            var ip = player.net.connection.ipaddress;

            ip = ip.Substring(0, ip.LastIndexOf(':'));
            String userId = player.UserIDString;

            if (!User.ContainsKey(userId))
            {
                PlayerDatas data = new PlayerDatas();

                data.Dis_ConnectTime = new List <string>()
                {
                    $"퇴장 | {DateTime.Now}"
                };

                User.Add(userId, data);
            }
            else
            {
                User[player.UserIDString].Dis_ConnectTime.Add($"퇴장 | {DateTime.Now}");
            }

            if (_config.ServerLeaveMessage == true)
            {
                if (permission.UserHasPermission(player.UserIDString, "tools.bypass"))
                {
                    return;
                }
                else
                {
                    Server.Broadcast($"{_config.Prefix} {string.Format(Lang("퇴장", null, player.displayName, reason), player.userID)}");
                }
            }
            DataSave();
        }
コード例 #26
0
        private void OnPlayerConnected(BasePlayer player)
        {
            var ip = player.net.connection.ipaddress;

            ip = ip.Substring(0, ip.LastIndexOf(':'));
            String userId = player.UserIDString;

            if (!User.ContainsKey(userId))
            {
                PlayerDatas data = new PlayerDatas();

                data.DisplayName = new List <string>()
                {
                    player.displayName
                };
                data.IP = new List <string>()
                {
                    ip
                };
                data.Dis_ConnectTime = new List <string>()
                {
                    $"처음 접속 | {DateTime.Now} | {ip} | {player.displayName} | {player.UserIDString}"
                };
                data.ConnectCount = 1;
                data.PlayerID     = player.UserIDString;

                User.Add(userId, data);
            }
            else
            {
                if (!User[player.UserIDString].DisplayName.Contains(player.displayName))
                {
                    User[player.UserIDString].DisplayName.Add(player.displayName);
                }
                if (!User[player.UserIDString].IP.Contains(ip))
                {
                    User[player.UserIDString].IP.Add(ip);
                }
                User[player.UserIDString].Dis_ConnectTime.Add($"접속 | {DateTime.Now}");

                User[player.UserIDString].ConnectCount += 1;
            }

            if (_config.ServerJoinMessage == true)
            {
                if (permission.UserHasPermission(player.UserIDString, "tools.bypass"))
                {
                    return;
                }

                var playerAddress = player.net.connection.ipaddress.Split(':')[0];

                webrequest.Enqueue("http://ip-api.com/json/" + playerAddress, null, (code, response) =>
                {
                    if (code != 200 || response == null)
                    {
                        Server.Broadcast(_config.Prefix + Lang("입장알수없음", null, player.displayName), player.userID);

                        if (_config.PrintToConsole)
                        {
                            Puts(StripRichText(Lang("입장알수없음", null, player.displayName)));
                        }

                        return;
                    }

                    var country = JsonConvert.DeserializeObject <Response>(response).Country;

                    Server.Broadcast(_config.Prefix + Lang("입장", null, player.displayName, country), player.userID);

                    if (_config.PrintToConsole)
                    {
                        Puts(StripRichText(Lang("입장", null, player.displayName, country)));
                    }
                }, this);
            }

            DataSave();
        }
コード例 #27
0
ファイル: ServerManager.cs プロジェクト: tomfalempin/Exemples
 public void SavePlayerDatas(PlayerDatas playerDatas)
 {
     StartCoroutine(SavePlayerDatasCoroutine(playerDatas));
 }
コード例 #28
0
 void OnEnable()
 {
     _playerDatas = GetComponent <PlayerDatas>();
     _healthText  = GameObject.Find("Canvas/Health").GetComponent <Text>();
 }
コード例 #29
0
 public void ResetDatas()
 {
     m_datas = new PlayerDatas();
     SaveDatas();
     m_datas = new PlayerDatas();
 }
コード例 #30
0
    public void EntityPlayerDatasToSave(EntityPlayer player)
    {
        PlayerDatas entityDatasToSave = new PlayerDatas();

        // Datas for identifying the player
        entityDatasToSave.setplayerDataToSaveName(player.getEntityName());
        entityDatasToSave.setplayerDataToSaveClass(player.getEntityClass());
        entityDatasToSave.setplayerDataToSaveRace(player.getEntityRace());
        entityDatasToSave.setplayerDataToSavePortrait(player.getEntityPortrait());
        entityDatasToSave.setplayerDataToSaveLevel(player.getEntityLevel());

        // Datas for checking if the player is drunk or not
        entityDatasToSave.setplayerDataToSaveAlcoholLevel(player.getEntityAlcoholLevel());
        entityDatasToSave.setplayerDataToSaveAlcoholResistance(player.getEntityAlcoholResistance());

        // Datas for positionning the player in the game world
        entityDatasToSave.setplayerDataToSaveMap(player.getEntityMap());
        entityDatasToSave.setplayerDataToSaveXPosition(player.getEntityXPosition());
        entityDatasToSave.setplayerDataToSaveYPosition(player.getEntityYPosition());

        // Datas for battle
        entityDatasToSave.setplayerDataToSaveAttack(player.getEntityAttack());
        entityDatasToSave.setplayerDataToSaveDefense(player.getEntityDefense());
        entityDatasToSave.setplayerDataToSaveCurrentHealth(player.getEntityCurrentHealth());
        entityDatasToSave.setplayerDataToSaveTotalHealth(player.getEntityTotalHealth());

        // Datas for experience status
        entityDatasToSave.setplayerDataToSaveCurrentXp(player.getEntityCurrentXp());
        entityDatasToSave.setplayerDataToSaveTotalXp(player.getEntityTotalXp());

        entityDatasToSave.setplayerDataToSaveGold(player.getEntityGold());

        // Data to get the player state (Drunk, sleeping...)
        entityDatasToSave.setplayerDataToSaveState(player.getEntityState());

        // --------------------------------------------------------------
        // | The method in comment below will only save non empty datas |
        // --------------------------------------------------------------
        // [START]
        //Gson gson = new GsonBuilder().setPrettyPrinting().create();
        //String jsonToSave = json.prettyPrint(entityDatasToSave);
        // [END]

        // ----------------------------------------------------------------------------------------
        // | The method in comment below will save all datas from a character even the empty ones |
        // ----------------------------------------------------------------------------------------
        // [START]
        Gson   gson       = new Gson();
        String jsonToSave = gson.toJson(entityDatasToSave);
        // [END]

        Json json = new Json();

        json.setOutputType(OutputType.json);

        // saving datas in a new JSON file with the name of the player character
        try
        {
            SaveGame.saveFile(entityDatasToSave.getplayerDataToSaveName(), jsonToSave, "character");
        }
        catch (IOException e)
        {
            Console.WriteLine("Error: error when creating character file");
            e.printStackTrace();
        }
    }