public override void Initialize(EnemyPoint enemyPoint, Vector3 islePosition, Vector3 navMeshPosition, NavMeshTarget target) { base.Initialize(enemyPoint, islePosition, navMeshPosition, target); canShoot = false; StartCoroutine(ShotRythmHandler()); }
public override void Initialize(EnemyPoint enemyPoint, Vector3 islePosition, Vector3 navMeshPosition, NavMeshTarget target) { base.Initialize(enemyPoint, islePosition, navMeshPosition, target); posBeforeShooting = transform.position; loadingShot = null; octopusRythm = StartCoroutine(octopusRythmHandler()); }
public void TryToMove() { EnemyPoint pointToMove = _actualPoint.NextWaypoint; if (pointToMove != null) { MoveToNextPoint(pointToMove); } }
public void Disconnect() { if (!Mode) { if (ClientsPool.ContainsKey(EnemyPoint.ToString())) { SendMessage(ClientsPool[EnemyPoint.ToString()].GetStream(), MessageCode.Fin); ClientsPool[EnemyPoint.ToString()].Close(); } } }
private void ClearWatingList() { //clears all waiting users except the choosen one Dictionary <string, TcpClient> .KeyCollection Keys = ClientsPool.Keys; foreach (string key in Keys) { if (key != EnemyPoint.ToString()) { ClientsPool.Remove(key); } } }
protected void MoveToPoint(EnemyPoint point, float time) { _endMovePosition = point.Point.position; point.OccupyPoint(this); StopOccupyingActualPoint(); _actualPoint = point; _startMovePosition = transform.position; _currentLevelHandler.ChangeStateOfEnemy(Enemy, EnemyBehaviourState.Idle); State = EnemyBehaviourState.MovingToPoint; _timeToMove = time; _idleTimer = 0; _moveTimer = 0; }
private void MoveToSecondPoint() { EnemyPoint pointToMove = FindRandomNotOccupiedEnemyPoint(_transforms.CrabSecondMovePositions); float rotation = Vector2.Angle(transform.position, pointToMove.Point.transform.position); transform.Rotate(new Vector3(0, 0, -rotation)); if (pointToMove != null) { MoveToNextPoint(pointToMove); } MovedToSecondPoint = true; }
protected EnemyPoint FindRandomNotOccupiedEnemyPoint(EnemyPoint[] points) { EnemyPoint result = null; EnemyPoint[] shuffledPoints = new EnemyPoint[points.Length]; points.CopyTo(shuffledPoints, 0); new System.Random().Shuffle(shuffledPoints); for (int i = 0; i < shuffledPoints.Length; i++) { if (!shuffledPoints[i].IsOccupied) { return(shuffledPoints[i]); } } return(result); }
public virtual void Initialize(EnemyPoint enemyPoint, Vector3 islePosition, Vector3 navMeshPosition, NavMeshTarget target) { mr = ObjectPool.getObjectPool(); player = mr.getObject(ObjectPool.categorie.essential, (int)ObjectPool.essential.player); currentIsle = LevelManager.getLevelManager().currentIsle.IsleObj; GetComponent <Stats>().resetStats(); ghostCopy = GetComponent <GhostCopy>(); ghostCopy.MovedByGhost = true; transform.position = enemyPoint.transform.position; gameObject.GetComponent <GhostCopy>().IslePosition = islePosition; GameObject slimeGhost = getGhost(); slimeGhost.GetComponent <NavMeshAgent>().enabled = false; slimeGhost.transform.position = navMeshPosition + enemyPoint.getPositionOnIsle(); slimeGhost.GetComponent <GhostMovement>().NavMashPosition = navMeshPosition; slimeGhost.GetComponent <GhostMovement>().target = target; slimeGhost.GetComponent <GhostMovement>().ghostCopy = ghostCopy; slimeGhost.GetComponent <NavMeshAgent>().enabled = true; gameObject.GetComponent <GhostCopy>().ghost = slimeGhost.GetComponent <GhostMovement>(); }
public List <EnemyData> AnalyzeBoard(ColorCrazeBoard.ColorCrazeBoard board, int myX, int myY) { var enemies = new List <EnemyData>(); for (var i = 0; i < board.Width; i++) { if (i == MyId) { continue; } enemies.Add(new EnemyData { EnemyId = i }); } Parallel.ForEach(enemies, enemy => { var points = new List <EnemyPoint>(); for (var i = 0; i < board.Width; i++) { for (var j = 0; j < board.Height; j++) { if (board[i, j].Owner != enemy.EnemyId) { continue; } var point = new EnemyPoint { X = i, Y = j, dX = Math.Abs(i - myX), dY = Math.Abs(j - myY) }; if (i <= myX && j < myY) { point.RelativeQuadrant = 1; } else if (i > myX && j <= myY) { point.RelativeQuadrant = 2; } else if (i >= myX && j > myY) { point.RelativeQuadrant = 3; } else if (i < myX && j >= myY) { point.RelativeQuadrant = 4; } points.Add(point); } } enemy.Points = points; }); return(enemies); }
public byte[] Write() { MemoryStream m = new MemoryStream(); EndianBinaryWriter er = new EndianBinaryWriter(m, Endianness.LittleEndian); int NrSections = 0; if (ObjectInformation != null) { NrSections++; } if (Path != null) { NrSections++; } if (Point != null) { NrSections++; } if (Stage != null) { NrSections++; } if (KartPointStart != null) { NrSections++; } if (KartPointJugem != null) { NrSections++; } if (KartPointSecond != null) { NrSections++; } if (KartPointCannon != null) { NrSections++; } if (KartPointMission != null) { NrSections++; } if (CheckPoint != null) { NrSections++; } if (CheckPointPath != null) { NrSections++; } if (ItemPoint != null) { NrSections++; } if (ItemPath != null) { NrSections++; } if (EnemyPoint != null) { NrSections++; } if (EnemyPath != null) { NrSections++; } if (MiniGameEnemyPoint != null) { NrSections++; } if (MiniGameEnemyPath != null) { NrSections++; } if (Area != null) { NrSections++; } if (Camera != null) { NrSections++; } Header.SectionOffsets = new UInt32[NrSections]; Header.Write(er); int SectionIdx = 0; if (ObjectInformation != null) { WriteHeaderInfo(er, SectionIdx); ObjectInformation.Write(er); SectionIdx++; } if (Path != null) { WriteHeaderInfo(er, SectionIdx); Path.Write(er); SectionIdx++; } if (Point != null) { WriteHeaderInfo(er, SectionIdx); Point.Write(er); SectionIdx++; } if (Stage != null) { WriteHeaderInfo(er, SectionIdx); Stage.Write(er); SectionIdx++; } if (KartPointStart != null) { WriteHeaderInfo(er, SectionIdx); KartPointStart.Write(er); SectionIdx++; } if (KartPointJugem != null) { WriteHeaderInfo(er, SectionIdx); KartPointJugem.Write(er); SectionIdx++; } if (KartPointSecond != null) { WriteHeaderInfo(er, SectionIdx); KartPointSecond.Write(er); SectionIdx++; } if (KartPointCannon != null) { WriteHeaderInfo(er, SectionIdx); KartPointCannon.Write(er); SectionIdx++; } if (KartPointMission != null) { WriteHeaderInfo(er, SectionIdx); KartPointMission.Write(er); SectionIdx++; } if (CheckPoint != null) { WriteHeaderInfo(er, SectionIdx); CheckPoint.Write(er); SectionIdx++; } if (CheckPointPath != null) { WriteHeaderInfo(er, SectionIdx); CheckPointPath.Write(er); SectionIdx++; } if (ItemPoint != null) { WriteHeaderInfo(er, SectionIdx); ItemPoint.Write(er); SectionIdx++; } if (ItemPath != null) { WriteHeaderInfo(er, SectionIdx); ItemPath.Write(er); SectionIdx++; } if (EnemyPoint != null) { WriteHeaderInfo(er, SectionIdx); EnemyPoint.Write(er); SectionIdx++; } if (EnemyPath != null) { WriteHeaderInfo(er, SectionIdx); EnemyPath.Write(er); SectionIdx++; } if (MiniGameEnemyPoint != null) { WriteHeaderInfo(er, SectionIdx); MiniGameEnemyPoint.Write(er); SectionIdx++; } if (MiniGameEnemyPath != null) { WriteHeaderInfo(er, SectionIdx); MiniGameEnemyPath.Write(er); SectionIdx++; } if (Area != null) { WriteHeaderInfo(er, SectionIdx); Area.Write(er); SectionIdx++; } if (Camera != null) { WriteHeaderInfo(er, SectionIdx); Camera.Write(er); SectionIdx++; } byte[] result = m.ToArray(); er.Close(); return(result); }
private void MoveToNextPoint(EnemyPoint point) { _movingPoint = !_movingPoint; MoveToPoint(point, UnityEngine.Random.Range(_waypointMoveTimeMin, _waypointMoveTimeMax)); }
public byte[] Write() { MemoryStream m = new MemoryStream(); EndianBinaryWriter er = new EndianBinaryWriter(m, Endianness.LittleEndian); int NrSections = 0x12; Header.SectionOffsets = new UInt32[NrSections]; Header.Write(er); int SectionIdx = 0; if (KartPoint != null) { WriteHeaderInfo(er, SectionIdx); KartPoint.Write(er); SectionIdx++; } if (EnemyPoint != null) { WriteHeaderInfo(er, SectionIdx); EnemyPoint.Write(er); SectionIdx++; } if (EnemyPointPath != null) { WriteHeaderInfo(er, SectionIdx); EnemyPointPath.Write(er); SectionIdx++; } if (ItemPoint != null) { WriteHeaderInfo(er, SectionIdx); ItemPoint.Write(er); SectionIdx++; } if (ItemPointPath != null) { WriteHeaderInfo(er, SectionIdx); ItemPointPath.Write(er); SectionIdx++; } if (CheckPoint != null) { WriteHeaderInfo(er, SectionIdx); CheckPoint.Write(er); SectionIdx++; } if (CheckPointPath != null) { WriteHeaderInfo(er, SectionIdx); CheckPointPath.Write(er); SectionIdx++; } if (GlobalObject != null) { WriteHeaderInfo(er, SectionIdx); GlobalObject.Write(er); SectionIdx++; } if (PointInfo != null) { WriteHeaderInfo(er, SectionIdx); PointInfo.Write(er); SectionIdx++; } if (Area != null) { WriteHeaderInfo(er, SectionIdx); Area.Write(er); SectionIdx++; } if (Camera != null) { WriteHeaderInfo(er, SectionIdx); Camera.Write(er); SectionIdx++; } if (JugemPoint != null) { WriteHeaderInfo(er, SectionIdx); JugemPoint.Write(er); SectionIdx++; } if (CannonPoint != null) { WriteHeaderInfo(er, SectionIdx); CannonPoint.Write(er); SectionIdx++; } if (MissionPoint != null) { WriteHeaderInfo(er, SectionIdx); MissionPoint.Write(er); SectionIdx++; } if (StageInfo != null) { WriteHeaderInfo(er, SectionIdx); StageInfo.Write(er); SectionIdx++; } if (CourseSect != null) { WriteHeaderInfo(er, SectionIdx); CourseSect.Write(er); SectionIdx++; } if (GliderPoint != null) { WriteHeaderInfo(er, SectionIdx); GliderPoint.Write(er); SectionIdx++; } if (GliderPointPath != null) { WriteHeaderInfo(er, SectionIdx); GliderPointPath.Write(er); SectionIdx++; } WriteHeaderFileSize(er); byte[] result = m.ToArray(); er.Close(); return(result); }