private void MoveSnake(PlayerElement playerElement) //передвижение змейки { var pos = new Obj(); pos.x = GetElementByType(ElementType.Snake).SpawnedObjects[0].x + (int)playerElement.speed.x; pos.y = GetElementByType(ElementType.Snake).SpawnedObjects[0].y + (int)playerElement.speed.y; Debug.Log(playerElement.speed.x + " " + playerElement.speed.y); pos.SpawnedObject = (GameObject) Network.Instantiate(GetElementByType(ElementType.Snake).Prefab, new Vector2(pos.x, pos.y), Quaternion.identity, 0); GetElementByType(ElementType.Snake).SpawnedObjects.Insert(0, pos); if (pos.x == MinX || pos.x == MaxX || pos.y == MinY || pos.y == MaxY) { playerElement.speed = new Vector2(0, 0); } if (NoFoodInSnake() == false) { Network.Destroy( GetElementByType(ElementType.Snake).SpawnedObjects[ GetElementByType(ElementType.Snake).SpawnedObjects.Count - 1].SpawnedObject); GetElementByType(ElementType.Snake) .SpawnedObjects.RemoveAt(GetElementByType(ElementType.Snake).SpawnedObjects.Count - 1); } }
private void GenerateGameScene() { string text = File.ReadAllText("FlappyMap.txt"); string[] mapText = text.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < mapText.Length; i++) { for (int j = 0; j < mapText[i].Length; j++) { GameElement element; if (mapText[i][j] == 'w') { this.player = new PlayerElement(); element = this.player; } else if (mapText[i][j] == '@') { element = new ObstacleElement(); } else { element = new EmptySpaceElement(); } element.Row = i; element.Column = j; gameElements.Add(element); } } }
private void OnAction(PlayerElement player) { if (Vector3.Distance(player.transform.position, grail.transform.position) <= 1f) { Change <EndState>() .Setup(player, players); } }
/// <summary> /// Generate a new random Hero with /// the Element. /// </summary> /// <param name="element"></param> /// <returns></returns> public static Hero GenerateHero(PlayerElement element) { Hero myHero = new Hero(); int Range1 = Convert.ToInt32( myHero.MyRes.GetString(element.ToString() + RangeStringInRes + 1)); int Range2 = Convert.ToInt32( myHero.MyRes.GetString(element.ToString() + RangeStringInRes + 2)); Random ran = new Random(); int nowInt = ran.Next(Range1, Range2 == Range1 ? Range2 : (Range2 + 1)); myHero.SetHeroFromBlank(nowInt.ToString()); return(myHero); // not completed yet. }
private void AddPlayer() { int i = players.Count; PlayerElement element = Instantiate(playerPrefab, playersParent); element.Init(i); element.transform.SetSiblingIndex(i); players.Add(element); if (players.Count >= minPlayersCount) { UpdateFirst(); } }
public bool PlayContent(string path) { if (!IsVisible) { Show(); } try { PlayerElement.Source = new System.Uri(path); PlayerElement.Play(); ElementState = PlayerState.Playing; } catch (Exception e) { Debug.Print(e.Message); return(false); } return(true); }
public override void Start() { generator = GameObject.FindObjectOfType <GrailMapGenerator>(); Context.Get <ColorPaletteSystem>().UpdateFog(fogDistance); if (players.Count == 0) { viewportRects.ForEach(r => { PlayerElement player = Instantiate(playerPrefab); player.SetViewPortRect(r); player.action += OnAction; players.Add(player); }); } players.ForEach(p => { p.gameObject.SetActive(true); p.transform.SetPositionAndRotation(generator.GetRandomPosition(), Quaternion.identity); }); }
public async Task <IHttpActionResult> PutPlayerElement(int id, PlayerElement playerElement) { Scoreboard scoreboard = await db.Scoreboards.FirstOrDefaultAsync(i => i.ScoreboardID == id); scoreboard.PlayerElements.Add(playerElement); try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ScoreboardExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
/// <summary> /// Use it Just once, and in the Element Selection with the Tohsaka's /// Dialog. /// </summary> /// <param name="playerElement"></param> public void SetPlayerElement(PlayerElement playerElement) { ThePlayerElement = playerElement; }
void NetworkRoomUpdate(string pData) { var lPlayerList = (Hashtable[])zzSerializeString.Singleton.unpackToData(pData); var lPlayerSpaceCount = gamePlayers.playerSpaceCount; for (int i = 0; i < lPlayerSpaceCount; ++i) { var lPlayerID = i + 1; var lLastInfo = gamePlayers.getPlayerInfo(lPlayerID); var lPlayerData = lPlayerList[i]; if (lPlayerData.Count == 0) { if (lLastInfo) { playerLeaveMessage(lPlayerID, lLastInfo); gamePlayers.setPlayerInfo(lPlayerID, null); } continue; } var lPlayerInfo = new PlayerElement { playerName = (string)lPlayerData["n"], race = (Race)lPlayerData["r"], spawnIndex = 0, }; if (lPlayerInfo.race != Race.eNone) { lPlayerInfo.spawnIndex = (int)lPlayerData["si"]; lPlayerInfo.ready = (bool)lPlayerData["rd"]; } if (haveReceiverRoomData) playerChanged(lPlayerID, lLastInfo, lPlayerInfo); gamePlayers.setPlayerInfo(lPlayerID, lPlayerInfo); } haveReceiverRoomData = true; //var lPlayersInfo =_playersInfo[playerIdToIndex(playerID)]; //if (!lPlayersInfo) // return; //player.race = lPlayersInfo.race; //player.playerName = lPlayersInfo.playerName; if (gamePlayers.selfPlayeInfo.ready) playerReadyEvent(); else playerReadyInterruptedEvent(); roomDataChangedReceiver(); }
void playerChanged(int lPlayerID, PlayerElement pLastInfo, PlayerElement pNewInfo) { if (!pLastInfo && pNewInfo) playerEnterMessage(lPlayerID, pNewInfo); else if (pLastInfo && !pNewInfo) playerLeaveMessage(lPlayerID, pNewInfo); else { if (pLastInfo.race != pNewInfo.race || pLastInfo.spawnIndex != pNewInfo.spawnIndex) selectChangedMessage(lPlayerID, pNewInfo); else if (pLastInfo.playerName != pNewInfo.playerName) renamePlayerMessage(lPlayerID, pLastInfo.playerName, pNewInfo.playerName); if (!pLastInfo.ready && pNewInfo.ready) playerReadyMessage(lPlayerID, pNewInfo); else if (pLastInfo.ready && !pNewInfo.ready) playerUnreadyMessage(lPlayerID, pNewInfo); } }
void playerEnterMessage(int pPlayerID, PlayerElement pPlayerElement) { messageSender(pPlayerID + "." + pPlayerElement.playerName + " 进入房间"); }
public void Setup(PlayerElement winner, List <PlayerElement> players) { // focus on winner, etc. this.players = players; }
PlayerSpawn getSpawn(PlayerElement pPlayerElement) { return getSpawn(getSpawns(pPlayerElement.race), pPlayerElement.spawnIndex); }
void playerLeaveMessage(int pPlayerID, PlayerElement pPlayerElement) { messageSender(pPlayerID + "." + pPlayerElement.playerName + " 离开房间"); }
public static void Initialize(ScoreBoardContext context) { //context.Database.EnsureCreated(); // Look for any players. if (context.Scoreboards.Any()) { return; // DB has been seeded } Style[] styles = { new Style { DivID = "Player1", Display = "block", Position = "absolute", Color = "red", Left = "2%", Top = "66%", Width = "20%", FontSize = "36px", TextAlign = "left" }, new Style { DivID = "Player2", Display = "block", Position = "absolute", Color = "red", Left = "78%", Top = "66%", Width = "20%", FontSize = "36px", TextAlign = "right" }, new Style { DivID = "Round", Display = "block", Position = "absolute", Color = "blue", Left = "5%", Top = "5%", Width = "20%", FontSize = "30px", TextAlign = "center" }, new Style { DivID = "Score1", Display = "block", Position = "absolute", Color = "blue", Left = "27%", Top = "66%", Width = "4%", FontSize = "30px", TextAlign = "center" }, new Style { DivID = "Score2", Display = "block", Position = "absolute", Color = "blue", Left = "74%", Top = "66%", Width = "4%", FontSize = "30px", TextAlign = "center" } }; View[] views = { new View { Name = "In Game", Style = styles, Width = 1280, Height = 720 } }; Player sif = new Player { Name = "Sif" }; context.Players.Add(sif); Player n8the = new Player { Name = "n8thegr8" }; context.Players.Add(n8the); context.SaveChanges(); var playerElements = new PlayerElement[] { new PlayerElement(sif) { Character = "Samus", Label = "Player1" }, new PlayerElement(n8the) { Character = "Fox", Label = "Player2" } }; TextElement[] textElements = { new TextElement { Label = "Round", Value = "Winners Round 1 BO3" }, new TextElement { Label = "Score1", Value = "1" }, new TextElement { Label = "Score2", Value = "2" } }; Scoreboard scoreboard = new Scoreboard { Name = "Test Table", OwnerID = "*****@*****.**", TextElements = textElements, Views = views, PlayerElements = playerElements }; context.Scoreboards.Add(scoreboard); context.SaveChanges(); }
void selectChangedMessage(int pPlayerID,PlayerElement pPlayerElement) { string lRaceName = string.Empty; if (pPlayerElement.race == Race.ePismire) lRaceName = "蚂蚁 "; else if (pPlayerElement.race == Race.eBee) lRaceName = "蜜蜂 "; messageSender(pPlayerID + "." + pPlayerElement.playerName + "选择" + lRaceName + (pPlayerElement.spawnIndex+1)); }
/// <summary> /// /// </summary> /// <param name="pPlayerName"></param> /// <param name="pPlayer"></param> /// <returns>player ID,玩家已满时,返回-1</returns> int registerPlayer(string pPlayerName, NetworkPlayer pPlayer) { int lPlayerID = 1; while (gamePlayers.getPlayerInfo(lPlayerID) && lPlayerID <= gamePlayers.playerSpaceCount) ++lPlayerID; if (lPlayerID > gamePlayers.playerSpaceCount) return -1; //int lPlayerID = indexToPlayerId(i); playerToID[pPlayer] = lPlayerID; //guidToPlayer[pGUID] = pPlayer; var lPlayersInfo= new PlayerElement { playerName = pPlayerName, race = Race.eNone, networkPlayer = pPlayer, spawnIndex = 0, }; gamePlayers.setPlayerInfo(lPlayerID, lPlayersInfo); //中断事件,比如游戏倒计时 netGameInterruptedEvent(); //playerEnterMessage(lPlayerID, lPlayersInfo); return lPlayerID; }
void playerUnreadyMessage(int pPlayerID, PlayerElement pPlayerElement) { messageSender(pPlayerID + "." + pPlayerElement.playerName + " 离开准备状态"); }
void playerReadyMessage(int pPlayerID, PlayerElement pPlayerElement) { messageSender(pPlayerID + "." + pPlayerElement.playerName + " 准备就绪"); }