private void Start() { colliders = GetComponentsInChildren <Collider2D>(); disableColliders(colliders); if (canMove) { movement = GetComponent <ItemMovement>(); } if (isRigid) { rigid = GetComponent <Rigidbody2D>(); rigid.gravityScale = 0; } if (isStar) { star = GetComponent <Star>(); } Vector3 startPos = transform.position; Vector3 endPos = new Vector3(transform.position.x, transform.position.y + blockMovement.moveUpDistance, transform.position.z); StartCoroutine(MoveUp(startPos, endPos)); }
private void Start() { movement = GetComponentInParent <ItemMovement>(); if (isShell) { movement.canMove = false; StartCoroutine(waitforRespawn()); } }
public void Shoot(ItemMovement.direction dir) { GameObject go = (GameObject)Instantiate(shootee, this.transform.position, Quaternion.identity); go.transform.parent = this.gameObject.transform; if (dir == ItemMovement.direction.LEFT) { go.transform.localScale = new Vector3(go.transform.localScale.x * -1, go.transform.localScale.y, go.transform.localScale.z); } }
private void Start() { animator = GetComponentInParent <Animator>(); renderer = GetComponentInParent <SpriteRenderer>(); enemyRigid = GetComponentInParent <Rigidbody2D>(); movement = GetComponentInParent <ItemMovement>(); manager = GameObject.FindGameObjectWithTag("Manager").GetComponent <GameManager>(); colliders = transform.parent.GetComponentsInChildren <Collider2D>(); }
/// <summary> /// Convert the item movement data into a data component. /// </summary> public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem) { var movement = new ItemMovement { heightFactor = heightFactor, deltaDegrees = deltaDegrees }; dstManager.AddComponentData(entity, movement); }
public void TryPurchaseItem(int cost, GameObject ItemPrefab) { PriceToPay = -1 * cost; PurchasedItem = Instantiate(ItemPrefab); ItemMovement ItemMove = PurchasedItem.AddComponent <ItemMovement>(); ItemMove.Purchased(Player.transform.position, this); PlacingObject = true; SmoothCamera.instance.SwapTransform(PurchasedItem.transform, CameraLookAtTrans.transform, true); Canvas.CloseShop(); }
public override void Update(GameTime gameTime) { Body.Hikuah(12); SourceRect = ItemMovement.Animate(gameTime); if (GetPosition().X > CowGameScreen.Graphics.PreferredBackBufferWidth && CowGameScreen.WorldOnFocus.RightWorld != null) { CowGameScreen.ChangeWorld(this, Direction.Right); } if (GetPosition().X + GetPosition().Width < 0 && CowGameScreen.WorldOnFocus.LeftWorld != null) { CowGameScreen.ChangeWorld(this, Direction.Left); } }
public void MoveItem(Vector3Int origin, Direction direction, Transform item) { ItemMovement movement = new ItemMovement(origin, direction, item); itemMovements.Add(movement); movementLookup[origin] = movement; // Check for special case of two conveyors facing each other if (movementLookup.TryGetValue(movement.Destination, out var destMovement) && destMovement.Destination == movement.Origin) { BlockMovement(movement.Origin); BlockMovement(movement.Destination); } }
protected override OpResult _Store(ItemMovement _obj) { if (_obj == null) { return(OpResult.NotifyStoreAction(OpResult.ResultStatus.ObjectIsNull, _obj, "ItemMovement object cannot be created as it is null")); } if (Exists(_obj)) { ExecuteNonQuery(GetQuery_UpdateQuery(_obj)); return(OpResult.NotifyStoreAction(OpResult.ResultStatus.Updated, _obj)); } ExecuteNonQuery(GetQuery_InsertQuery(_obj)); _obj.FromDb = true; return(OpResult.NotifyStoreAction(OpResult.ResultStatus.Created, _obj)); }
private void OnDisable() { GameController.Instance.AddScore(1); GameObject effect = EffectPool.Instance.GetFromPool((int)eTYPE_EFFECT.ROCK_TYPE); effect.transform.position = this.transform.position; SoundController.Instance.PlayeEffectSound(eEffectClips.ExpRock); int getItem = 0; getItem = Random.Range(0, 100); if (getItem <= 30) { int idx = Random.Range(0, 2); ItemMovement newItem = itemPool.GetFromPool(idx); newItem.transform.position = this.transform.position; } }
IEnumerator Spawn() { yield return(new WaitForSeconds(timeBetweenSpawns)); GameObject go = Instantiate(prefab, startPositions[Random.Range(0, startPositions.Count)], Quaternion.identity); go.GetComponent <SpriteRenderer>().color = (Random.Range(0, 100) <= 35) ? Color.black : colors[Random.Range(0, colors.Length - 1)]; ItemMovement goItem = go.GetComponent <ItemMovement>(); goItem.speed = Random.Range(minSpeed, maxSpeed); if (run) { StartCoroutine(Spawn()); } }
private void RaycastHandling() { if (Physics.Raycast(camTransform.position, camTransform.forward, out hit, float.MaxValue)) { lastItem = currentItem; currentItem = hit.collider.GetComponent <ItemMovement>(); if (currentItem != null) { gravityMode = currentItem.GetGravityMode(); } if (currentItem != null && !alreadyActived) { currentItem.SetGravityMode(ItemMovement.GravityMode.Self); } if (lastItem != null && currentItem != lastItem && !alreadyActived) { lastItem.SetGravityMode(ItemMovement.GravityMode.World); } } if (currentItem == null) { if (alreadyActived) { currentItem = lastItem; } lastItem = null; } if (currentItem != null) { gravityMode = currentItem.GetGravityMode(); } }
public void KillGravity(ItemMovement item) { itemMovement = item; Debug.Log(item.name); item.gameObject.GetComponent <Rigidbody>().useGravity = false; }
public override void Update(GameTime gameTime) { Body.Stop(); SourceRect = ItemMovement.Animate(gameTime); }
public void Start() { itemMovement = transform.GetComponentInParent <ItemMovement>(); GetComponent <BoxCollider>().isTrigger = true; this.gameObject.layer = 2; // set into ignore raycast layer. }
private DbUpdateStatement GetQuery_UpdateQuery(ItemMovement _obj) { return(DbMgr.CreateUpdateClause("ItemMovement", GetFields(_obj), "ItemMovementID", _obj.ItemMovementID)); }
public void Shoot(ItemMovement.direction dir) { GameObject go = (GameObject) Instantiate(shootee, this.transform.position, Quaternion.identity); go.GetComponent<ItemMovement>().dir = dir; }
// Evaluate movements & Write output void LateUpdate() { if (!TickInfo.Ticking) { return; } // Evaluate movements foreach (var movement in itemMovements) { // If there is no belt in the destination, we're blocked if (!belts.ContainsKey(movement.Destination)) { BlockMovement(movement.Origin); continue; } // If there is a belt, check for blocking if (movementLookup.TryGetValue(movement.Destination, out var aheadMovement)) { if (aheadMovement.Blocked) { //print("Ahead is blocked (origin: " + movement.Origin + ")"); BlockMovement(movement.Origin); } else { //print("Adding dependency from " + movement.Origin + " to " + movement.Destination); movementDependency.Add(movement.Origin, movement.Destination); } } // Check priority if (!movement.Blocked) { var center = movement.Destination; var centerBelt = belts[center]; //print($"Center: {center}"); // Get surrounding positions in order of priority var behind = center + centerBelt.Direction.Opposite().Vector3Int(); var clockwise = center + centerBelt.Direction.Clockwise().Vector3Int(); var counterClockwise = center + centerBelt.Direction.CounterClockwise().Vector3Int(); var front = center + centerBelt.Direction.Vector3Int(); ItemMovement[] priorityMovements = new ItemMovement[4]; priorityMovements[0] = movementLookup.ContainsKey(behind) ? movementLookup[behind] : null; priorityMovements[1] = movementLookup.ContainsKey(clockwise) ? movementLookup[clockwise] : null; priorityMovements[2] = movementLookup.ContainsKey(counterClockwise) ? movementLookup[counterClockwise] : null; priorityMovements[3] = movementLookup.ContainsKey(front) ? movementLookup[front] : null; bool foundGoodMovement = false; for (int i = 0; i < 4; i++) { if (priorityMovements[i] == null || priorityMovements[i].Destination != center) { continue; } if (!foundGoodMovement && !priorityMovements[i].Blocked) { foundGoodMovement = true; } else { BlockMovement(priorityMovements[i].Origin); } } } } // Write output foreach (var movement in itemMovements) { var belt = belts[movement.Origin]; belt.Moving = !movement.Blocked; } }
private DbInsertStatement GetQuery_InsertQuery(ItemMovement _obj) { Dictionary <string, DbFieldEntry> fields = GetFields(_obj); return(DbMgr.CreateInsertClause("ItemMovement", fields)); }