public static void PlayerItemGetting(Canvas canvas) { if (!flagDamaged) { for (int i = 0; i < Item.lstItemData.Count; i++) { Vector p1 = new Vector(Canvas.GetLeft(ImageData.imgPlayer), Canvas.GetTop(ImageData.imgPlayer)); Vector size1 = new Vector(playerSize.X, playerSize.Y); Vector p2 = new Vector(Canvas.GetLeft(Item.lstItemData[i].imgItem), Canvas.GetTop(Item.lstItemData[i].imgItem)); Vector size2 = new Vector(Item.lstItemData[i].size.X, Item.lstItemData[i].size.Y); if (CollisionCheck.Collision(p1, p2, size1, size2)) { if (!Sound.seStop) { Sound.SoundEffectSelector(SeName.Item_Get); Sound.SoundEffectPlayer(SeName.Item_Get); Sound.seStop = true; } ItemGetSelector(i); canvas.Children.Remove(Item.lstItemData[i].imgItem); Item.lstItemData.RemoveAt(i); break; } } } }
public CSpace(int dimensionCount, double[] dimensionLowLimit, double[] dimensionHighLimit, double[] dimensionWeight, CollisionCheck collisionCheck, int randomSeed) { if (dimensionLowLimit.Length != dimensionCount) { throw new ArgumentException ("The dimensionLowLimit must have the same length of the dimensionCount value"); } if (dimensionHighLimit.Length != dimensionCount) { throw new ArgumentException("The dimensionHighLimit must have the same length of the dimensionCount value"); } if (dimensionWeight.Length != dimensionCount) { throw new ArgumentException("The dimensionWeight must have the same length of the dimensionCount value"); } if (dimensionWeight.Length != dimensionCount) { throw new ArgumentNullException("collisionCheck"); } this.dimensionCount = dimensionCount; this.dimensionLowLimit = dimensionLowLimit; this.dimensionHighLimit = dimensionHighLimit; this.dimensionWeight = dimensionWeight; this.collisionCheck = collisionCheck; this.rand = new Random(randomSeed); }
void Start() { anim = GetComponent <Animator>(); collisionCheck = GetComponentInParent <CollisionCheck>(); playerCeleste = GetComponentInParent <PlayerCeleste>(); spriteRenderer = GetComponent <SpriteRenderer>(); }
void Start() { anim = GetComponent <Animator>(); coll = GetComponentInParent <CollisionCheck>(); playerMovement = GetComponentInParent <PlayerMovement>(); spriteRenderer = GetComponent <SpriteRenderer>(); }
protected Character GetNearestTargetDirected(float dir) { foreach (Character c in FindObjectsOfType <Character>()) { if (!c.gameObject.activeInHierarchy) { continue; } if (c == player) { continue; } if ((c.transform.position.x - player.transform.position.x) * dir < 0) { continue; } if (!CollisionCheck.CheckCollision(player.transform.position, c.transform.position, player.maxAttackRange, c.radius).isCollide) { continue; } //Debug.Log(c.name + " is found"); return(c); } return(null); }
void Start() { anim = GetComponent <Animator>(); coll = GetComponentInParent <CollisionCheck>(); move = GetComponentInParent <PlayerControl>(); sr = GetComponent <SpriteRenderer>(); }
public static bool EnemyTriggerCollisionCheck(int index) { Vector p1 = new Vector(PlayerStatus.playerPos.X, PlayerStatus.playerPos.Y); Vector size1 = new Vector(PlayerStatus.playerSize.X, PlayerStatus.playerSize.Y); Vector p2 = lstEnemyData[index].triggerAreaPos; Vector size2 = new Vector(lstEnemyData[index].triggerAreaOffset.X + lstEnemyData[index].triggerAreaSize.X * 32, lstEnemyData[index].triggerAreaSize.Y * 32); if (!lstEnemyData[index].direction) { if (CollisionCheck.Collision(p1, p2, size1, size2)) { return(true); } else { return(false); } } else { size2.X += lstEnemyData[index].size.X; if (CollisionCheck.Collision(p1, p2, size1, size2)) { return(true); } else { return(false); } } }
public CatController(Graphics g, int cellSize, Cell[,] map, GameBoard parentForm, MouseController mouse) { CurPos.pixX += (cellSize / 4 + 1); CurPos.pixY += +(cellSize / 4 + 1); this.moveDistance = this.cellSize = cellSize; this.g = g; this.map = map; f = parentForm; LoadMouseImage(); DrawCat(g); this.mouse = mouse; lastMove = MoveUp; Collisions += new CollisionCheck(CheckCollision); t.Enabled = true; t.Interval = 300; t.Tick += new System.EventHandler(Move); t.Start(); }
private void Start() { leftSide = GameObject.Find("touch1").GetComponent <CollisionCheck>(); rightSide = GameObject.Find("touch2").GetComponent <CollisionCheck>(); colour = GameObject.Find("touch1").GetComponent <Renderer>().material.color; colour = Color.red; }
private void Awake() { playerScript = GetComponentInParent <PlayerWithShield>(); collisionCheck = GetComponentInParent <CollisionCheck>(); shieldAnimator = GetComponent <Animator>(); soundManager = FindObjectOfType <SoundManager>(); }
public Tracking(Vector2 startingPosition, float speed, BehaviourFinished callback, CollisionCheck collisionCheck) { this.Position = startingPosition; this.Target = this.Position; this.SPEED = speed; this.callback = callback; this.collisionCheck = collisionCheck; }
private void Awake() { OGcolor = sRenderer.color; playerWithShield = this.GetComponent <PlayerWithShield>(); rb2d = GetComponent <Rigidbody2D>(); collisionCheck = GetComponent <CollisionCheck>(); soundManager = FindObjectOfType <SoundManager>(); }
/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { // Allows the game to exit if ((GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) || Keyboard.GetState().IsKeyDown(Keys.Escape)) { #if !__IOS__ this.Exit(); #endif } //update the timer _clock.Update(gameTime); //update the input _inputState.Update(); _inputWrapper.Update(_inputState, false); //check veritcal movement if (_inputWrapper.Controller.CheckKeystrokeHeld(EKeystroke.Up)) { _circle1.Translate(0.0f, -circleMovementSpeed * _clock.TimeDelta); } else if (_inputWrapper.Controller.CheckKeystrokeHeld(EKeystroke.Down)) { _circle1.Translate(0.0f, circleMovementSpeed * _clock.TimeDelta); } //check horizontal movement if (_inputWrapper.Controller.CheckKeystrokeHeld(EKeystroke.Forward)) { _circle1.Translate(circleMovementSpeed * _clock.TimeDelta, 0.0f); } else if (_inputWrapper.Controller.CheckKeystrokeHeld(EKeystroke.Back)) { _circle1.Translate(-circleMovementSpeed * _clock.TimeDelta, 0.0f); } //add camera shake when the two circles crash into each other if (CollisionCheck.CircleCircleCollision(_circle1, _circle2)) { if (!_colliding) { _camera.AddCameraShake(0.25f); } _colliding = true; } else { _colliding = false; } //update the camera _camera.Update(_clock); base.Update(gameTime); }
public Pathing(Vector2 startingPosition, float speed, BehaviourFinished callback, CollisionCheck collisionCheck, BehaviourFinished restartPathing) { this.SPEED = speed; this.targets = new Stack <Vector2>(); this.Position = startingPosition; this.callback = callback; this.collisionCheck = collisionCheck; this.restartPathing = restartPathing; }
private void Awake() { soundManager = FindObjectOfType <SoundManager>(); Anim = GetComponent <Animator>(); Self = this.gameObject; AttackColl = GetComponent <BoxCollider2D>(); SRenderer = GetComponent <SpriteRenderer>(); PS = GetComponentInParent <PlayerStats>(); playerCollisionCheck = GetComponentInParent <CollisionCheck>(); }
// Start is called before the first frame update void Start() { anim = GetComponent <Animator>(); cCheck = GetComponent <CollisionCheck>(); rb = GetComponent <Rigidbody2D>(); sr = GetComponent <SpriteRenderer>(); NearGround = true; facingRight = true; isWalking = false; }
void Awake() { //Time.timeScale = .2f; rb = GetComponent <Rigidbody2D>(); inputs = GetComponent <KTB_PlayerInput>(); //collid = GetComponentInChildren<Collider2D>(); collisions = GetComponent <CollisionCheck>(); melee = GetComponentInChildren <KTB_MeleeAttack>(); Physics2D.gravity = gravity; airJumpCount = maxAirJumpCount; }
public void Start() { if (this.name == "RedCharacter") { otherPlayer = GameObject.Find("BlueCharacter").GetComponent <CollisionCheck>(); } else { otherPlayer = GameObject.Find("RedCharacter").GetComponent <CollisionCheck>(); } }
public static void CollisionPtoE() { if (!flagDamaged) { for (int i = 0; i < SpawnEnemy.lstEnemyData.Count; i++) { Vector p1 = new Vector(Canvas.GetLeft(ImageData.imgPlayer), Canvas.GetTop(ImageData.imgPlayer)); Vector size1 = new Vector(playerSize.X, playerSize.Y); Vector p2 = new Vector(Canvas.GetLeft(SpawnEnemy.lstEnemyData[i].imgEnemy), Canvas.GetTop(SpawnEnemy.lstEnemyData[i].imgEnemy)); Vector size2 = new Vector(SpawnEnemy.lstEnemyData[i].size.X, SpawnEnemy.lstEnemyData[i].size.Y); if (CollisionCheck.Collision(p1, p2, size1, size2)) { if (!Sound.seStop) { Sound.SoundEffectSelector(SeName.Player_Damage); Sound.SoundEffectPlayer(SeName.Player_Damage); Sound.seStop = true; } if (!isKnockBack) { //playerPos = new Vector(Canvas.GetLeft(ImageData.imgPlayer), Canvas.GetTop(ImageData.imgPlayer)); boundDirectionX = SystemOperator.FaceEachOther(playerPos.X, SpawnEnemy.lstEnemyData[i].position.X); knockBackTotalDis = new Vector(0, 0); knockBackBps = new Vector(0, 0); coefficient = 0; boundDirectionY = false; knockBackTargetDis = new Vector(64, 64); isKnockBack = true; } if (playerNowHp > 0) { playerNowHp -= SpawnEnemy.lstEnemyData[i].ofepower; ImageData.imgPlayer.Opacity = 0.6; } flagDamaged = true; damageInvincibleTotal = 0; Console.WriteLine("Break"); break; } } } }
// initialization private void Start() { // sets the components t = GetComponent <Transform>(); rb = GetComponent <Rigidbody2D>(); cc = GetComponent <CollisionCheck>(); vel = Vector2.zero; hadJumped = false; hadJumpedOffWall = false; numberOfJumps = 0; }
void Start() { rb = GetComponent <Rigidbody2D>(); coll = GetComponent <CollisionCheck>(); anim = GetComponentInChildren <AnimScript>(); coll2D = GetComponent <BoxCollider2D>(); sound = FindObjectOfType <AudioManager>(); if (MasterControl.Instance.checkpointed == true) { CheckpointRespawn(); } }
private void Awake() { rb = GetComponent <Rigidbody2D>(); anim = GetComponent <Animator>(); collisionCheck = GetComponent <CollisionCheck>(); fadingGhost = FindObjectOfType <FadingGhost>(); shieldBubbleSR = shieldBubble.GetComponent <SpriteRenderer>(); shieldBubbleCC2D = shieldBubble.GetComponent <CircleCollider2D>(); Player = this.gameObject; GM = FindObjectOfType <GameManager>(); playerSpriteRenderer = GetComponent <SpriteRenderer>(); canPierceDash = false; soundManager = FindObjectOfType <SoundManager>(); }
public static void MainWeaponCollision(Canvas canvas) { for (int i = 0; i < lstMainWeaponCollider.Count; i++) { for (int j = 0; j < SpawnEnemy.lstEnemyData.Count; j++) { if (!SpawnEnemy.lstEnemyData[j].isDamage) { Vector p1 = new Vector(lstMainWeaponCollider[i].X, lstMainWeaponCollider[i].Y); Vector size1 = new Vector(32, 32); Vector p2 = new Vector(SpawnEnemy.lstEnemyData[j].position.X, SpawnEnemy.lstEnemyData[j].position.Y); Vector size2 = new Vector(SpawnEnemy.lstEnemyData[j].size.X, SpawnEnemy.lstEnemyData[j].size.Y); if (CollisionCheck.Collision(p1, p2, size1, size2) && SpawnEnemy.lstEnemyData[j].state != EnemyState.Death) { SpawnEnemy.lstEnemyData[j].isDamage = true; SpawnEnemy.lstEnemyData[j].totalInvincibleTime = 0; SpawnEnemy.lstEnemyData[j].coefficient = 0; SpawnEnemy.lstEnemyData[j].totalDistance = new Vector(0, 0); SpawnEnemy.lstEnemyData[j].bps = new Vector(0, 0); SpawnEnemy.lstEnemyData[j].targetDistance = new Vector(32, 32); SpawnEnemy.lstEnemyData[j].isKnockBack = true; if (!Sound.seStop) { Sound.SoundEffectSelector(SeName.Shock); Sound.SoundEffectPlayer(SeName.Shock); Sound.seStop = true; } SpawnEnemy.lstEnemyData[j].life -= 1; if (SpawnEnemy.lstEnemyData[j].life <= 0) { SpawnEnemy.lstEnemyData[j].isWaiting = false; SpawnEnemy.lstEnemyData[j].state = EnemyState.Death; SpawnEnemy.EnemyDeathItemDrop(canvas, SpawnEnemy.lstEnemyData[j].position); } } } } } }
/// <summary> /// Direct this entity to move towards another entity using given speed. /// </summary> /// <param name="goal"></param> /// <param name="withSpeed"></param> public void VelocityTowardsClosestEntity(IEnumerable <Entity> entities, double?withSpeed = null) { Entity goal = null; var minDistanceSquared = double.MaxValue; foreach (var e in entities) { var currentDistanceSquared = CollisionCheck.DistanceSquared(e.Xpos, e.Ypos, Xpos, Ypos); if (currentDistanceSquared < minDistanceSquared) { goal = e; minDistanceSquared = currentDistanceSquared; } } VelocityTowards(goal, withSpeed); }
public MouseController(Graphics g, int cellSize, Cell[,] map, GameBoard f, CatController cat) { CurPos.pixX += (cellSize / 4 + 1); CurPos.pixY += (cellSize / 4 + 1); this.moveDistance = this.cellSize = cellSize; this.g = g; this.map = map; this.cat = cat; this.f = f; Collisions += new CollisionCheck(CheckCollision); LoadMouseImage(); DrawMouse(g); simpleSound = new SoundPlayer(@"..\\..\\res\\cat.wav"); }
// Update is called once per frame void Update() { remainingDistance = CollisionCheck.GetDistance(transform.position, player.transform.position); if (remainingDistance < attackRange) { //AttackInit(player); return; } //jalan Movement(CollisionCheck.GetDirection(transform.position, player.transform.position).x); //if(remainingDistance > maxAttackRange) //{ // //matiin movdir y; //} }
private static bool TriggerExitCheck() { Vector p1 = new Vector(Canvas.GetLeft(ImageData.imgPlayer), Canvas.GetTop(ImageData.imgPlayer)); Vector size1 = new Vector(PlayerStatus.playerSize.X, PlayerStatus.playerSize.Y); Vector p2 = new Vector(Canvas.GetLeft(lstObject[activeObject].imgObject), Canvas.GetTop(lstObject[activeObject].imgObject)); Vector size2 = new Vector(lstObject[activeObject].size.X, lstObject[activeObject].size.Y); if (CollisionCheck.Collision(p1, p2, size1, size2)) { return(true); } else { return(false); } }
public static void EnemyTriggerAreaSetting(int index) { if (!lstEnemyData[index].direction) { lstEnemyData[index].triggerAreaPos.X = lstEnemyData[index].position.X - (lstEnemyData[index].triggerAreaSize.X * 32 + lstEnemyData[index].triggerAreaOffset.X); } else { lstEnemyData[index].triggerAreaPos.X = lstEnemyData[index].position.X + lstEnemyData[index].size.X; } lstEnemyData[index].triggerAreaPos.Y = lstEnemyData[index].position.Y; CollisionCheck.ColliderCheckMaskSetting(lstEnemyData[0].triggerAreaPos.X, lstEnemyData[0].triggerAreaPos.Y, lstEnemyData[index].triggerAreaOffset.X + lstEnemyData[index].triggerAreaSize.X * 32, lstEnemyData[index].triggerAreaOffset.Y + lstEnemyData[index].triggerAreaSize.Y * 32); }
public static int OverlapBox(Vector3 center, Vector3 halfExtents, Quaternion rotation, Collider[] colliderStorage, LayerMask killLayer) { var radius = new Vector3(halfExtents.x * 2.0f, halfExtents.y * 2.0f, halfExtents.z * 2.0f).magnitude; int numOverlaps = Physics.OverlapSphereNonAlloc(center, radius, sphere_cast_collider_storage, killLayer.value); int numBoxOverlaps = 0; for (int i = 0; i < numOverlaps; i++) { var nearbyCollider = sphere_cast_collider_storage[i]; //Debug.Log("Testing against " + nearbyCollider.gameObject.name); var nearbyBoxCollider = nearbyCollider as BoxCollider; if (nearbyBoxCollider != null) { var nearbyColliderHalfExtents = nearbyBoxCollider != null?HalfExtentsFromBoxCollider(nearbyBoxCollider) : nearbyCollider.transform.localScale * 0.5f; var nearbyColliderPosition = nearbyBoxCollider != null?PositionFromCollider(nearbyBoxCollider) : nearbyCollider.transform.position; //Debug.Log("Position: " + nearbyCollider.transform.position); //Debug.Log("Rotation: " + nearbyCollider.transform.rotation); //Debug.Log("Half Extents: " + nearbyColliderHalfExtents); //Debug.Log("Has box: " + (nearbyBoxCollider != null).ToString()); if (CollisionCheck.Box_Box(center, halfExtents, rotation, nearbyColliderPosition, nearbyColliderHalfExtents, nearbyCollider.transform.rotation)) { colliderStorage[numBoxOverlaps++] = sphere_cast_collider_storage[i]; } } else { var nearbyMeshCollider = nearbyCollider as MeshCollider; if (nearbyMeshCollider != null) { //计算这个盒子的obb,转换为obb-obb的相交测试 Vector3 centerMesh = nearbyMeshCollider.transform.TransformPoint(nearbyMeshCollider.sharedMesh.bounds.center); Vector3 halfMesh = Vector3.Scale(nearbyMeshCollider.sharedMesh.bounds.size, nearbyMeshCollider.transform.localScale) / 2; if (CollisionCheck.Box_Box(center, halfExtents, rotation, centerMesh, halfMesh, nearbyCollider.transform.rotation)) { colliderStorage[numBoxOverlaps++] = sphere_cast_collider_storage[i]; } } } } return(numBoxOverlaps); }
protected Character GetNearestTarget() { foreach (Character c in FindObjectsOfType <Character>()) { if (c == player) { continue; } if (!CollisionCheck.CheckCollision(player.transform.position, c.transform.position, player.maxAttackRange, c.radius).isCollide) { continue; } //Debug.Log(c.name + " is found"); return(c); } return(null); }
public static void CollisionSubWeapon(Canvas canvas) { for (int i = 0; i < SpawnEnemy.lstEnemyData.Count; i++) { if (ImageData.imgSubWeapon.Count >= 1) { Vector p1 = new Vector(Canvas.GetLeft(ImageData.imgSubWeapon[0]), Canvas.GetTop(ImageData.imgSubWeapon[0])); Vector size1 = new Vector(32, 32); Vector p2 = new Vector(Canvas.GetLeft(SpawnEnemy.lstEnemyData[i].imgEnemy), Canvas.GetTop(SpawnEnemy.lstEnemyData[i].imgEnemy)); Vector size2 = new Vector(SpawnEnemy.lstEnemyData[i].size.X, SpawnEnemy.lstEnemyData[i].size.Y); if (CollisionCheck.Collision(p1, p2, size1, size2) && SpawnEnemy.lstEnemyData[i].state != EnemyState.Death) { canvas.Children.Remove(ImageData.imgSubWeapon[0]); ImageData.imgSubWeapon.Remove(ImageData.imgSubWeapon[0]); if (!Sound.seStop) { Sound.SoundEffectSelector(SeName.Fog); Sound.SoundEffectPlayer(SeName.Fog); Sound.seStop = true; } SpawnEnemy.lstEnemyData[i].life -= 1; if (SpawnEnemy.lstEnemyData[i].life <= 0) { SpawnEnemy.lstEnemyData[i].isWaiting = false; SpawnEnemy.lstEnemyData[i].state = EnemyState.Death; SpawnEnemy.EnemyDeathItemDrop(canvas, SpawnEnemy.lstEnemyData[i].position); } break; } } } }