private void ShowInfo(InteractionEntity newEntity) { if (_isHidden) { return; } if (newEntity != null) { if (_lastEntity != newEntity) { ChangeTextAlpha(1f); _lastEntity = newEntity; _text.text = newEntity.name; _offset = newEntity.InfoPositionOffset; } _rectTransform.anchoredPosition = _playerCamera.WorldToScreenPoint(newEntity.transform.position + _offset); return; } else if (_lastEntity != null && newEntity == null) { ChangeTextAlpha(0f); StartCoroutine(PositionDelay(_lastEntity.transform)); _lastEntity = null; } }
public ActionResult DeleteConfirmed(int id) { InteractionEntity interactionEntity = db.Interactions.Find(id); db.Interactions.Remove(interactionEntity); db.SaveChanges(); return(RedirectToAction("Index")); }
public void Interact(InteractionEntity interactionEntity) { if (!(interactionEntity is Rocket)) { DropSparePart(); } CurrentBehaviour = Behaviour.Interact; _currentInteractionEntity = interactionEntity; }
public ActionResult Edit([Bind(Include = "ID,Code,ServiceID,ChannelTypeID,CurrentOutcomeCodeID,Comments,CreatedDate,UpdatedDate,IsActive,IsDeleted")] InteractionEntity interactionEntity) { if (ModelState.IsValid) { db.Entry(interactionEntity).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ChannelTypeID = new SelectList(db.ChannelTypes, "ID", "Name", interactionEntity.ChannelTypeID); ViewBag.CurrentOutcomeCodeID = new SelectList(db.CurrentOutcomeCode, "ID", "Name", interactionEntity.CurrentOutcomeCodeID); ViewBag.ServiceID = new SelectList(db.Services, "ID", "Code", interactionEntity.ServiceID); return(View(interactionEntity)); }
// GET: Interaction/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } InteractionEntity interactionEntity = db.Interactions.Find(id); if (interactionEntity == null) { return(HttpNotFound()); } return(View(interactionEntity)); }
// GET: Interaction/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } InteractionEntity interactionEntity = db.Interactions.Find(id); if (interactionEntity == null) { return(HttpNotFound()); } ViewBag.ChannelTypeID = new SelectList(db.ChannelTypes, "ID", "Name", interactionEntity.ChannelTypeID); ViewBag.CurrentOutcomeCodeID = new SelectList(db.CurrentOutcomeCode, "ID", "Name", interactionEntity.CurrentOutcomeCodeID); ViewBag.ServiceID = new SelectList(db.Services, "ID", "Code", interactionEntity.ServiceID); return(View(interactionEntity)); }
public void OnSceneGUI() { Handles.color = Color.yellow; InteractionEntity interactionEntity = (InteractionEntity)target; interactionEntity.InteractPoint = Handles.FreeMoveHandle ( (Vector2)interactionEntity.transform.position + interactionEntity.InteractPoint, Quaternion.identity, 0.2f * HandleUtility.GetHandleSize(interactionEntity.transform.position), Vector3.zero, Handles.ConeHandleCap ) - interactionEntity.transform.position; if (GUI.changed) { Undo.RecordObject(target, "Updated Sorting Offset"); EditorUtility.SetDirty(target); } }
private void Highlight(InteractionEntity interactionEntity) { if (_isHidden) { return; } if (_lastEntity != interactionEntity && interactionEntity != null) { ChangeScaleAndAlpha(1, 1.3f); _lastEntity = interactionEntity; return; } else if (_lastEntity != null && interactionEntity == null) { ChangeScaleAndAlpha(0.25f, 1f); _lastEntity = null; } }
public void ChooseFriendUnitToInteract() { if (InteractionEntities.Count == 0 || FriendUnits.Count == 0) { return; } InteractionEntity closestInteractionEntity = InteractionEntities[0]; float minDistance = Vector2.Distance(transform.position, closestInteractionEntity.transform.position); foreach (var entity in InteractionEntities) { if (entity == null) { InteractionEntities.Remove(entity); } else { float newDistance = Vector2.Distance(transform.position, entity.transform.position); if (newDistance < minDistance) { minDistance = newDistance; closestInteractionEntity = entity; } } } if (closestInteractionEntity is Rocket) { foreach (var unit in FriendUnits) { if (unit.CurrentBehaviour == Unit.Behaviour.Carries) { unit.Interact(closestInteractionEntity); return; } } return; } //Unit closestUnit = FriendUnits[0]; //minDistance = Vector2.Distance(closestUnit.transform.position, closestInteractionEntity.transform.position); Unit closestUnit = null; minDistance = Mathf.Infinity; foreach (var unit in FriendUnits) { if (unit.CurrentBehaviour == Unit.Behaviour.Passive) { float newDistance = Vector2.Distance(unit.transform.position, closestInteractionEntity.transform.position); if (newDistance < minDistance) { minDistance = newDistance; closestUnit = unit; } } } if (closestInteractionEntity != null && closestUnit != null) { closestUnit.Interact(closestInteractionEntity); } }
private void BehaviourUpdate() { switch (CurrentBehaviour) { case Behaviour.Passive: if (MoveTarget != null) { _agent.stoppingDistance = _passiveStoppingDistance; _agent.SetDestination(MoveTarget.position); } break; case Behaviour.Attack: _agent.stoppingDistance = _defaultStoppingDistance; Vector3 argetPosition = _currentEnemy.transform.position; _agent.SetDestination(argetPosition); if (CheckDistance(argetPosition, 1.5f)) { if (_currentEnemy.IsAlive()) { IsAttacking = true; _currentEnemy.ApplyDamage(HitDamage); } else { IsAttacking = false; _currentEnemy = null; CurrentBehaviour = Behaviour.Passive; } } break; case Behaviour.Interact: _agent.stoppingDistance = _defaultStoppingDistance; Vector3 entityPosition = _currentInteractionEntity.GetIteractPoint(); _agent.SetDestination(entityPosition); if (_currentInteractionEntity is SparePart) { var sparePart = _currentInteractionEntity as SparePart; if (sparePart.IsLifted) { _currentInteractionEntity = null; CurrentBehaviour = Behaviour.Passive; } } if (CheckDistance(entityPosition, _currentInteractionEntity.DistanceToInteract)) { _currentInteractionEntity.Interact(this); LinkedHorde.InteractionEntities.Remove(_currentInteractionEntity); if (!(_currentInteractionEntity is SparePart)) { CurrentBehaviour = Behaviour.Passive; } _currentInteractionEntity = null; } break; case Behaviour.Carries: if (MoveTarget != null) { _agent.stoppingDistance = _passiveStoppingDistance; _agent.SetDestination(MoveTarget.position); } break; } }