private void Update() { if (reset) { reset = false; MultiManager.socket.Send("PINFO TP " + transform.position.x + " " + transform.position.y); } if ((string)Coffre.Regarder("mode") == "solo" || _playerData.MultiID + "" == (string)Coffre.Regarder("id")) { PlayerMove(); } else { Move(mxDir, myDir); } int xDir = (int)Input.GetAxisRaw("Horizontal"); int yDir = (int)Input.GetAxisRaw("Vertical"); if ((xDir != cX || yDir != cY) && "multi" == (string)Coffre.Regarder("mode") && _playerData.MultiID + "" == (string)Coffre.Regarder("id")) { cX = xDir; cY = yDir; MultiManager.socket.Send("PINFO TP " + transform.position.x + " " + transform.position.y + ";JINFO " + xDir + " " + yDir); } if (tp) { tp = false; transform.position = new Vector3(fx, fy); } }
private void Start() { Coffre.Créer(); Transform o = Instantiate(PlayerManager, new Vector3(5, 5, 0), Quaternion.identity); o.GetComponent <PlayerManager>().Create(10, 2, int.Parse((string)Coffre.Regarder("id")), (string)Coffre.Regarder("mode") == "solo"); }
private void UseCompetence(CompetencesData competence, int index, float dx = 0, float dy = 0) { if (competence.Usable && competence.ManaCost <= _playerData.Mana || _playerData.MultiID + "" != (string)Coffre.Regarder("id")) { StartCoroutine(AfkCoroutine()); if (_playerData.MultiID + "" == (string)Coffre.Regarder("id")) { Comp.Raise(new EventArgsDoubleInt((int)competence.Cooldown, index)); } switch (competence.Id) { case "OneProj": InstantiateOneProjectiles(competence as ProjComp, dx, dy); break; case "ArcProj": InstantiateArcProjectiles(competence as ProjComp, dx, dy); break; case "CirProj": InstantiateCircleAttack(competence as ProjComp, dx, dy); break; case "Boost": BoostPlayer(competence as BoostComp); break; case "CacAtt": AttackEvent.Raise(new EventArgsInt(_playerData.MultiID)); StartCoroutine(CoolDownCoroutine(competence, true)); break; } } }
private void Receive() { _socket.BeginReceiveFrom(state.buffer, 0, bufSize, SocketFlags.None, ref epFrom, recv = (ar) => { State so = (State)ar.AsyncState; int bytes = _socket.EndReceiveFrom(ar, ref epFrom); _socket.BeginReceiveFrom(so.buffer, 0, bufSize, SocketFlags.None, ref epFrom, recv, so); Console.WriteLine("RECV: {0}: {1}, {2}", epFrom.ToString(), bytes, Encoding.ASCII.GetString(so.buffer, 0, bytes)); string msg = Encoding.ASCII.GetString(so.buffer, 0, bytes); if (lastR == msg) { return; } lastR = msg; Debug.Log("RAW RECEIVE: " + msg); UDPEvent.Receive(msg); if (msg.StartsWith("SET")) { string[] args = msg.Split(' '); if (args.Length != 3) { return; } if (Coffre.Existe(args[0])) { Coffre.Vider(args[0]); } Coffre.Remplir(args[1], args[2]); } }, state); }
private Vector3 ProjectilesDirection(float dx = 0, float dy = 0) { if ((string)Coffre.Regarder("mode") == "solo") { Vector3 cursorPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); cursorPos.z = 0; Vector3 n = (cursorPos - transform.position).normalized; return(n); } else { bool by = dy == 0; if (dx != 0 || dy != 0) { return(new Vector3(dx, dy, 0)); } else { Vector3 cursorPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); cursorPos.z = 0; Vector3 n = (cursorPos - transform.position).normalized; return(n); } } }
private IEnumerator SmoothDash(DashComp competence, float dx = 0, float dy = 0) { competence.Usable = false; _playerData.CanMove = false; Vector3 dir = dx == 0 && dy == 0 ? Direction() : new Vector3(dx, dy, 0); if ((string)Coffre.Regarder("mode") == "multi" && _playerData.MultiID + "" == (string)Coffre.Regarder("id")) { MultiManager.socket.Send("PINFO DASH " + dir.x + " " + dir.y); } Debug.Log(_playerData.MultiID + " dashing to " + dir.x + " " + dir.y + " ( " + dx + " " + dy); Vector3 direction = CheckObstacles(dir, competence); float step = competence.DistDash * Time.fixedDeltaTime; float t = 0; Vector3 end = transform.position + direction - direction * 0.01f; while ((end - transform.position).magnitude > 0.1f) { t += step; transform.position = Vector3.Lerp(transform.position, end, t); yield return(new WaitForFixedUpdate()); } transform.position = end; _playerData.CanMove = true; yield return(new WaitForSeconds(competence.Cooldown)); competence.Usable = true; }
// Update is called once per frame void Update() { if (s) { s = false; int[] copy = new int[playersToAdd.Count]; playersToAdd.CopyTo(copy); foreach (int i in copy) { playersToAdd.Remove(i); if (playersAlreadyInGame.Contains(i)) { continue; } playersAlreadyInGame.Add(i); Debug.Log("asked to add " + i); MapGridCreation mgc = GameObject.Find("MapManager").GetComponent <MapGridCreation>(); if (i + "" == (string)Coffre.Regarder("id")) { mgc.AddPlayer(i, false); } else { Debug.Log("Adding multi player: " + i); mgc.AddMultiPlayer(i); } } } }
void Start() { Coffre.Remplir("mode", "multi"); playButton.gameObject.SetActive(false); _socket = UDPClient._socket; UDPEvent.Register(this); refresh = true; }
// Start is called before the first frame update void Start() { socket = UDPRoomManager._socket; Coffre.Remplir("mode", "multi"); /*socket = new UDPSocket(); * * socket.Client("127.0.0.1", 27000); * socket.Send("CONNECT Kira kira");*/ UDPEvent.Register(this); }
public void Client(string address, int port) { new Thread(() => { try { const int PORT_NO = 27000; const string SERVER_IP = "127.0.0.1"; //---data to send to the server--- //---create a TCPClient object at the IP and port no.--- TcpClient client = new TcpClient(SERVER_IP, PORT_NO); NetworkStream nwStream = client.GetStream(); while (true) { this.client = client; this.ns = nwStream; //---read back the text--- byte[] bytesToRead = new byte[client.ReceiveBufferSize]; int bytesRead = nwStream.Read(bytesToRead, 0, client.ReceiveBufferSize); string msg = Encoding.ASCII.GetString(bytesToRead, 0, bytesRead); string[] p = msg.Split(';'); foreach (string m in p) { if (m == "") { continue; } Debug.Log("RAW RECEIVE: " + m); UDPEvent.Receive(m); if (m.StartsWith("SET")) { string[] args = m.Split(' '); if (args.Length != 3) { return; } if (Coffre.Existe(args[0])) { Coffre.Vider(args[0]); } Coffre.Remplir(args[1], args[2]); } } } client.Close(); } catch {} }).Start(); }
private void FixedUpdate() { if (_playerData.MultiID + "" == (string)Coffre.Regarder("id")) { Vector3 cursorPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); cursorPos.z = 0; Vector3 n = (cursorPos - transform.position).normalized; if (Input.GetMouseButton(0)) { UseCompetence(_playerData.Competences[1], 1); if ((string)Coffre.Regarder("mode") == "multi") { MultiManager.socket.Send("PINFO AA " + n.x + " " + n.y); } } if (Input.GetKey(KeyCode.Mouse1)) { UseCompetence(_playerData.Competences[2], 2); if ((string)Coffre.Regarder("mode") == "multi") { MultiManager.socket.Send("PINFO A1 " + n.x + " " + n.y); } } if (Input.GetKey(KeyCode.LeftShift)) { UseCompetence(_playerData.Competences[3], 3); if ((string)Coffre.Regarder("mode") == "multi") { MultiManager.socket.Send("PINFO A2 " + n.x + " " + n.y); } } } if (aa) { aa = false; UseCompetence(_playerData.Competences[1], 1, dx, dy); } if (a1) { a1 = false; UseCompetence(_playerData.Competences[1], 2, dx, dy); } if (a2) { a2 = false; UseCompetence(_playerData.Competences[2], 3, dx, dy); } }
public void Create(Weapons weapon) { _playerData = StaticData.actualData; comp = _playerData.Name == "Warrior" ? _playerData.Competences[1] as CacComp : null; _sprite = GetComponent <SpriteRenderer>(); _sprite.sprite = weapon.icon; if (!weapon.inPlayerInventory) { _sprite.sortingOrder = (int)((transform.position.y + 0.7) * -10); } Weapon = weapon; EdgeCollider2D collider = GetComponent <EdgeCollider2D>(); collider.points = weapon.ColliderPoints; PlayerMoveEvent.Raise(new EventArgsCoor(0, -1, int.Parse((string)Coffre.Regarder("id")))); }
void Start() { Coffre.Créer(); UDPEvent.Register(this); error.text = "Server not reachable"; //loginButton.enabled = false; loginButton.gameObject.SetActive(false); try { _socket.Client(ip, 27000); _socket.Send("PING"); } catch { } }
private IEnumerator Dash(DashComp competence, float dx = 0, float dy = 0) { competence.Usable = false; _playerData.CanMove = false; Vector3 dir = dx == 0 && dy == 0 ? Direction() : new Vector3(dx, dy, 0); if ((string)Coffre.Regarder("mode") == "multi" && _playerData.MultiID + "" == (string)Coffre.Regarder("id")) { MultiManager.socket.Send("PINFO DASH " + dir.y + " " + dir.x); } Vector3 direction = CheckObstacles(dir, competence); transform.position += direction - direction * 0.01f; _playerData.CanMove = true; yield return(new WaitForSeconds(competence.Cooldown)); competence.Usable = true; }
public void PlayerMovingAnimation(IEventArgs args) { EventArgsCoor coor = args as EventArgsCoor; if (_playerData.MultiID != coor.Id && (string)Coffre.Regarder("mode") == "multi") { return; } int speed = coor.X != 0 ? coor.X : coor.Y; bool dir = coor.X == 0; if (speed == 0) { _a.SetInteger("Speed", 0); return; } _a.SetInteger("Speed", speed); _a.SetBool("Direction", dir); }
private void FixedUpdate() { if (_playerData.MultiID + "" == (string)Coffre.Regarder("id")) { if (!_playerData.CanMove) { return; } } if (Input.GetKey("space") && _playerData.Competences[0].Usable) { Comp.Raise(new EventArgsDoubleInt((int)_playerData.Competences[0].Cooldown, 0)); if (_playerData.MultiID + "" == (string)Coffre.Regarder("id")) { if (_playerData.Name == "Mage") { StartCoroutine(Dash(_playerData.Competences[0] as DashComp)); } else { StartCoroutine(SmoothDash(_playerData.Competences[0] as DashComp)); } } } if (this.shouldDash) { this.shouldDash = false; Debug.Log(_playerData.MultiID + " dash got true"); if (_playerData.MultiID == 3) { StartCoroutine(Dash(_playerData.Competences[0] as DashComp, dx, dy)); } else { StartCoroutine(SmoothDash(_playerData.Competences[0] as DashComp, dx, dy)); } } }
private void InstantiateProjectiles(ProjComp competence, Vector3 dir) { Transform o = Instantiate(Proj, transform.position + dir / 4, Quaternion.identity); o.name = competence.Name; ProjectilesData projectilesData = ScriptableObject.CreateInstance <ProjectilesData>(); int dP = 25; int dM = 25; if (_playerData.MultiID + "" == (string)Coffre.Regarder("id")) { dP = _playerData.PhysicsDamage + _playerData.Inventory.Weapon.PhysicsDamage + competence.AdDamage; dM = _playerData.MagicDamage + _playerData.Inventory.Weapon.MagicDamage + competence.ApDamage; } projectilesData.Created(dir.normalized, competence.Speed, dP, dM, competence.EnemyTag, _playerData.AnimProj(), competence.Live, _playerData.AnimColor(), _playerData.Prob(), _playerData.Effect(), _playerData.EffectDamage(), _playerData.Duration()); Projectiles script = o.GetComponent <Projectiles>(); script.Create(projectilesData); }
IEnumerator Attack(string dir) { if (Weapon._class == "Warrior") { isAttacking = true; WaitForSeconds frame = new WaitForSeconds(0.008f); switch (dir) { case "right": PlaceWeapon(0.314f, 0.258f, 90); yield return(frame); PlaceWeapon(0.349f, 0.229f, 70); yield return(frame); PlaceWeapon(0.357f, 0.216f, 50); yield return(frame); PlaceWeapon(0.357f, 0.216f, 30); yield return(frame); PlaceWeapon(0.336f, 0.171f, 10); yield return(frame); PlaceWeapon(0.299f, 0.131f, -10); yield return(frame); PlaceWeapon(0.264f, 0.076f, -30); yield return(frame); PlaceWeapon(0.244f, 0.07f, -50); yield return(frame); PlaceWeapon(0.209f, 0.048f, -70); yield return(frame); PlaceWeapon(0.165f, 0.018f, -90); yield return(frame); break; case "down": _sprite.sortingOrder = 1000; PlaceWeapon(-0.004f, -0.011f, 26); yield return(frame); PlaceWeapon(0.082f, -0.021f, 2); yield return(frame); PlaceWeapon(0.12f, -0.049f, -22); yield return(frame); PlaceWeapon(0.106f, -0.097f, -46); yield return(frame); PlaceWeapon(0.072f, -0.124f, -70); yield return(frame); PlaceWeapon(0.012f, -0.106f, -94); yield return(frame); PlaceWeapon(-0.101f, -0.12f, 252); yield return(frame); PlaceWeapon(-0.126f, -0.086f, 228); yield return(frame); PlaceWeapon(-0.197f, -0.062f, 204); yield return(frame); PlaceWeapon(-0.232f, -0.007f, 180); yield return(frame); break; case "up": PlaceWeapon(-0.113f, 0.264f, 90); yield return(frame); PlaceWeapon(-0.091f, 0.383f, 70); yield return(frame); PlaceWeapon(-0.002f, 0.455f, 50); yield return(frame); PlaceWeapon(0.09f, 0.47f, 30); yield return(frame); PlaceWeapon(0.208f, 0.426f, 10); yield return(frame); PlaceWeapon(0.307f, 0.358f, -10); yield return(frame); PlaceWeapon(0.365f, 0.258f, -30); yield return(frame); PlaceWeapon(0.382f, 0.161f, -50); yield return(frame); PlaceWeapon(0.346f, 0.04f, -70); yield return(frame); PlaceWeapon(0.265f, -0.041f, -90); yield return(frame); break; case "left": PlaceWeapon(-0.314f, 0.258f, 45 + (45 - 90)); yield return(frame); PlaceWeapon(-0.349f, 0.229f, 45 + (45 - 70)); yield return(frame); PlaceWeapon(-0.357f, 0.216f, 45 + (45 - 50)); yield return(frame); PlaceWeapon(-0.357f, 0.216f, 45 + (45 - 30)); yield return(frame); PlaceWeapon(-0.336f, 0.171f, 45 + (45 - 10)); yield return(frame); PlaceWeapon(-0.299f, 0.131f, 45 + (45 - -10)); yield return(frame); PlaceWeapon(-0.264f, 0.076f, 45 + (45 - -30)); yield return(frame); PlaceWeapon(-0.244f, 0.07f, 45 + (45 - -50)); yield return(frame); PlaceWeapon(-0.209f, 0.048f, 45 + (45 - -70)); yield return(frame); PlaceWeapon(-0.165f, 0.018f, 45 + (45 - -90)); yield return(frame); break; } isAttacking = false; } if (Weapon._class == "Archer") { switch (dir) { case "right": _sprite.sortingOrder = 100; PlaceWeapon(0.369f, 0.146f, 0); yield return(new WaitForSeconds(0.16f)); break; case "up": PlaceWeapon(0.008f, 0.396f, 90); _sprite.sortingOrder = -10000; yield return(new WaitForSeconds(0.16f)); break; case "down": _sprite.sortingOrder = 100; PlaceWeapon(-0.06f, -0.18f, -90); yield return(new WaitForSeconds(0.16f)); break; case "left": _sprite.sortingOrder = 100; PlaceWeapon(-0.359f, 0.157f, 180); yield return(new WaitForSeconds(0.16f)); break; } } switch (dir) { case "down": PlayerMoveEvent.Raise(new EventArgsCoor(0, -1, int.Parse((string)Coffre.Regarder("id")))); yield break; case "up": PlayerMoveEvent.Raise(new EventArgsCoor(0, 1, int.Parse((string)Coffre.Regarder("id")))); yield break; case "left": PlayerMoveEvent.Raise(new EventArgsCoor(-1, -1, int.Parse((string)Coffre.Regarder("id")))); yield break; case "right": PlayerMoveEvent.Raise(new EventArgsCoor(1, 1, int.Parse((string)Coffre.Regarder("id")))); yield break; } }
private void Awake() { //Coffre.Remplir("seed", "1"); if ((string)Coffre.Regarder("mode") == "solo") { seed = Random.Range(1, int.MaxValue); } else { seed = int.Parse((string)Coffre.Regarder("seed")); } Random.InitState(seed); int lvl = Random.Range(StaticData.LevelMap[0], StaticData.LevelMap[1]); MapHeight = 100 + lvl / 2; MapWidth = 100 + lvl / 2; RoomNumber = MapHeight / 5; DistanceRoom = 100; fusion = MapHeight / 20; _grid = new bool[MapHeight, MapWidth]; _instances = new bool[MapHeight, MapWidth]; _roomData = new List <RoomData>(); _rooms = new List <Transform>(); AllNodes.Grid = _grid; AllNodes.Height = MapHeight - 1; AllNodes.Width = MapWidth - 1; GetComponentInChildren <MiniMapPos>().Pos(new Vector3(MapHeight / 2, MapHeight / 2)); GetComponentInChildren <MiniMapFog>().Create(MiniMap, _grid, MapTextureData); try { CreateGrid(); ConstructCorridor(); RoomInstanceWall(); FillGap(); CreateFloor(); CreateWall(); RoomInstanceDeco(); AddChest(); AddPikes(); AddPortal(); AddBossPortal(); if ((string)Coffre.Regarder("mode") == "solo") { AddPlayer(1, true); } } catch (Exception e) { Debug.Log("Err"); Console.WriteLine(e); throw; } GenerateEnemies.RoomData = _roomData; GenerateEnemies.availablePosGrid = _grid; }
//Gestion du déplacement du personnage void Deplacement(OpenCVForUnity.CoreModule.Rect rects, OpenCVForUnity.CoreModule.Rect[] rects_y) { GameObject slime; slime = GameObject.Find("Blob"); GameObject sol; sol = GameObject.Find("plat1"); DeplacerSlime contact; contact = slime.GetComponent <DeplacerSlime>(); GameObject Coffre; Coffre = GameObject.Find("Coffre"); FrapperCoffre openC; openC = Coffre.GetComponent <FrapperCoffre>(); GameObject lumiere; lumiere = GameObject.Find("Global Light 2D"); Light2D light; light = lumiere.GetComponent <Light2D>(); if (contact.isDead == false) { //Mouvement if (rects.x < 100 && rects.y > 60) { //Milieu - Gauche slime.transform.Translate(-10, 0, 0); contact.deplacement = -1; } else if (rects.x > 300 && rects.y > 60) { //Milieu - Droit slime.transform.Translate(10, 0, 0); contact.deplacement = 1; } else if (rects.x > 100 && rects.x < 300 && rects.y < 60 && contact.auSol == true) { //Tete.text = "Haut - Milieu"; slime.GetComponent <Rigidbody2D>().AddForce(new Vector2(0.0f, 1500.0f), ForceMode2D.Impulse); contact.deplacement = 0; } else if (rects.x > 300 && rects.y < 60 && contact.auSol == true) { //Haut - Droit slime.GetComponent <Rigidbody2D>().AddForce(new Vector2(200.0f, 1500.0f), ForceMode2D.Impulse); contact.deplacement = 1; } if (rects.x < 100 && rects.y < 60 && contact.auSol == true) { //Haut - Gauche slime.GetComponent <Rigidbody2D>().AddForce(new Vector2(-200.0f, 1500.0f), ForceMode2D.Impulse); contact.deplacement = -1; } else { contact.deplacement = 0; } //Patate if (laPatate == true) { contact.frapper = false; } if (rects.width < 210 && rects.width > 180 && laPatate == false) { firstTP = Time.time; } if (rects.width > 300 && Time.time - firstTP < 0.5 && laPatate == false) { contact.frapper = true; laPatate = true; firstTP = Time.time; } if (Time.time - firstTP > 1 && laPatate == true) { laPatate = false; } //Clignement if (rects_y.Length == 0) { timer -= Time.deltaTime; if (timer > 0.9833 && Cligne == false) { firstTC = Time.time; Cligne = true; timer = 1; light.intensity = 0; } else if (Time.time - firstTC > 0.5) { timer = 1; light.intensity = 0.1f; } if (Time.time - firstTC > 5 && Cligne == true) { Cligne = false; } } } }