public void AnimateTo(DungeonEntityUnity entity, float duration) { animating = true; this.newCameraPosition = entity.trans.position + moveDelta; this.newLookAtPosition = entity.trans.position + lookAtDelta; this.newEntity = entity; this.animationDuration = duration; this.animationTime = 0.0f; }
public void AnimateTo(Vector3 newCameraPosition, Vector3 newLookAtPosition, float duration) { animating = true; this.newCameraPosition = newCameraPosition; this.newLookAtPosition = newLookAtPosition; this.animationDuration = duration; this.animationTime = 0.0f; newEntity = null; }
private void AddEntity(DungeonEntity entity) { DungeonEntityUnity entityUnity = entityFactory.CreateEntity(entity); if (entityUnity != null) { entityUnity.trans.parent = entitiesContainer; entities.Add(entity.Id, entityUnity); entityUnity.Init(this, entity); if (entity.Type == DungeonEntityType.Avatar) { avatar = (DungeonEntityAvatarUnity)entityUnity; } } else { Debug.LogWarning("No unity entity created for entity type: " + entity.Type); } }
public void Update() { if (entity) { if (firstPerson) { trans.position = entity.trans.position + firstPersonDelta; trans.LookAt(trans.position + entity.trans.forward); } else { lastPosition = entity.trans.position + moveDelta; lastLookAtPosition = entity.trans.position + lookAtDelta; trans.position = lastPosition; trans.LookAt(lastLookAtPosition); } } else if (animating) { float t = animationTime / animationDuration; trans.position = Vector3.Lerp(lastPosition, newCameraPosition, t); trans.LookAt(Vector3.Lerp(lastLookAtPosition, newLookAtPosition, t)); if (t >= 1.0f) { animating = false; lastPosition = newCameraPosition; lastLookAtPosition = newLookAtPosition; entity = newEntity; } animationTime += Time.deltaTime; } }
public DungeonEventHandlerEntityRotated(DungeonUnity dungeon, DungeonEventEntityRotated dungeonEvent) { entity = dungeon.GetEntityUnity(dungeonEvent.entity); rotateFrom = dungeon.GetWorldRotation(dungeonEvent.from); rotateTo = dungeon.GetWorldRotation(dungeonEvent.to); }
public void DestroyEntity(DungeonEntityUnity entityUnity) { GameObject.Destroy(entityUnity.gameObject); }
public DungeonEventHandlerEntityMoved(DungeonUnity dungeon, DungeonEventEntityMoved dungeonEvent) { entity = dungeon.GetEntityUnity(dungeonEvent.entity); moveFrom = dungeon.GetWorldPosition(dungeonEvent.from); moveTo = dungeon.GetWorldPosition(dungeonEvent.to); }