private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { switch (t) { case 32: case 40: case 48: spriteRenderer.sprite = shouldDamage ? redTile : greenTile; break; case 36: case 44: case 52: spriteRenderer.sprite = originalTile; break; case 56: spriteRenderer.sprite = shouldDamage ? redTile : greenTile; collider2d.enabled = shouldDamage; break; case 63: collider2d.enabled = false; break; case 64: spriteRenderer.sprite = originalTile; t = 0; shouldDamage = Random.Range(0, 2) == 0; didDamage = false; break; } t++; }
void UpdateTarget(object sender, TimeTickSystem.OnTickEventArgs e) { if (stats != null) { if (stats.targetableTags != null) { List <GameObject> enemies = new List <GameObject>(); for (int i = 0; i < stats.targetableTags.Length; i++) { enemies.AddRange(GameObject.FindGameObjectsWithTag(stats.targetableTags[i])); } float shortestDistance = Mathf.Infinity; GameObject nearestEnemy = null; foreach (GameObject enemy in enemies) { float distanceToEnemy = Vector3.Distance(transform.position, enemy.transform.position); if (distanceToEnemy < shortestDistance) { shortestDistance = distanceToEnemy; nearestEnemy = enemy; } } if (nearestEnemy != null && shortestDistance <= stats.range) { target = nearestEnemy.transform; } else { target = null; } } } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { if (!CanFire()) { return; } foreach (PlayerWeapon w in weapons) { if (w != null) { w.WeaponTick(e.tick); } } if (e.tick % 4 == 0) { ticksTillCooldown--; if (ticksTillCooldown <= 0) { if (weapons[currMountIndex] != null) { weapons[currMountIndex].Attack(); // test CanAttack() => Attack() maybe } if (weapons[(currMountIndex + 2) % 4] != null) { weapons[(currMountIndex + 2) % 4].Attack(); // test CanAttack() => Attack() maybe } currMountIndex = (currMountIndex + 1) % weapons.Length; ticksTillCooldown = shotCooldown; } } }
protected virtual void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { if (e.tick % 4 == 0) { if (!isTileEnabled) { return; } ticksTillShot -= 1; if (ticksTillShot == 5) { //animator.SetTrigger("prep"); Instantiate(prepParticles, bulletSpawn.position, Quaternion.identity, transform); } if (ticksTillShot <= 0) { // AudioManager.PlaySound(""); Instantiate(attackParticles, bulletSpawn.position, Quaternion.identity, transform); AudioManager.Play("dungeon_turret_projectile"); Shoot(); ticksTillShot = fireRate; } } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { //Debug.Log("TICK: " + e.ticks); UpdateState(); WindCorrection(); SpreadFire(); }
public void OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { if (trainingQueue.Count != 0) { TryTrainNextUnit(); } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { ticks++; if (ticks >= idleTimer) { anim.SetBool("HasArrived", false); } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { // resources achterlaten bij building en dan weer naar returnTarget toe. unit.player.AddResource(gather.hasResourceType, (int)gather.hasResourceAmount); gather.hasResourceAmount = 0; unit.animator.SetBool("HasResources", false); unit.animator.SetBool("HasArrived", false); }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { Debug.Log("attack tick"); //aanroepen van gather mechanic targetResource.ChangeHealth(-fightController.meleeAtack); if (targetResource.available) { anim.SetBool("IsAttacking", false); } }
public override void OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { if (e.tick % ticksPerSecond == 0) { IncreaseBySecond(); // Update view UpdateTimerView(); Debug.Log(string.Format("{0}:{1}", minutes, seconds)); } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { if (!playerIsGone && state == State.patrolling) { waitedTicks += 1; if (waitedTicks > ticksToWait) { playerIsGone = true; waitedTicks = 0; } } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { //Debug.Log("Curse: " + curseTicks); curseTicks = Mathf.Min(curseTicks + 1, curseMax); if (!isCursed) { CheckCursed(); } UpdatePostProcessing((float)curseTicks / curseMax); }
// TimeTickSystem.OnTick event handler public void WaitForTicks(object sender, TimeTickSystem.OnTickEventArgs e) { if (waitedTicks < waitingForTicks) { waitedTicks++; } else { waiting = false; Unsubscribe_WaitForTicks(); Debug.Log("AI: wait stopped."); } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { if (e.tick % 4 == 0) { if (isPrimed && !didExplode) { if (primedTick != e.tick) { Explode(); } } } }
void OnTick(object sender, TimeTickSystem.OnTickEventArgs args) { if (movement == null || pathGetter == null) { return; } currentNavigationTick += 1; if (currentNavigationTick > baseData.navigationTickRate) { movement.Move(path, ref currentPathTarget, baseData.moveSpeed); currentNavigationTick = 0; } }
// event handler for gathering resources public void OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { //Debug.Log(String.Format("event handler called {0}", e.tick)); // TODO: See if using OnTick5 makes sense if (e.tick % resourceTicks == 0) { Debug.Log(GetWorkerStatusString()); // send resources to store ResourceTransaction transaction = GeneratePayOutTransaction(); Debug.Log(transaction.FormattedStatusString()); SendResourcesToStore(transaction); } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { foreach (List <GameObject> enemyList in activeEnemies.Values) { foreach (GameObject g in enemyList) { Enemy enemy = g.GetComponent <Enemy>(); if (enemy != null && enemy.doTick && g.activeSelf) { enemy.EnemyTick(e.tick); } } } }
// Update is called once per frame private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { if (e.tick % delay == 0) { if (explosions > 0) { GameObject expGO = Instantiate(explodePrefab, pos, Quaternion.identity, transform.parent); expGO.GetComponent <Explosion>().defaultTarget = Entity.fullHeightEntitiesMask; pos = transform.position + new Vector3(Random.Range(-1, 2), Random.Range(-1, 2), 0); explosions--; } else { Die(); } } }
private void TimeTickSystem_OnTickMicro(object sender, TimeTickSystem.OnTickEventArgs e) { if (currentTick >= currentCharacterAnimation.microTicksToNewFrame) { frameNumber++; if (frameNumber >= currentCharacterAnimation.animation.Length) { frameNumber = 0; } spriteRenderer.sprite = currentCharacterAnimation.animation[frameNumber]; currentTick = 0; } else { currentTick++; } }
public override void OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { if (e.tick % ticksPerSecond == 0) { DecreaseBySecond(); if (IsTimerFinished()) { Unsubscribe(); OnTimerFinish(); } // Update view UpdateTimerView(); Debug.Log(string.Format("{0}:{1}", minutes, seconds)); } }
private void TimeTickSystem_OnTick_5(object sender, TimeTickSystem.OnTickEventArgs e) { foreach (TemporaryMessage temporaryMessage in temporaryMessages) { if (temporaryMessage.showingMessage && temporaryMessage.messageTick5Max > 0) { if (temporaryMessage.messageTick5Cur >= temporaryMessage.messageTick5Max) { temporaryMessage.messageObject.SetActive(false); temporaryMessage.messageBar.SetText(""); temporaryMessage.showingMessage = false; temporaryMessage.messageTick5Cur = 0; } } temporaryMessage.messageTick5Cur++; } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { if (e.tick % 4 == 0) { ticksTillChange -= 1; if (ticksTillChange == 4 && !isActive) { animator.SetTrigger("prep"); } if (ticksTillChange <= 0) { ToggleActive(); ticksTillChange = isActive ? numTicksOn : numTicksOff; } } }
public void OnTickEventHandler(object sender, TimeTickSystem.OnTickEventArgs e) { if (constructedTicks < constructionTime) { constructedTicks++; } else { isUnderConstruction = false; Unsubscribe(); // log Debug.Log("command succesfully executed."); GetGameLog().Log(string.Format("Building contruction complete ({0})", buildingType)); // update view on building completion!! GetBuildPlotController().UpdateBuildPlotView(location); // GameObject.Find("BuildPlotController").GetComponent<BuildPlotController>().UpdateBuildPlotView(location); } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { if (aiState.mode == AIStateMode.DestroyBlock && currentBlockDestroying.nextBlockHealth != null && current != null && currentBlockDestroying.nextBlockHealth.Value.x > 0 && currentBlockDestroying.nextBlockWorldPos.Equals(current.Value.c0)) { int3x3 data = currentBlockDestroying.nextBlockData.Value; int3 block = currentBlockDestroying.nextBlock.Value; int3 blockHealth = currentBlockDestroying.nextBlockHealth.Value; int3 blockWorldPos = currentBlockDestroying.nextBlockWorldPos.Value; var regen = Block.GetRegen(block); if (regen > 0) { DamagePopup.Create(Utils.CenterOfBlockWithWorldPos(blockWorldPos), regen, false, Colors.green); ModifyBlockHealth(data, 0, new int3(blockHealth.x + Mathf.RoundToInt(regen), blockHealth.y, Mathf.RoundToInt(regen))); } } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { hungerTick++; if (hungerTick >= hungerTickMax) { hungerTick = 0; hunger -= 1; if (hunger <= maxHunger / 10) { //return To Colony for food } if (hunger <= 0) { if (gameObject != null) { Destroy(gameObject); } } } }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { //if (e.tick % 4 == 0) //{ foreach (List <GameObject> projList in activeProjectiles.Values) { for (int i = projList.Count - 1; i >= 0; i--) { if (i < 0 || i >= projList.Count) // i don't know why i need this, for when LevelHandler calls ClearAllProjectiles(); { break; } //Debug.Log(i + " " + projList.Count); GameObject g = projList[i]; if (g.GetComponent <Projectile>() != null) { g.GetComponent <Projectile>().ProjectileTick(e.tick); } } } //} }
private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { hungerTick++; //print(hungerTick); if (hungerTick >= hungerTickMax) { hungerTick = 0; hunger -= 1; if (hunger <= 0) { if (getColonySize() > 1) { shrinkColony(); hunger = 10; } else { //COLONY DEAD Debug.Log("COLONY STARVED"); } } } }
//Atualiza o Relogio da Interface void Clock(object sender, TimeTickSystem.OnTickEventArgs e) { ticks++; if (ticks >= TICKS_MAX_FOR_MINUTE) { ticks = 0; minutes++; } if (minutes >= 60) { minutes = 0; hours++; } if (hours >= 20) { hours = 0; days++; } minute.text = minutes < 10 ? "0" + minutes.ToString() : minutes.ToString(); hour.text = hours < 10 ? "0" + hours.ToString() : hours.ToString(); day.text = days.ToString(); }
// event handler to deal with TimeTickSystem private void TimeTickSystem_OnTick(object sender, TimeTickSystem.OnTickEventArgs e) { if (isConstructing) { buildTick += 1; float buildTickNormalized = buildTick * 1f / buildTickMax; if (buildTickNormalized >= 0.3) { Debug.Log(">30% done"); } if (buildTick >= buildTickMax) { isConstructing = false; UnSubscribe(); } else { Debug.Log(string.Format("building {0} / {1} ({2}%)", buildTick, buildTickMax, buildTickNormalized * 100)); } } }
void UpdateSprite(object sender, TimeTickSystem.OnTickEventArgs e) { if (target != null) { //angle calculations on sprites assume gameobject will NOT be rotating Vector3 targetDir = target.transform.position - gameObject.transform.position; Vector3 forward = transform.up; float angle = Vector3.SignedAngle(forward, targetDir, Vector3.forward); for (int i = 0; i < leftSprites.Length; i++) { if (angle <= leftSprites[i].maxAngle && angle >= leftSprites[i].minAngle) { sprite.sprite = leftSprites[i].sprite; break; } else if (angle >= rightSprites[i].maxAngle && angle <= rightSprites[i].minAngle) { sprite.sprite = rightSprites[i].sprite; break; } } } }