Example #1
0
        public IAction TakeAction(IGame gameState)
        {
            this.game   = gameState;
            this.player = gameState.ActivePlayer;

            IExhibitionCard exhibition;

            if (player.Time.RemainingWeeks() > 10 && (exhibition = CanIExhibit()) != null)
            {
                return(new ExecuteExhibitionAction(exhibition));
            }

            IDigSite digSite;

            if (player.Time.RemainingWeeks() >= 11 && (digSite = CanIDig()) != null)
            {
                return(new DigAction(digSite, 7, null, null));
            }

            ICard card = ChooseCard();

            if (player.Time.RemainingWeeks() >= card.Weeks + GameSettings.GetDistance(player.CurrentPlace, card.Place))
            {
                return(new TakeCardAction(card));
            }
            return(new EndYearAction());
        }
Example #2
0
        private void InitBuildingController(Building i_building)
        {
            BuildingController controller = GetComponent <BuildingController>();
            IPlayerData        player     = PlayerManager.Data;

            controller.Init(i_building, (IResourceInventory)player);
        }
Example #3
0
        public void LoadUserData(IPlayerData data)
        {
            ushort localId = Id;

            Data          = data;
            Data.PlayerId = localId;
        }
 public PlayersController(ILogger <PlayersController> logger, IDataCookies dataCookies, IPlayerData playerData, IMetrics metrics)
 {
     _logger      = logger;
     _dataCookies = dataCookies;
     _playerData  = playerData;
     _metrics     = metrics;
 }
Example #5
0
        public void BeforeTest()
        {
            UnitTestUtils.LoadOfflineData();
            mPlayerData = UnitTestUtils.LoadMockPlayerData();

            CreateMission();
        }
Example #6
0
 public Test_Form()
 {
     _hearthstoneData = new HearthstoneData();
     Player player = _hearthstoneData.GetPlayer(1);
     _playerData = new PlayerData(_hearthstoneData, player);
     InitializeComponent();
 }
        private async Task SendMessageAsync()
        {
            var playerDatas = new IPlayerData[Players.Count];

            for (int i = 0; i < Players.Count; i++)
            {
                var  playerInformation = Players.ToArray()[i];
                bool readyState        = false;
                if (PlayerReadyState.ContainsKey(playerInformation))
                {
                    readyState = PlayerReadyState[playerInformation];
                }

                playerDatas[i] = new PlayerData(playerInformation.PlayerId,
                                                playerInformation.Name, readyState);
            }

            //Loop all players and tell a player left
            foreach (var roomPlayer in Players)
            {
                var encoded =
                    Encoding.UTF8.GetBytes(
                        JsonConvert.SerializeObject(new LobbyData(playerDatas,
                                                                  GameType,
                                                                  RoomID, Name,
                                                                  MaxPlayersNeededToStart,
                                                                  playerDatas.Length, false)));
                var buffers = new ArraySegment <Byte>(encoded, 0, encoded.Length);
                await roomPlayer.Socket.SendAsync(buffers, WebSocketMessageType.Text, true,
                                                  CancellationToken.None)
                .ConfigureAwait(false);
            }
        }
Example #8
0
 public bool OnAfterDeserialize()
 {
     if (m_Data == null)
     {
         m_Data = new Dictionary <string, IPlayerData>();
     }
     m_CorruptedDataList.Clear();
     m_Data.Clear();
     foreach (SafeLoadCheck <IPlayerData> dataItem in m_DataList)
     {
         if (dataItem.Invalid)
         {
             m_CorruptedDataList.Add(dataItem);
             continue;
         }
         IPlayerData playerData = ObjectsManager.FindObjectByIdentifier <IPlayerData>(dataItem.Object.Identifier);
         if (playerData == null)
         {
             m_CorruptedDataList.Add(dataItem);
             continue;
         }
         m_Data.Add(dataItem.Object.Identifier, dataItem.Object);
     }
     return(true);
 }
Example #9
0
        private static IPlayerData CreateMockPlayer()
        {
            IPlayerData mockPlayerData = NSubstitute.Substitute.For <IPlayerData>();

            mockPlayerData.UnitProgress.Returns(new Dictionary <string, UnitProgress>());
            return(mockPlayerData);
        }
        public PlayerModel(IPlayerData data, ITrackableDictionary <int, ICharacterModel> characterModelDic)
        {
            _data = data;
            _characterModelDic = characterModelDic;

            _data.ScoreUpdated += OnScoreChanged;
            _data.ControllableCharacterExemplarIdUpdated += OnControllableCharacterExemplarIdUpdated;
        }
        public void BeforeTest()
        {
            UnitTestUtils.LoadOfflineData();
            mPlayerData = UnitTestUtils.LoadMockPlayerData();

            SetStatCalculator();
            CreateMissionTask();
        }
Example #12
0
    private void Move(PlayerComponent playerComponent, IPlayerData playerData, float h, float v)
    {
        playerComponent.movement.Set(h, 0f, v);
        playerComponent.movement = playerComponent.movement.normalized * playerData.speed * Time.deltaTime;

        Transform transform = playerComponent.entity.GetComponent <TransformComponent>().transform;

        playerComponent.rigidBody.MovePosition(transform.position + playerComponent.movement);
    }
    void Start()
    {
        var robotsFactories = FindObjectsOfType <UnitFactoryFacade>();

        _unitFactoryFacade = Array.Find(robotsFactories, f => f.UnitModel.teamId == team);

        _playerData = gameData.GetPlayerData(team);

        StartCoroutine(BuilUnitsLogicCorotine());
    }
Example #14
0
 public bool TryGetPlayerData(NetSessionId sessionId, out IPlayerData data)
 {
     if (_playerData.TryGetValue(sessionId, out var _data))
     {
         data = _data;
         return(true);
     }
     data = default;
     return(false);
 }
Example #15
0
 public void Put(string key, IPlayerData playerData)
 {
     if (m_Data.ContainsKey(key))
     {
         m_Data[key] = playerData;
     }
     else
     {
         m_Data.Add(key, playerData);
     }
 }
Example #16
0
        public static IPlayerData LoadMockPlayerData()
        {
            IPlayerData mockPlayerData = CreateMockPlayer();

            PlayerManager.Init(mockPlayerData);

            SetPlayerGuilds(mockPlayerData);
            SetPlayerBuildings(mockPlayerData);

            return(mockPlayerData);
        }
        public PlayerReplication(IPlayerData playerData, ICustomCastObject castObject) : base(castObject)
        {
            _playerData = playerData;

            _playerData.ScoreUpdated += OnScoreUpdated;
            _playerData.ControllableCharacterExemplarIdUpdated += OnControllableCharacterIdUpdated;

            _getterDic.Add(nameof(_playerData.Score), () => _playerData.Score);
            _setterDic.Add(nameof(_playerData.Score), obj => _playerData.Score = castObject.To <uint>(obj));
            _getterDic.Add(nameof(_playerData.ControllableCharacterExemplarId), () => _playerData.ControllableCharacterExemplarId);
            _setterDic.Add(nameof(_playerData.ControllableCharacterExemplarId), obj => _playerData.ControllableCharacterExemplarId = castObject.To <int>(obj));
        }
Example #18
0
    public override void LoadDataInternal()
    {
        IServerData server = MainData.CurrentServerData;

        UnitAttributeStats stats      = server.GetAttributeStats(statType);
        IPlayerData        playerData = MainData.CurrentPlayerData;

        statNameText.text = statName;

        float statValue = playerData.GetStat(statType);

        slider.value       = stats.GetSliderValue(playerData.Level, statValue);
        statValueText.text = statValue.ToString();
    }
Example #19
0
        public IPlayerData[] GetAllPlayerDataIncludingHost()
        {
            using (GetConnectedPlayers(out Dictionary <INebulaConnection, INebulaPlayer> connectedPlayers))
            {
                int           i      = 0;
                IPlayerData[] result = new IPlayerData[1 + connectedPlayers.Count];
                result[i++] = Multiplayer.Session.LocalPlayer.Data;
                foreach (KeyValuePair <INebulaConnection, INebulaPlayer> kvp in connectedPlayers)
                {
                    result[i++] = kvp.Value.Data;
                }

                return(result);
            }
        }
Example #20
0
        public void BeforeTest()
        {
            UnitTestUtils.LoadOfflineData();
            mPlayerData = UnitTestUtils.LoadMockPlayerData();

            mMissionProposal = CreateMockMissionProposal();
            mUnit            = new MockUnit(100);
            mTestSelection   = new TaskUnitSelection(mUnit,
                                                     new MissionTaskData()
            {
                Index = TEST_TASK_INDEX, StatRequirement = TEST_STAT, PowerRequirement = POWER_REQUIREMENT
            },
                                                     mMissionProposal);

            SetPlayerDataToNotEnoughUnits();
        }
Example #21
0
 public bool OnBeforeSerialize()
 {
     m_DataList.Clear();
     foreach (string key in m_Data.Keys)
     {
         IPlayerData playerData = m_Data[key];
         SafeLoadCheck <IPlayerData> safeLoadCheck = new SafeLoadCheck <IPlayerData>();
         safeLoadCheck.Object = playerData;
         m_DataList.Add(safeLoadCheck);
     }
     foreach (SafeLoadCheck <IPlayerData> dataItem in m_CorruptedDataList)
     {
         m_DataList.Add(dataItem);
     }
     return(true);
 }
Example #22
0
        public static void LoadProjectionsIntoRoot(Root root)
        {
            List <string> jsons = new List <string>()
            {
                ESPNAPI.LoadBatterProjections(),
                          ESPNAPI.LoadPitcherProjections()
            };

            Dictionary <string, IPlayerData> espnPlayerData = new Dictionary <string, IPlayerData>();

            foreach (string json in jsons)
            {
                if (!string.IsNullOrEmpty(json))
                {
                    JObject file    = JObject.Parse(json);
                    JArray  players = (JArray)file["players"];
                    foreach (JToken player in players)
                    {
                        IPlayerData playerData = ESPNPlayerData.CreateFromData(player);
                        espnPlayerData[playerData.SourceID] = playerData;
                    }
                }
            }

            Dictionary <string, FantasySports.DataModels.Player> dmPlayers = new Dictionary <string, FantasySports.DataModels.Player>();

            foreach (FantasySports.DataModels.Player player in root.Players.Values)
            {
                FantasySports.DataModels.IPlayerData playerData;
                if (player.PlayerData.TryGetValue(FantasySports.DataModels.Constants.StatSource.ESPNProjections, out playerData))
                {
                    dmPlayers[playerData.SourceID] = player;
                }
            }

            foreach (string sourceId in espnPlayerData.Keys)
            {
                FantasySports.DataModels.Player player;
                if (!dmPlayers.TryGetValue(sourceId, out player))
                {
                    IPlayerData espnPlayer = espnPlayerData[sourceId];
                    player = new FantasySports.DataModels.Player(espnPlayer.DisplayName, root.Players.Count);
                    root.Players[player.Id] = player;
                }
                player.PlayerData[FantasySports.DataModels.Constants.StatSource.ESPNProjections] = espnPlayerData[sourceId];
            }
        }
Example #23
0
        private void PlayerListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (PlayerListBox.SelectedItem == null)
            {
                return;
            }

            LoadPlayerStack.Visibility = Visibility.Collapsed;

            _player = new PlayerData(_hearthstoneData,PlayerListBox.SelectedItem as Player);
            PlayerNameLabel.Content = _player.Player.Name;

            PlayerRank angryChicken = new PlayerRank();
            angryChicken.ID = _hearthstoneData.NextPlayerRankID;
            angryChicken.Player = _player.Player;
            angryChicken.Season = _player.CurrentSeason;
            angryChicken.Rank = _hearthstoneData.Ranks.First(r => r.Name.ToLower() == "angry chicken");
            angryChicken.Rank.Stars = 1;
            angryChicken.DateAchieved = _player.CurrentSeason.Start;

            if (!(_player.PlayerRanks.Any(p => p.Season.ID == _player.CurrentSeason.ID)))
            {
                _hearthstoneData.AddPlayerRank(angryChicken);
            }

            PlayerRank currentRank = _player.PlayerRanks.First(d => d.ID == _player.PlayerRanks.Max(p => p.ID));
            if (_player.CurrentSeason.ID == currentRank.ID)
            {
                PlayerCurrenkRankLabel.Content = currentRank.Rank.Name + " (" + currentRank.Rank.Stars + " stars)";
            }
            else
            {
                PlayerCurrenkRankLabel.Content = "The Angry Chicken (1 Star)";
            }

            string classLevels = "Name\t\tLevel";
            foreach (HeroClass heroClass in _player.Player.HeroLevels.Keys.OrderBy(c => c.ClassName))
            {
                classLevels += "\n" + heroClass.ClassName + "\t\t" + _player.Player.HeroLevels[heroClass];
            }

            PlayerClassLevelsBlock.TextWrapping = TextWrapping.WrapWithOverflow;
            PlayerClassLevelsBlock.Text = classLevels;

            PlayerDataStack.Visibility = Visibility.Visible;
        }
Example #24
0
        /* Data Manipulation */
        public void InitializePlayerData()
        {
            IPlayerData data = new PlayerData();

            data.SetHighScore(0);
            data.SetEquippedBowIndex(0);
            IBowConfigData[] bowConfigDataArray = CreateInitializedBowCofigDataArray();
            data.SetBowConfigDataArray(bowConfigDataArray);
            thisPlayerData = data;

            data.SetAxisInversion(0, false);
            data.SetAxisInversion(1, false);

            data.SetBGMVolume(1f);
            data.SetSFXVolume(1f);

            Debug.Log("fileID: " + thisFileIndex.ToString() + "'s playerData is init'ed");
        }
Example #25
0
        public void Load()
        {
            string path = GetFilePaths()[thisFileIndex];

            if (System.IO.File.Exists(
                    path
                    ))
            {
                System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new BinaryFormatter();
                System.IO.FileStream file = System.IO.File.Open(
                    path,
                    FileMode.Open
                    );
                thisPlayerData = (IPlayerData)bf.Deserialize(file);
                file.Close();
                Debug.Log("fileID: " + thisFileIndex.ToString() + " is loaded");
            }
            else
            {
                throw new System.InvalidOperationException(
                          "no file by the path exists, need to save first"
                          );
            }
        }
Example #26
0
        /// <summary>
        /// Needs to be called before use. Creates all controls
        /// </summary>
        /// <param name="player">player whose data is displayed</param>
        /// <param name="layout">control positioning data</param>
        /// <param name="color">player's color</param>
        public void Initialize(IPlayerData player, Layout layout, PlayerColor color)
        {
            this.player           = player;
            this.BackColor        = Color.Transparent;
            panel.BackgroundImage = Image.FromFile(UIConfig.IMG_FOLDER + $"playerDisplay_{color}.png");

            // knowledge display
            // TODO maybe add relative positioning wtr. background.png
            specializedKnowledgeDisplay = new Dictionary <IDigSite, Label>();
            singleUseKnowledgeDisplay   = new Dictionary <IDigSite, Label>();
            permissionDisplay           = new Dictionary <IDigSite, PictureBox>();
            Label      label = new Label();
            Rectangle  labelDims;
            PictureBox pb;

            foreach (KeyValuePair <IDigSite, int> digSite_knowledge in player.SpecializedKnowledge)
            {
                // specialized knowledge
                label      = new Label();
                label.Name = $"lSpecializedKnowledge{digSite_knowledge.Key}";
                label.Text = "0";
                label.Font = new Font("Arial", 12, FontStyle.Bold);

                labelDims       = layout.SpecializedKnowledgeLs[digSite_knowledge.Key.Name];
                label.Size      = new Size(labelDims.Width, labelDims.Height);
                label.Location  = labelDims.topLeft;
                label.BackColor = Color.Transparent;
                label.Show();
                panel.Controls.Add(label);
                specializedKnowledgeDisplay.Add(digSite_knowledge.Key, label);

                // rumors
                label      = new Label();
                label.Name = $"lRumors{digSite_knowledge.Key}";
                label.Text = "0";
                label.Font = new Font("Arial", 12, FontStyle.Bold);

                labelDims       = layout.SingleUseKnowledgeLs[digSite_knowledge.Key.Name];
                label.Size      = new Size(labelDims.Width, labelDims.Height);
                label.Location  = labelDims.topLeft;
                label.BackColor = Color.Transparent;
                label.Show();
                panel.Controls.Add(label);
                singleUseKnowledgeDisplay.Add(digSite_knowledge.Key, label);

                // permissions
                labelDims = layout.Permissions[digSite_knowledge.Key.Name];
                pb        = new PictureBox
                {
                    Location = labelDims.topLeft,
                    Size     = new Size(labelDims.Width, labelDims.Height),
                    SizeMode = PictureBoxSizeMode.StretchImage,
                    Image    = Image.FromFile(UIConfig.IMG_FOLDER + $"p_no_{digSite_knowledge.Key.Name}.png"),
                    Visible  = false
                };
                panel.Controls.Add(pb);
                permissionDisplay.Add(digSite_knowledge.Key, pb);
            }

            // player name
            labelDims   = layout.PlayerName;
            lPlayerName = new Label()
            {
                Name      = $"lPlayerName",
                Text      = "0",
                Font      = new Font("Arial", 11, FontStyle.Bold),
                Size      = new Size(labelDims.Width, labelDims.Height),
                Location  = labelDims.topLeft,
                BackColor = Color.Transparent,
                Visible   = true
            };
            panel.Controls.Add(lPlayerName);

            // points
            labelDims = layout.Points;
            lPoints   = new Label()
            {
                Name      = $"lPoints",
                Text      = "0",
                Font      = new Font("Arial", 12, FontStyle.Bold),
                BackColor = Color.Transparent,
                Size      = new Size(labelDims.Width, labelDims.Height),
                Location  = labelDims.topLeft,
                Visible   = true
            };
            panel.Controls.Add(lPoints);

            // general knowledge
            labelDims         = layout.GeneralKnowledge;
            lGeneralKnowledge = new Label()
            {
                Name      = $"lGeneralKnowledge",
                Text      = "0",
                Font      = new Font("Arial", 12, FontStyle.Bold),
                BackColor = Color.Transparent,
                Size      = new Size(labelDims.Width, labelDims.Height),
                Location  = labelDims.topLeft,
                Visible   = true
            };
            panel.Controls.Add(lGeneralKnowledge);

            // shovels
            labelDims = layout.Shovel;
            lShovels  = new Label()
            {
                Name      = $"lShovels",
                Text      = "0",
                Font      = new Font("Arial", 12, FontStyle.Bold),
                BackColor = Color.Transparent,
                Size      = new Size(labelDims.Width, labelDims.Height),
                Location  = labelDims.topLeft,
                Visible   = true
            };
            panel.Controls.Add(lShovels);

            // assistants
            labelDims   = layout.Assistant;
            lAssistants = new Label()
            {
                Name      = $"lAssistants",
                Text      = "0",
                Font      = new Font("Arial", 12, FontStyle.Bold),
                BackColor = Color.Transparent,
                Size      = new Size(labelDims.Width, labelDims.Height),
                Location  = labelDims.topLeft,
                Visible   = true
            };
            panel.Controls.Add(lAssistants);

            // special permissions
            labelDims           = layout.SpecialPermission;
            lSpecialPermissions = new Label()
            {
                Name      = $"lSpecialPermissions",
                Text      = "0",
                Font      = new Font("Arial", 12, FontStyle.Bold),
                BackColor = Color.Transparent,
                Size      = new Size(labelDims.Width, labelDims.Height),
                Location  = labelDims.topLeft,
                Visible   = true
            };
            panel.Controls.Add(lSpecialPermissions);

            // congress
            labelDims = layout.Congress;
            lCongress = new Label()
            {
                Name      = $"lCongress",
                Text      = "0",
                Font      = new Font("Arial", 12, FontStyle.Bold),
                BackColor = Color.Transparent,
                Size      = new Size(labelDims.Width, labelDims.Height),
                Location  = labelDims.topLeft,
                Visible   = true
            };
            panel.Controls.Add(lCongress);

            // car
            labelDims = layout.Car;
            lCar      = new Label()
            {
                Name      = $"lCar",
                Text      = "0",
                Font      = new Font("Arial", 12, FontStyle.Bold),
                BackColor = Color.Transparent,
                Size      = new Size(labelDims.Width, labelDims.Height),
                Location  = labelDims.topLeft,
                Visible   = true
            };
            panel.Controls.Add(lCar);

            // zeppelin
            labelDims = layout.Zeppelin;
            lZeppelin = new Label()
            {
                Name      = $"lZeppelin",
                Text      = "0",
                Font      = new Font("Arial", 12, FontStyle.Bold),
                BackColor = Color.Transparent,
                Size      = new Size(labelDims.Width, labelDims.Height),
                Location  = labelDims.topLeft,
                Visible   = true
            };
            panel.Controls.Add(lZeppelin);



            UpdateInfo();
            this.Show();
        }
Example #27
0
 public static Sprite GetPlayerIcon(IPlayerData playerData)
 {
     return(MainData.CurrentGameData.GetRace(playerData.RaceName).Graphics.icon);
 }
Example #28
0
 public static Sprite GetTeleportIcon(IPlayerData playerData)
 {
     return(playerData.CurrentTeleportData.Graphics.icon);
 }
Example #29
0
 public static PlayerData?ContentData(this IPlayerData data)
 {
     return((PlayerData?)data.ContentDataUncast);
 }
Example #30
0
 public static void LoadPlayerDataFromPlayerPrefs()
 {
     data = new PlayerPrefsPlayerData();
     data.Load();
 }
Example #31
0
 public GameController(ISquareData squareData, IDataCookies dataCookies, IPlayerData playerData)
 {
     _squareData  = squareData;
     _dataCookies = dataCookies;
     _playerData  = playerData;
 }
Example #32
0
 public MeController(IDataCookies dataCookies, IPlayerData playerData, ILogger <MeController> logger)
 {
     _dataCookies = dataCookies;
     _playerData  = playerData;
     _logger      = logger;
 }