void Start() { GameObject managerObject = GameObject.FindGameObjectWithTag ("Manager"); manager = managerObject.GetComponent<Manager> (); playerMovement = GetComponent<PlayerMovement> (); playerView = GetComponent <PlayerView> (); }
void Start() { if (isLocalPlayer) { m_view = Instantiate(PlayerView).GetComponent<PlayerView>(); m_view.Init(this); } }
public MapWalkState() : base(GameStates.MapWalk) { _playerView = GameManager.Instance.PlayerView; _mapView = GameManager.Instance.MapView; _enemyController = GameObject.Find("EnemyController").GetComponent<EnemyController>(); }
public PlayfieldView(rect_d bounds) { Bounds = bounds; backgroundImageSequence = (ImageSequence)DataAssetCache.Instance.GetAsset(typeof(ImageSequence), "Map1Background"); backgroundImage = backgroundImageSequence.GetImageByIndex(0); ImageSequence menuButtonSequence = (ImageSequence)DataAssetCache.Instance.GetAsset(typeof(ImageSequence), "MenuButtonFromGame"); ButtonWidget menuButton = new ButtonWidget(400, 12, new ThreeImageButtonView(menuButtonSequence.GetImageByIndex(0), menuButtonSequence.GetImageByIndex(1), menuButtonSequence.GetImageByIndex(2))); AddChild(menuButton); menuButton.ButtonClick += new ButtonWidget.ButtonEventHandler(EscapeMenu); playerViews[0] = new PlayerView(new rect_d(400, 300, 800, 600)); playerViews[1] = new PlayerView(new rect_d(400, 0, 800, 300)); playerViews[2] = new PlayerView(new rect_d(0, 300, 400, 600)); playerViews[3] = new PlayerView(new rect_d(0, 0, 400, 300)); }
public void SetUp() { playerList = MockRepository.GenerateStub<IPlayerList>(); playerList.Stub(me => me.Players).Return(new List<IPlayer>()); stubTexture = MockRepository.GenerateStub<ITexture>(); _stubTextureBank = MockRepository.GenerateStub<ITextureBank<PlayerTexture>>(); _stubTextureBank.Stub(x => x[PlayerTexture.Ball]).Return(stubTexture); stubSpriteBatch = MockRepository.GenerateStub<ISpriteBatch>(); stubCamera = MockRepository.GenerateStub<ICamera>(); stubWeaponDrawer = MockRepository.GenerateStub<IWeaponDrawer>(); stubBubbleText = MockRepository.GenerateStub<IBubbleTextDrawer>(); player = MockRepository.GenerateStub<IPlayer>(); player.Status = PlayerStatus.Alive; player.Stub(me => me.PlayerSettings).Return(new NetworkPlayerSettings()); player.Stub(me => me.Weapons).Return(MockRepository.GenerateStub<IWeapons>()); playerList.Players.Add(player); playerView = new PlayerView(playerList, _stubTextureBank, stubSpriteBatch, stubCamera, stubWeaponDrawer, stubBubbleText); }
/*Animation * obj - Plaerwiev what we need to move * fields - All fields viewer; * steps - number of steps from Dice * speed - sped of Each movement * */ public void SeverallSteps(PlayerView obj, List <GameFieldViewer> fields, int steps, float speed = 0.1f) { StartCoroutine(PlayStepAnimation(obj, fields, steps, speed)); }
void Awake() { hpDisplay = FindObjectOfType <PlayerView>(); gameController = FindObjectOfType <GameController>(); }
private void OnInstaller(PlayerView playerView, LevelManager levelManager, LevelGenerator levelGenerator, CarBase carBase) { _playerView = playerView; _levelGenerator = levelGenerator; _carBase = carBase; }
private void Awake() { _view = GetComponent <PlayerView>(); }
void Awake() { instance = this; }
private IEnumerator Test_Select() { PlayerView player = Instantiate(playerPrefab).GetComponent <PlayerView>(); player.Model = new PlayerModel(new PlayerData() { Name = "TestPlayer" }); List <CharacterView> characterCollection = new List <CharacterView>(); CharacterClass characterClass = new CharacterClass() { Name = "TestCharacterClass", HealthPoints = 10, CharacterSprite = "Character_Example_8" }; for (int i = 0; i < 3; i++) { CharacterView character = Instantiate(characterPrefab).GetComponent <CharacterView>(); character.Model = new CharacterModel(new CharacterData() { Position = new Data.Vector2(i, 0) }, characterClass, player.Model, true); characterCollection.Add(character); } player.GetCharacterCollection = () => characterCollection; yield return(new WaitForSeconds(1)); player.Selection = characterCollection.First(); yield return(new WaitForSeconds(3)); player.Selection = null; yield return(new WaitForSeconds(1)); player.SelectNext(); yield return(new WaitForSeconds(1)); player.SelectNext(); yield return(new WaitForSeconds(1)); player.SelectNext(); yield return(new WaitForSeconds(1)); player.SelectNext(); yield return(new WaitForSeconds(1)); player.SelectNext(); yield return(new WaitForSeconds(1)); player.Selection = null; yield return(new WaitForSeconds(1)); player.SelectPrevious(); yield return(new WaitForSeconds(1)); player.SelectPrevious(); yield return(new WaitForSeconds(1)); player.SelectPrevious(); yield return(new WaitForSeconds(1)); player.SelectPrevious(); yield return(new WaitForSeconds(1)); player.SelectPrevious(); yield return(new WaitForSeconds(1)); player.Selection = null; yield return(new WaitForSeconds(1)); foreach (CharacterView character in characterCollection) { Destroy(character.gameObject); } Destroy(player.gameObject); }
public Action GetAction(PlayerView playerView, DebugInterface debugInterface) { Action result = new Action(new System.Collections.Generic.Dictionary <int, Model.EntityAction>()); int myId = playerView.MyId; foreach (var entity in playerView.Entities) { if (entity.PlayerId != myId) { continue; } EntityProperties properties = playerView.EntityProperties[entity.EntityType]; MoveAction? moveAction = null; BuildAction? buildAction = null; if (properties.CanMove) { moveAction = new MoveAction( new Vec2Int(playerView.MapSize - 1, playerView.MapSize - 1), true, true ); } else if (properties.Build != null) { EntityType entityType = properties.Build.Value.Options[0]; int currentUnits = 0; foreach (var otherEntity in playerView.Entities) { if (otherEntity.PlayerId != null && otherEntity.PlayerId == myId && otherEntity.EntityType == entityType) { currentUnits++; } } if ((currentUnits + 1) * playerView.EntityProperties[entityType].PopulationUse <= properties.PopulationProvide) { buildAction = new BuildAction( entityType, new Vec2Int(entity.Position.X + properties.Size, entity.Position.Y + properties.Size - 1) ); } } EntityType[] validAutoAttackTargets; if (entity.EntityType == EntityType.BuilderUnit) { validAutoAttackTargets = new EntityType[] { EntityType.Resource }; } else { validAutoAttackTargets = new EntityType[0]; } result.EntityActions[entity.Id] = new EntityAction( moveAction, buildAction, new AttackAction( null, new AutoAttack(properties.SightRange, validAutoAttackTargets) ), null ); } return(result); }
public PlayerController(Player player, PlayerView playerView, PileController pileController) : base(player, playerView, pileController) { this.player = player; }
private void InvaderHitPlayer(InvaderBehaviour invader, PlayerView player) { _gameNotifications.PlayerDeath(); }
private void MissileHitPlayer(IMissileView arg1, PlayerView arg2) { _missileViewProvider.Return(arg1); _gameNotifications.PlayerDeath(); }
private void GetViewReferencesForAnyLoadedGameObjects() { cameraChaseView = trackGO.GetComponentInChildren <CameraChaseComponentView>(); playerView = playerGO.GetComponent <PlayerView>(); }
// // GET: /Player/ public ActionResult Index() { try { if (Session["UserAccountID"] == null) { return(RedirectToAction("Validate", "Login")); } User user = (User)Session["User"]; ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"])); if (user.IsAdmin) { ViewData["txtIsAdmin"] = "true"; } else { ViewData["txtIsAdmin"] = "false"; } // Initialize or get the page state using session PlayerPageState pagestate = GetPageState(); // Get the account id int accountid = 0; if (Session["UserAccountID"] != null) { accountid = Convert.ToInt32(Session["UserAccountID"]); } // Set and save the page state to the submitted form values if any values are passed if (Request.Form["lstAscDesc"] != null) { pagestate.AccountID = accountid; pagestate.PlayerGroupID = Convert.ToInt32(Request.Form["lstPlayerGroup"].ToString().Trim()); pagestate.PlayerName = Request.Form["txtPlayerName"].ToString().Trim(); if (Request.Form["chkIncludeInactive"].ToLower().StartsWith("true")) { pagestate.IncludeInactive = true; } else { pagestate.IncludeInactive = false; } pagestate.SortBy = Request.Form["lstSortBy"].ToString().Trim(); pagestate.AscDesc = Request.Form["lstAscDesc"].ToString().Trim(); pagestate.PageNumber = Convert.ToInt32(Request.Form["txtPageNumber"].ToString().Trim()); SavePageState(pagestate); } // Add the session values to the view data so they can be populated in the form ViewData["AccountID"] = pagestate.AccountID; ViewData["PlayerGroupID"] = pagestate.PlayerGroupID; ViewData["PlayerName"] = pagestate.PlayerName; ViewData["IncludeInactive"] = pagestate.IncludeInactive; ViewData["SortBy"] = pagestate.SortBy; ViewData["PlayerGroupList"] = new SelectList(BuildPlayerGroupList(true), "Value", "Text", pagestate.PlayerGroupID); ViewData["SortByList"] = new SelectList(BuildSortByList(), "Value", "Text", pagestate.SortBy); ViewData["AscDescList"] = new SelectList(BuildAscDescList(), "Value", "Text", pagestate.AscDesc); // Determine asc/desc bool isdescending = false; if (pagestate.AscDesc.ToLower().StartsWith("d")) { isdescending = true; } // Get a Count of all filtered records int recordcount = repository.GetPlayerRecordCount(pagestate.AccountID, pagestate.PlayerGroupID, pagestate.PlayerName, pagestate.IncludeInactive); // Determine the page count int pagecount = 1; if (recordcount > 0) { pagecount = recordcount / Constants.PageSize; if (recordcount % Constants.PageSize != 0) // Add a page if there are more records { pagecount = pagecount + 1; } } // Make sure the current page is not greater than the page count if (pagestate.PageNumber > pagecount) { pagestate.PageNumber = pagecount; SavePageState(pagestate); } // Set the page number and account in viewdata ViewData["PageNumber"] = Convert.ToString(pagestate.PageNumber); ViewData["PageCount"] = Convert.ToString(pagecount); ViewData["RecordCount"] = Convert.ToString(recordcount); // We need to add the player group name IEnumerable <Player> players = repository.GetPlayerPage(pagestate.AccountID, pagestate.PlayerGroupID, pagestate.PlayerName, pagestate.IncludeInactive, pagestate.SortBy, isdescending, pagestate.PageNumber, pagecount); List <PlayerView> playerviews = new List <PlayerView>(); IPlayerGroupRepository pgrep = new EntityPlayerGroupRepository(); foreach (Player player in players) { PlayerView playerview = new PlayerView(); playerview.PlayerID = player.PlayerID; playerview.AccountID = player.AccountID; playerview.PlayerGroupID = player.PlayerGroupID; playerview.PlayerName = player.PlayerName; playerview.PlayerLocation = player.PlayerLocation; playerview.PlayerDescription = player.PlayerDescription; playerview.IsActive = player.IsActive; PlayerGroup pg = pgrep.GetPlayerGroup(player.PlayerGroupID); playerview.PlayerGroupName = pg.PlayerGroupName; playerviews.Add(playerview); } ViewResult result = View(playerviews); result.ViewName = "Index"; return(result); } catch (Exception ex) { Helpers.SetupApplicationError("Player", "Index", ex.Message); return(RedirectToAction("Index", "ApplicationError")); } }
void DisablePlayerView(ref PlayerView view) { view.name.transform.parent.gameObject.SetActive(false); }
private void SetPv(int Obj) { if (online) { pv = PhotonView.Find(Obj).GetComponent<PlayerView>(); } }
public void Initialize() { try { PlayerLitsener = new Player_Events(ActivityContext, controlView); if (ActivityName != "FullScreen") { simpleExoPlayerView = ActivityContext.FindViewById <PlayerView>(Resource.Id.player_view); simpleExoPlayerView.SetControllerVisibilityListener(PlayerLitsener); simpleExoPlayerView.RequestFocus(); //Player initialize controlView = simpleExoPlayerView.FindViewById <PlaybackControlView>(Resource.Id.exo_controller); PlayerLitsener = new Player_Events(ActivityContext, controlView); Exo_topLayout = controlView.FindViewById <LinearLayout>(Resource.Id.topLayout); Exo_back_button = controlView.FindViewById <ImageView>(Resource.Id.backIcon); Download_icon = controlView.FindViewById <ImageView>(Resource.Id.Download_icon); mFullScreenIcon = controlView.FindViewById <ImageView>(Resource.Id.exo_fullscreen_icon); mFullScreenButton = controlView.FindViewById <FrameLayout>(Resource.Id.exo_fullscreen_button); ShareIcon = controlView.FindViewById <ImageView>(Resource.Id.share_icon); Menue_button = controlView.FindViewById <FrameLayout>(Resource.Id.exo_menue_button); videoPlayButton = controlView.FindViewById <ImageButton>(Resource.Id.exo_play); videoResumeButton = controlView.FindViewById <ImageButton>(Resource.Id.exo_pause); MainvideoFrameLayout = ActivityContext.FindViewById <FrameLayout>(Resource.Id.root); MainvideoFrameLayout.SetOnClickListener(this); Loadingprogress_bar = ActivityContext.FindViewById <ProgressBar>(Resource.Id.progress_bar); QualityiconView = ActivityContext.FindViewById <TextView>(Resource.Id.Qualityicon); ViewsiconView = ActivityContext.FindViewById <TextView>(Resource.Id.Viewsicon); ShareiconView = ActivityContext.FindViewById <TextView>(Resource.Id.Shareicon); MoreiconView = ActivityContext.FindViewById <TextView>(Resource.Id.Moreicon); ShowMoreDiscriptioniconView = ActivityContext.FindViewById <TextView>(Resource.Id.video_ShowDiscription); videoDescriptionLayout = ActivityContext.FindViewById <LinearLayout>(Resource.Id.videoDescriptionLayout); Share_Button = ActivityContext.FindViewById <LinearLayout>(Resource.Id.ShareButton); Share_Button.Click += ShareIcon_Click; More_Button = ActivityContext.FindViewById <LinearLayout>(Resource.Id.moreButton); More_Button.Click += MoreButton_OnClick; Video_Titile = ActivityContext.FindViewById <TextView>(Resource.Id.video_Titile); Video_QualityTextView = ActivityContext.FindViewById <TextView>(Resource.Id.QualityTextView); Video_ViewsNumber = ActivityContext.FindViewById <TextView>(Resource.Id.ViewsNumber); Video_videoDate = ActivityContext.FindViewById <TextView>(Resource.Id.videoDate); Video_videoDescription = ActivityContext.FindViewById <AutoLinkTextView>(Resource.Id.videoDescriptionTextview); Video_videoCategory = ActivityContext.FindViewById <TextView>(Resource.Id.videoCategorytextview); Video_Stars = ActivityContext.FindViewById <TextView>(Resource.Id.videoStarstextview); Video_Tag = ActivityContext.FindViewById <TextView>(Resource.Id.videoTagtextview); TextSanitizerAutoLink = new TextSanitizer(Video_videoDescription, ActivityContext); IMethods.Set_TextViewIcon("1", QualityiconView, IonIcons_Fonts.RibbonA); IMethods.Set_TextViewIcon("1", ViewsiconView, IonIcons_Fonts.Eye); IMethods.Set_TextViewIcon("1", ShareiconView, IonIcons_Fonts.ReplyAll); IMethods.Set_TextViewIcon("1", MoreiconView, IonIcons_Fonts.PlusCircled); IMethods.Set_TextViewIcon("1", ShowMoreDiscriptioniconView, IonIcons_Fonts.ArrowDownB); ShowMoreDiscriptioniconView.Visibility = ViewStates.Gone; videoDescriptionLayout.Visibility = ViewStates.Visible; if (!mFullScreenButton.HasOnClickListeners) { mFullScreenButton.SetOnClickListener(this); } if (!Exo_back_button.HasOnClickListeners) { Exo_back_button.Click += BackIcon_Click; Download_icon.Click += Download_icon_Click; ShareIcon.Click += ShareIcon_Click; //Menue_button.Click += Menue_button_Click; Menue_button.Visibility = ViewStates.Gone; } } else { FullscreenplayerView = ActivityContext.FindViewById <PlayerView>(Resource.Id.player_view2); controlView = FullscreenplayerView.FindViewById <PlaybackControlView>(Resource.Id.exo_controller); PlayerLitsener = new Player_Events(ActivityContext, controlView); Exo_topLayout = controlView.FindViewById <LinearLayout>(Resource.Id.topLayout); Exo_back_button = controlView.FindViewById <ImageView>(Resource.Id.backIcon); Download_icon = controlView.FindViewById <ImageView>(Resource.Id.Download_icon); mFullScreenIcon = controlView.FindViewById <ImageView>(Resource.Id.exo_fullscreen_icon); mFullScreenButton = controlView.FindViewById <FrameLayout>(Resource.Id.exo_fullscreen_button); ShareIcon = controlView.FindViewById <ImageView>(Resource.Id.share_icon); Menue_button = controlView.FindViewById <FrameLayout>(Resource.Id.exo_menue_button); videoPlayButton = controlView.FindViewById <ImageButton>(Resource.Id.exo_play); videoResumeButton = controlView.FindViewById <ImageButton>(Resource.Id.exo_pause); if (!mFullScreenButton.HasOnClickListeners) { mFullScreenButton.SetOnClickListener(this); } if (!Exo_back_button.HasOnClickListeners) { Exo_back_button.Click += BackIcon_Click; Download_icon.Click += Download_icon_Click; ShareIcon.Click += ShareIcon_Click; //Menue_button.Click += Menue_button_Click; Menue_button.Visibility = ViewStates.Gone; } } } catch (Exception exception) { Crashes.TrackError(exception); } }
public bool[] sides = { false, false, true, true }; //It's relative to Side // True means it's stick out void Start() { _view = GetComponent <PlayerView>(); }
public override void OnActivatePowerUp(PlayerView player) { Debug.Log("aaaaa"); base.OnActivatePowerUp(player); }
protected abstract void OnTileVariantExit(PlayerView playerView);
/** * @param queuePositionListener A {@link QueuePositionListener} for queue position changes. * @param localPlayerView The {@link PlayerView} for local playback. * @param castControlView The {@link PlayerControlView} to control remote playback. * @param context A {@link Context}. * @param castContext The {@link CastContext}. */ public static PlayerManager CreatePlayerManager(IQueuePositionListener queuePositionListener, PlayerView localPlayerView, PlayerControlView castControlView, Context context, CastContext castContext) { PlayerManager playerManager = new PlayerManager(queuePositionListener, localPlayerView, castControlView, context, castContext); playerManager.Init(); return(playerManager); }
public void OnTileExit(PlayerView playerView) { OnTileVariantExit(playerView); }
protected override void onStart() { base.onStart(); moveController = GetComponent <MoveController> (); viewControl = GetComponent <PlayerView> (); }
public void DebugUpdate(PlayerView playerView, DebugInterface debugInterface) { debugInterface.Send(new DebugCommand.Clear()); debugInterface.GetState(); }
public void UsesCameraCorrectly() { ICamera camera = new Camera(player, new Vector2(100, 100)); playerView = new PlayerView(playerList, _stubTextureBank, stubSpriteBatch, camera, stubWeaponDrawer, stubBubbleText); playerView.Generate(1f); stubSpriteBatch.AssertWasCalled(x => x.Begin(Arg<Matrix>.Is.Equal(camera.TranslationMatrix))); }
public Action GetAction(PlayerView playerView, DebugInterface debugInterface) { return(new Action(new System.Collections.Generic.Dictionary <int, Model.EntityAction>(0))); }
public ShootEventArgs(PlayerView player, ProjectileView projectile) { Player = player; Projectile = projectile; }
public override void UpdatePlayerView(PlayerView view) { throw new NotImplementedException(); }
// Start is called before the first frame update void Start() { PlayerView = player.GetComponent <PlayerView>(); StairInstantiate = Instant.GetComponent <StairInstantiate>(); Objects = Stair.GetComponent <Objects>(); }
public void init() { _playerView = gameObject.AddComponent<PlayerView>(); _playerView.init(); }
void Awake() { playerInput = GetComponent <PlayerInput>(); playerMotor = GetComponent <PlayerMotor>(); playerView = GetComponent <PlayerView>(); }
/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. The Parameter /// property is typically used to configure the page.</param> protected override void OnNavigatedTo(NavigationEventArgs e) { _view = e.Parameter as PlayerView; _view.setPageRef(this); setGameArea(_view.CardsOnTable.Count +1); //setCurrentPlayersSettings(); gridPlayer1.DataContext = _view.CurrentPlayer; player1name.Text = _view.CurrentPlayer.Name; setHandDisplay(); //////////////////////////////////////////////////////////////////////////////////7 gwPl1Hand.CanDragItems = true; gwPl1Hand.CanReorderItems = true; gwPl1Hand.IsHitTestVisible = true; gwPl1Hand.AllowDrop = true; /////////////////////////////////////////////////////////////////////////////////// if (_view.MoveIndex == _view.CurrentPlayer.Id) rect1Action.Visibility = Windows.UI.Xaml.Visibility.Visible; else rect1Action.Visibility = Windows.UI.Xaml.Visibility.Collapsed; //display trump addImageToCard(_view.Trump); vbxTrump.DataContext = _view.Trump; imgTrump.Source = _view.Trump.Image.Source; if (_view.OtherPlayers.Count >= 1) { gridPlayer2.DataContext = _view.OtherPlayers.ElementAt(0); player2_name.Text = _view.OtherPlayers.ElementAt(0).Name; if (_view.MoveIndex == _view.OtherPlayers.ElementAt(0).Id || _view.HitIndex == _view.OtherPlayers.ElementAt(0).Id) rect2Action.Visibility = Windows.UI.Xaml.Visibility.Visible; else rect2Action.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } else { gridPlayer6.Visibility = Windows.UI.Xaml.Visibility.Collapsed; gridPlayer5.Visibility = Windows.UI.Xaml.Visibility.Collapsed; gridPlayer4.Visibility = Windows.UI.Xaml.Visibility.Collapsed; gridPlayer3.Visibility = Windows.UI.Xaml.Visibility.Collapsed; gridPlayer2.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } if (_view.OtherPlayers.Count >= 2) { gridPlayer3.DataContext = _view.OtherPlayers.ElementAt(1); player3_name.Text = _view.OtherPlayers.ElementAt(1).Name; if (_view.MoveIndex == _view.OtherPlayers.ElementAt(1).Id || _view.HitIndex == _view.OtherPlayers.ElementAt(1).Id) rect3Action.Visibility = Windows.UI.Xaml.Visibility.Visible; else rect3Action.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } else { gridPlayer6.Visibility = Windows.UI.Xaml.Visibility.Collapsed; gridPlayer5.Visibility = Windows.UI.Xaml.Visibility.Collapsed; gridPlayer4.Visibility = Windows.UI.Xaml.Visibility.Collapsed; gridPlayer3.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } if (_view.OtherPlayers.Count >= 3) { gridPlayer4.DataContext = _view.OtherPlayers.ElementAt(2); player4name.Text = _view.OtherPlayers.ElementAt(2).Name; if (_view.MoveIndex == _view.OtherPlayers.ElementAt(2).Id || _view.HitIndex == _view.OtherPlayers.ElementAt(2).Id) rect4Action.Visibility = Windows.UI.Xaml.Visibility.Visible; else rect4Action.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } else { gridPlayer6.Visibility = Windows.UI.Xaml.Visibility.Collapsed; gridPlayer5.Visibility = Windows.UI.Xaml.Visibility.Collapsed; gridPlayer4.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } if (_view.OtherPlayers.Count >= 4) { gridPlayer5.DataContext = _view.OtherPlayers.ElementAt(3); player5name.Text = _view.OtherPlayers.ElementAt(3).Name; if (_view.MoveIndex == _view.OtherPlayers.ElementAt(3).Id || _view.HitIndex == _view.OtherPlayers.ElementAt(3).Id) rect5Action.Visibility = Windows.UI.Xaml.Visibility.Visible; else rect5Action.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } else { gridPlayer6.Visibility = Windows.UI.Xaml.Visibility.Collapsed; gridPlayer5.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } if (_view.OtherPlayers.Count >= 5) { gridPlayer6.DataContext = _view.OtherPlayers.ElementAt(4); player6name.Text = _view.OtherPlayers.ElementAt(4).Name; if (_view.MoveIndex == _view.OtherPlayers.ElementAt(4).Id || _view.HitIndex == _view.OtherPlayers.ElementAt(4).Id) rect6Action.Visibility = Windows.UI.Xaml.Visibility.Visible; else rect6Action.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } else { gridPlayer6.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } }
public void AddPlayerView(int id, string name) { var v = playerViews[id] = new PlayerView(); v.id = id; v.PlayerName = name; }
public void OnPlayerConstruct(Evt evt) { player = (PlayerView)evt.Source; }
private IEnumerator GenerateAndPlayBotMove(int num_cards_to_pick) { PlayerView player_view = m_table_view.Players_views [m_curr_player]; player_view.Timer.fillAmount = 1; player_view.ShowHideTimer(true); if (ManagerView.Instance.Show_bot_debug) { player_view.Bot.HighlightAllKnownCards(true); } // Wait time: // For bid: Normal distribution with mean of 4 and the stddev of 1 // For turn: Triangular distribution between 0 and 3 with most frequent value of 0.5 float actual_wait_time = 0; actual_wait_time = Random.Range(0.5f, TURN_TIME / 2); bool time_expired = false; float f_start_time = Time.realtimeSinceStartup; while ((Time.realtimeSinceStartup < f_start_time + TURN_TIME) && (time_expired == false)) { float temp = (Time.realtimeSinceStartup - f_start_time) / TURN_TIME; player_view.Timer.fillAmount = 1 - temp; if (Time.realtimeSinceStartup - f_start_time > actual_wait_time) { time_expired = true; } yield return(new WaitForSeconds(0.1f)); } player_view.ShowHideTimer(false); List <Card> picked_cards_indexes = new List <Card> (); int already_picked_cards = 0; int counter = 0; bool error = false; while (already_picked_cards < num_cards_to_pick && !error) { counter++; if (counter > 500) { Debug.Log("ERROR IN GenerateAndPlayBotMove"); error = true; } Card curr_pick = player_view.Bot.PickCards(num_cards_to_pick, already_picked_cards); int curr_pick_value = curr_pick.Image_index; curr_pick.Open = true; yield return(new WaitForSecondsRealtime(CARDS_PICK_DELAY_TIME)); if (curr_pick_value == SHOW_ALL) { Debug.Log("BOT PICKED SHOW ALL"); StartCoroutine(ShowAllCards(picked_cards_indexes, curr_pick)); yield return(new WaitForSecondsRealtime(2.5f)); } else if (curr_pick_value == POINTS) { curr_pick.Matched = true; AddDataToAllBots(curr_pick); yield return(new WaitForSecondsRealtime(0.25f)); GameController.Instance.ScoreSpecialCurrentMove(GameController.SHOW_ALL); } else if (curr_pick_value == SHUFFLE) { for (int i = 0; i < picked_cards_indexes.Count; i++) { if (picked_cards_indexes [i].Image_index != GameController.SHUFFLE) { picked_cards_indexes [i].Open = false; } } picked_cards_indexes.Clear(); already_picked_cards = 0; StartCoroutine(Shuffle(picked_cards_indexes, curr_pick)); yield return(new WaitForSecondsRealtime(1.25f)); } else { picked_cards_indexes.Add(curr_pick); already_picked_cards++; } } yield return(new WaitForSecondsRealtime(SEE_CARDS_TIME)); ScoreCurrentMove(CheckCurrentSelectionMatch(picked_cards_indexes)); player_view.Bot.HighlightAllKnownCards(false); PlayNextTurn(); }
public Action GetAction(PlayerView playerView, DebugInterface debugInterface) { if (Params.IsDebug) { debugInterface.Send(new DebugCommand.SetAutoFlush(true)); } if (playerView.CurrentTick == 10 && playerView.Players.Length == 2) { Params.RangedBaseBuildingLimit = 35; Params.MaxBuilderUnitsCount += 30; Params.MaxRangedUnitsCount += 20; Params.MaxHouseCount += 10; } var entityActions = new Dictionary <int, EntityAction>(); ScoreMap.InitMap(playerView); DrawScoreMap(debugInterface); IsDanger = DangerCheck(); // repairing Entity? builder = null; Vec2Int?moveTarget = null; int minDistance = int.MaxValue; foreach (Entity entity in playerView.Entities) { if (entity.PlayerId != ScoreMap.MyId || entity.EntityType != EntityType.BuilderUnit) { continue; } BuilderUnitActions.SetRepair(playerView, entity, entityActions); if (!ScoreMap.AnyRepairScoreMoreThanOne || entityActions.ContainsKey(entity.Id)) { continue; } var approxTarget = BuilderUnitActions.GetApproxTarget(entity, entityActions); var bestTarget = ASearchMove(entity, approxTarget, out var cameFrom, out var costSoFar); var cell = ScoreMap.Get(bestTarget); if (cell.RepairScore > 1 && costSoFar[bestTarget] < minDistance) { builder = entity; moveTarget = GetMoveTarget(builder.Value.Position, bestTarget, cameFrom, Blue, debugInterface); minDistance = costSoFar[bestTarget]; } } if (builder != null && moveTarget != null) { ScoreMap.Set(builder.Value.Position, null); ScoreMap.Set(moveTarget.Value, builder.Value); var moveAction = new MoveAction(moveTarget.Value, false, false); entityActions.Add(builder.Value.Id, new EntityAction(moveAction, null, null, null)); } // building turret if ((playerView.Players.Length > 2 || playerView.CurrentTick >= 300) && ScoreMap.MyActiveRangedBases.Count > 0 && (ScoreMap.Limit >= Params.TurretBuildingLimit || playerView.CurrentTick >= 300) && ScoreMap.MyResource >= ScoreMap.TurretProperties.InitialCost && ScoreMap.MyNotActiveTurrets.Count <= 1) { BuilderUnitActions.SetBuild(EntityType.Turret, ScoreMap.TurretProperties.Size, entityActions, debugInterface); ScoreMap.MyResource -= ScoreMap.TurretProperties.InitialCost; } // building ranged base if (ScoreMap.MyActiveRangedBases.Count == 0 && ScoreMap.MyResource >= ScoreMap.RangedBaseProperties.InitialCost && ScoreMap.MyNotActiveRangedBases.Count == 0) { BuilderUnitActions.SetBuild(EntityType.RangedBase, ScoreMap.RangedBaseProperties.Size, entityActions, debugInterface); ScoreMap.MyResource -= ScoreMap.RangedBaseProperties.InitialCost; } // building house if (((ScoreMap.MyActiveRangedBases.Count == 0 && ScoreMap.Limit >= Params.RangedBaseBuildingLimit && ScoreMap.MyResource >= ScoreMap.RangedBaseProperties.InitialCost + ScoreMap.HouseProperties.InitialCost) || ((ScoreMap.MyActiveRangedBases.Count > 0 || ScoreMap.MyNotActiveRangedBases.Count > 0 || ScoreMap.Limit < Params.RangedBaseBuildingLimit) && ScoreMap.MyResource >= ScoreMap.HouseProperties.InitialCost) ) && ScoreMap.Limit + 10 >= ScoreMap.AvailableLimit && ScoreMap.MyNotActiveHouses.Count <= 1 && ScoreMap.MyNotActiveHouses.Count + ScoreMap.MyActiveHouses.Count < Params.MaxHouseCount) { BuilderUnitActions.SetBuild(EntityType.House, ScoreMap.HouseProperties.Size, entityActions, debugInterface); ScoreMap.MyResource -= ScoreMap.HouseProperties.InitialCost; } foreach (Entity entity in playerView.Entities) { if (entity.PlayerId != ScoreMap.MyId) { continue; } switch (entity.EntityType) { case EntityType.BuilderUnit: { BuilderUnitActions.SetAttack(entity, entityActions); var approxTarget = BuilderUnitActions.GetApproxTarget(entity, entityActions); SetMoveAction(entity, approxTarget, entityActions, debugInterface); continue; } case EntityType.MeleeUnit: { CombatUnitAction.SetAttack(entity, 1, 1, entityActions); var approxTarget = CombatUnitAction.GetAttackTarget(entity, entityActions); SetMoveAction(entity, approxTarget, entityActions, debugInterface); continue; } case EntityType.RangedUnit: { CombatUnitAction.SetAttack(entity, 5, 1, entityActions); var approxTarget = CombatUnitAction.GetAttackTarget(entity, entityActions); SetMoveAction(entity, approxTarget, entityActions, debugInterface); continue; } case EntityType.Turret: { if (!entity.Active) { continue; } CombatUnitAction.SetAttack(entity, 5, 2, entityActions); continue; } case EntityType.BuilderBase: { int unitCost = ScoreMap.BuilderUnitProperties.InitialCost + ScoreMap.MyBuilderUnits.Count; if ((IsDanger && ScoreMap.MyResource >= unitCost * 2 || !IsDanger && ScoreMap.MyResource >= unitCost) && ScoreMap.MyBuilderUnits.Count < ScoreMap.BuilderUnitTargets.Count && ScoreMap.MyBuilderUnits.Count < Params.MaxBuilderUnitsCount) { var approxTarget = BuilderUnitActions.GetApproxTarget(entity, entityActions); SetBuildUnitAction(entity, approxTarget, EntityType.BuilderUnit, unitCost, entityActions); } if (!entityActions.ContainsKey(entity.Id)) { entityActions.Add(entity.Id, new EntityAction(null, null, null, null)); } continue; } case EntityType.MeleeBase: { int unitCost = ScoreMap.MeleeUnitProperties.InitialCost + ScoreMap.MyMeleeUnits.Count; if ((IsDanger && ScoreMap.MyResource >= unitCost || !IsDanger && ScoreMap.MyResource >= unitCost * 2) && ScoreMap.MyRangedUnits.Count * 2 >= Params.MaxRangedUnitsCount && ScoreMap.MyMeleeUnits.Count < Params.MaxMeleeUnitsCount) { var approxTarget = CombatUnitAction.GetAttackTarget(entity, entityActions); SetBuildUnitAction(entity, approxTarget, EntityType.MeleeUnit, unitCost, entityActions); } if (!entityActions.ContainsKey(entity.Id)) { entityActions.Add(entity.Id, new EntityAction(null, null, null, null)); } continue; } case EntityType.RangedBase: { if (!entity.Active) { continue; } int unitCost = ScoreMap.RangedUnitProperties.InitialCost + ScoreMap.MyRangedUnits.Count; if ((IsDanger && ScoreMap.MyResource >= unitCost || !IsDanger && ScoreMap.MyResource >= unitCost * 3) && ScoreMap.MyRangedUnits.Count < Params.MaxRangedUnitsCount) { var approxTarget = CombatUnitAction.GetAttackTarget(entity, entityActions); SetBuildUnitAction(entity, approxTarget, EntityType.RangedUnit, unitCost, entityActions); } if (!entityActions.ContainsKey(entity.Id)) { entityActions.Add(entity.Id, new EntityAction(null, null, null, null)); } continue; } } } return(new Action(entityActions)); }
public void AddPlayerView(int id, string _name) { print("AddPlayerView" + id + " " + _name); var v = playerViews[id] = new PlayerView(); v.id = id; v.PlayerName = _name; }
public void Scan(PlayerView view) { Me = view.Players.Single(p => p.Id == view.MyId); EnemyPlayers = view.Players.Where(p => p.Id != view.MyId).ToList(); SpiceMilange = view.Entities.Where(e => e.EntityType == EntityType.Resource).ToList(); BusySpiceMilange = new List <Entity>(); EnemyEntities = view.Entities.Where(e => e.PlayerId != view.MyId && e.EntityType != EntityType.Resource).ToList(); MyEntities = view.Entities.Where(e => e.PlayerId == view.MyId).ToList(); MyBuildingsBroken = MyBuildings.Where(b => b.Health < view.EntityProperties.Single(ep => ep.Key == b.EntityType).Value.MaxHealth).ToList(); MyUnitsBroken = MyUnits.Where(b => b.Health < view.EntityProperties.Single(ep => ep.Key == b.EntityType).Value.MaxHealth).ToList(); // MyUnitsBusyWorkers = new List<Entity>(); // todo delete -1 in another round HouseBuildingCost = view.EntityProperties.Single(ep => ep.Key == EntityType.House).Value.InitialCost + MyBuildingsHouses.Count(); WorkersBuildingCost = view.EntityProperties.Single(ep => ep.Key == EntityType.BuilderBase).Value.InitialCost + MyBuildingsWorkers.Count() - 1; RangedBuildingCost = view.EntityProperties.Single(ep => ep.Key == EntityType.RangedBase).Value.InitialCost + MyBuildingsRanged.Count() - 1; MeleeBuildingCost = view.EntityProperties.Single(ep => ep.Key == EntityType.MeleeBase).Value.InitialCost + MyBuildingsMelees.Count() - 1; WallBuildingCost = view.EntityProperties.Single(ep => ep.Key == EntityType.Wall).Value.InitialCost + MyBuildingsWalls.Count(); WorkerUnitCost = view.EntityProperties.Single(ep => ep.Key == EntityType.BuilderUnit).Value.InitialCost + MyUnitsWorkers.Count() - 1; RangedUnitCost = view.EntityProperties.Single(ep => ep.Key == EntityType.RangedUnit).Value.InitialCost + MyUnitsRanged.Count() - 1; MeleeUnitCost = view.EntityProperties.Single(ep => ep.Key == EntityType.MeleeUnit).Value.InitialCost + MyUnitsMelees.Count() - 1; TurretUnitCost = view.EntityProperties.Single(ep => ep.Key == EntityType.Turret).Value.InitialCost + MyUnitsTurrets.Count() - 1; // SquareOfMyInterests = new Vec2Int(MyEntities.Max(e => e.Position.X) + 1, // MyEntities.Max(e => e.Position.Y) + 1); SquareOfMyInterests = new Vec2Int(35, 35); PopulationProvide = 0; PopulationUse = 0; foreach (var entity in MyEntities) { PopulationProvide += view.EntityProperties.Single(ep => ep.Key == entity.EntityType).Value.PopulationProvide; PopulationUse += view.EntityProperties.Single(ep => ep.Key == entity.EntityType).Value.PopulationUse; } NotFreePoints = new List <Vec2Int>(); foreach (var entity in view.Entities) { var size = view.EntityProperties.Single(ep => ep.Key == entity.EntityType).Value.Size; if (MyBuildings.Contains(entity)) { for (var x = 0; x < size + 2; x++) { for (var y = 0; y < size + 2; y++) { var _x = entity.Position.X + x - 1; var _y = entity.Position.Y + y - 1; NotFreePoints.CheckPointInsideAndSave(_x, _y); } } } else { for (var x = 0; x < size; x++) { for (var y = 0; y < size; y++) { NotFreePoints.Add(new Vec2Int(entity.Position.X + x, entity.Position.Y + y)); } } } } ChooseBehavior(); }