public static void sendMessage(ICollection <Player> receiverPlayers, Minion minion, ICollection <Minion> otherMinions) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GMinion_QuantumSoldier_teleport))); if (receiverPlayers != null && receiverPlayers.Count != 0) { msg.putInt("iid", minion.instanceId); msg.putFloat("ds", 1.3f); int [] minionInstanceIDs = new int[otherMinions.Count]; int index = 0; foreach (var minionTarget in otherMinions) { minionInstanceIDs[index++] = minionTarget.instanceId; } msg.putIntArray("mids", minionInstanceIDs); foreach (var receiverPlayer in receiverPlayers) { receiverPlayer.user.session.client.SendMessage(msg); } } }
public static void sendMessage() { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GLoadingStateResult))); Network.server.SendMessage(msg); }
public static void sendMessage(ICollection <Player> receiverPlayers, Minion minion) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GCreateMinionResult))); if (receiverPlayers != null && receiverPlayers.Count != 0) { msg.putInt("iid", minion.instanceId); if (minion.ownerPlayer != null) { msg.putInt("uid", minion.ownerPlayer.id); } else { msg.putInt("uid", -1); } msg.putInt("tid", TypeIdGenerator.getMinionId(minion.GetType())); msg.putInt("bid", minion.position.board.instanceId); msg.putInt("cid", minion.position.pathPosition.pointIndex); msg.putFloat("t", minion.position.pathPosition.ratio); foreach (var receiverPlayer in receiverPlayers) { receiverPlayer.user.session.client.SendMessage(msg); } } }
public static void sendMessage(ICollection <Player> receiverPlayers, Missile missile) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GCreateMissileInfo))); // STATCODE PlayerStats pStats = missile.ownerTower.board.player.game.statTracker.getPlayerStatsOfPlayer(missile.ownerTower.board.player); pStats.missilesFired += 1; if (receiverPlayers != null && receiverPlayers.Count != 0) { msg.putInt("iid", missile.instanceId); msg.putInt("bid", missile.ownerTower.board.instanceId); msg.putInt("iob", missile.ownerTower.indexOnBoard); msg.putInt("tid", TypeIdGenerator.getMissileId(missile.GetType())); msg.putInt("mid", missile.targetMinion.instanceId); foreach (var receiverPlayer in receiverPlayers) { receiverPlayer.user.session.client.SendMessage(msg); } } }
public static void sendMessage(User receiver) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(EnterLobby))); receiver.session.client.SendMessage(msg); }
public static void sendMessage() { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GQuitGameRequest))); Network.server.SendMessage(msg); Runner.Graphics.destroyGame(); }
public static void sendMessage(bool result) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GReadyStateResult))); msg.putBool("r", result); Network.server.SendMessage(msg); }
public static void sendMessage(Type nodeType) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(LUnlockNodeRequest))); msg.putInt("tid", TypeIdGenerator.getScienceNodeIds(nodeType)); Network.server.SendMessage(msg); }
static public void sendMessage(int minionTypeId) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GCreateMinionRequest))); msg.putInt("tid", minionTypeId); Network.server.SendMessage(msg); }
static public void sendMessage(int towerTypeId, int indexOnBoard) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GCreateTowerRequest))); msg.putInt("tid", towerTypeId); msg.putInt("iob", indexOnBoard); Network.server.SendMessage(msg); }
public override void processMessage(RawMessage message) { ResourceLoader.loadResources(); Engine.Game.players = new LinkedList <Player>(); Engine.Game.statPlayers = new List <Player> (); Engine.Game.clearOldGameData(); foreach (RawMessage msg in message.getRawMessageArray("users")) { int uid = msg.getInt("uid"); Board board = (Board)Activator.CreateInstance(TypeIdGenerator.getBoardType(msg.getInt("btid"))); //TODO exception handle et yukaridaki bi sinifin icinde. Eger hata gelmisse adamin clienti ya bozulmus // ya oynanmis ya da eskimis demektir. ona gore bi hata mesaji bastir. board.scienceType = (ScienceType)Enum.Parse(typeof(ScienceType), msg.getUTF8String("st")); board.instanceId = msg.getInt("biid"); if (uid == UserMe.self.id) { PlayerMe.self = new Player(msg.getInt("hps"), board); PlayerMe.cash = msg.getInt("cash"); PlayerMe.income = msg.getInt("inc"); PlayerMe.self.user = UserMe.self; UserMe.self.player = PlayerMe.self; setAvailableMinionsOfPlayer(); setAvailableTowersOfPlayer(); Engine.Game.players.AddLast(PlayerMe.self); Engine.Game.statPlayers.Add(PlayerMe.self); board.player = PlayerMe.self; } else { User u = new User(msg.getUTF8String("un"), uid, new Player(msg.getInt("hps"), board)); u.player.user = u; board.player = u.player; Engine.Game.players.AddLast(u.player); Engine.Game.statPlayers.Add(u.player); } } float dist = Engine.Game.calculateBoardDistanceToCenter(Engine.Game.players.Count); for (int i = 0; i < Engine.Game.players.Count; i++) { Vector3 rotation = new Vector3(0, i * 360.0f / Engine.Game.players.Count, 0); Engine.Game.players.ElementAt(i).board.rotation = rotation; Engine.Game.players.ElementAt(i).board.position = new Vector3(Mathf.Cos(-1 * rotation.y * (Mathf.PI / 180.0f)) * dist, 0, Mathf.Sin(-1 * rotation.y * (Mathf.PI / 180.0f)) * dist); Engine.Game.players.ElementAt(i).board.nextBoard = Engine.Game.players.ElementAt((i + 1) % Engine.Game.players.Count).board; Engine.Game.players.ElementAt(i).board.prevBoard = Engine.Game.players.ElementAt((i + Engine.Game.players.Count - 1) % Engine.Game.players.Count).board; } Engine.Game.setState(Engine.Game.GameState.LOADING); }
/// <summary> /// Checks whether this tower's parent is a node with given id as parameter. /// </summary> /// <param name="parentId">Id of the parent</param> /// <returns>If found, returns tower node of the parent, otherwise returns null.</returns> public TowerNode checkParent(int parentId) { if (TypeIdGenerator.getTowerId(parent.towerType) == parentId) { return(parent); } return(null); }
static public void sendMessage(Engine.Towers.Tower tower, int upgradedTowerTypeId) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GUpgradeTowerRequest))); msg.putInt("tid", upgradedTowerTypeId); msg.putInt("iob", tower.indexOnBoard); Network.server.SendMessage(msg); }
public static void sendMessage(User user) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(LReturnQueue))); user.userState = User.UserState.LOBBY; Runner.queue.addUser(user); user.session.client.SendMessage(msg); }
public static void sendMessage(User user, bool result) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(LCancelQueueResult))); msg.putBool("r", result); user.session.client.SendMessage(msg); }
public bool getUserData(int userId, int scienceNodeCount, out Models.UserDataModel userData) { userData = new Models.UserDataModel(); MySqlCommand com = client.CreateCommand(); com.CommandText = "SELECT * FROM userdata WHERE userid=" + userId; com.Connection = client; MySqlDataReader reader = null; try { reader = com.ExecuteReader(new System.Data.CommandBehavior()); if (reader.Read()) // tek column okusak yeter, o yuzden while yapmadim. { userData.userId = userId; userData.physPoints = (int)reader["physpoints"]; userData.chemPoints = (int)reader["chempoints"]; userData.bioPoints = (int)reader["biopoints"]; byte[] scienceNodesByte = (byte[])reader["unlockedsciencenodes"]; bool[] unlockedScienceNodeDbIds = new bool[scienceNodeCount]; for (int i = 0; i < scienceNodeCount && i < scienceNodesByte.Length * 8; i++) { unlockedScienceNodeDbIds[i] = (scienceNodesByte[i / 8] & (1 << (i % 8))) != 0; } userData.unlockedScienceNodes = new bool[scienceNodeCount]; foreach (var nodeDbIdPair in ScienceNode.scienceNodeDbIds) // dbId'leri, typeId ye donusturuyoruz. Cunku db disinda bize lazim degil dbId. indexlerde hep typeId lazim. { userData.unlockedScienceNodes[TypeIdGenerator.getScienceNodeIds(nodeDbIdPair.Key.GetType())] = unlockedScienceNodeDbIds[nodeDbIdPair.Value]; } return(true); } else { return(false); } } catch { return(false); } finally { try { reader.Close(); } catch { } } }
/// <summary> /// Checks whether this miinion's parent is a node with given id as parameter. /// </summary> /// <param name="parentId">Id of the parent</param> /// <returns>If found, returns miinion node of the parent, otherwise returns null.</returns> public MinionNode checkParent(int parentId) { if (TypeIdGenerator.getMinionId(parent.minionType) == parentId) { return(parent); } return(null); }
public static void sendMessage(string text) { // TODO User state check RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GChatMessage))); msg.putUTF8String("cmd", text); Network.server.SendMessage(msg); }
static public void sendMessage(int currentMinionTypeId, int upgradedMinionTypeId) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GUpgradeMinionRequest))); msg.putInt("tid", currentMinionTypeId); msg.putInt("utid", upgradedMinionTypeId); Network.server.SendMessage(msg); }
public void updateCashAndIncome() { // muhtemelen burada hicbir is yapmaya gerek yok. adamin para gostergesinin etrafinda isiklar cikartabiliriz paranin degistigine vurgu yapmak icin. uiControllerGame.setMoney(PlayerMe.cash, PlayerMe.income); foreach (var button in uiControllerGame.towerAndMinionButtons) // paramizin yetmedigi butonlari kirmizi yapalim { if (typeof(Minion).IsAssignableFrom(button.Key)) { if (TypeIdGenerator.getMinionClass(TypeIdGenerator.getMinionId(button.Key)).getCost() > PlayerMe.cash) { foreach (var obj in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true)) { if (obj.gameObject.transform.name == "NotEnoughMoneyLayer") { obj.gameObject.SetActive(true); } } } else { foreach (var obj2 in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true)) { if (obj2.gameObject.transform.name == "NotEnoughMoneyLayer") { obj2.gameObject.SetActive(false); } } } } else if (typeof(Tower).IsAssignableFrom(button.Key)) { if (TypeIdGenerator.getTowerClass(TypeIdGenerator.getTowerId(button.Key)).getCost() > PlayerMe.cash) { foreach (var obj in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true)) { if (obj.gameObject.transform.name == "NotEnoughMoneyLayer") { obj.gameObject.SetActive(true); } } } else { foreach (var obj2 in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true)) { if (obj2.gameObject.transform.name == "NotEnoughMoneyLayer") { obj2.gameObject.SetActive(false); } } } } } }
private bool checkIfMinionUpgradableTo(int currentMinionTypeId, Type upgradedMinionType) { MinionNode tn = TypeIdGenerator.getMinionNodeInst(upgradedMinionType); if (tn == null) { return(false); } return(tn.checkParent(currentMinionTypeId) != null); }
private bool checkIfTowerUpgradableTo(int currentTowerTypeId, Type upgradingTowerType) { TowerNode tn = TypeIdGenerator.getTowerNodeInst(upgradingTowerType); if (tn == null) { return(false); } return(tn.checkParent(currentTowerTypeId) != null); }
public override void processMessage(NetWorker.Utilities.RawMessage message) { Minion minion = Engine.Game.getMinionById(message.getInt("iid")); MinionEffect effect = (MinionEffect)Activator.CreateInstance(TypeIdGenerator.getMinionEffectClass(message.getInt("tid"))); if (minion != null) { minion.effects.AddLast(effect); Runner.Graphics.addMinionEffect(minion, effect); } }
public static void sendMessage(Player player) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GCashAndIncomeInfo))); msg.putInt("c", player.cash); msg.putInt("i", player.income); player.user.session.client.SendMessage(msg); }
public static void sendMessage(ICollection <Player> players, bool result) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GReadyStateResult))); msg.putBool("r", result); foreach (Player player in players) { player.user.session.client.SendMessage(msg); } }
void Update() { lock (messages) { RawMessage msg; while (messages.Count != 0) { msg = messages.Dequeue(); TypeIdGenerator.getMessageClass(msg.getInt("id")).processMessage(msg); } } }
public static void sendMessage(ICollection <Player> receiverPlayers, float seconds) { RawMessage msg = new RawMessage(); msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GEnterStartCountdown))); msg.putFloat("s", seconds); foreach (var player in receiverPlayers) { player.user.session.client.SendMessage(msg); } }
public override void processMessage(NetWorker.Utilities.RawMessage message) { Board board = Engine.Game.getBoardById(message.getInt("bid")); Tower tower = board.towers[message.getInt("iob")]; ITowerEffect effect = (ITowerEffect)Activator.CreateInstance(TypeIdGenerator.getTowerEffectClass(message.getInt("tid"))); if (tower != null) { tower.effects.AddLast(effect); } }
/// <summary> /// Checks whether this tower node has a children with given id /// </summary> /// <param name="childId">Id of the child</param> /// <returns>If found, returns tower node of the child, otherwise returns null.</returns> public TowerNode checkChildren(int childId) { foreach (TowerNode node in children) { if (TypeIdGenerator.getTowerId(node.towerType) == childId) { return(node); } } return(null); }
/// <summary> /// Checks whether this miinion node has a children with given id /// </summary> /// <param name="childId">Id of the child</param> /// <returns>If found, returns miinion node of the child, otherwise returns null.</returns> public MinionNode checkChildren(int childId) { foreach (MinionNode node in children) { if (TypeIdGenerator.getMinionId(node.minionType) == childId) { return(node); } } return(null); }