recursal/Fanatic-Fandom huggingface dataset:
Scene delay example

As of v1.76.1, it is possible to delay the loading of a scene, to allow for e.g. additional data to be downloaded beforehand.

This script demonstrates this by having scenes be dependent on Asset Bundles.  If a scene is marked as requiring an Asset Bundle, then that bundle will be loaded before the scene is loaded.

To use it:

1. Create one or more Asset Bundles and place them in an Asset folder named StreamingAssets.
2. Create a new C# file named **SceneDelayExample**, and paste in the code below.
3. Locate AC's PersistentEngine prefab inside **Assets/AdventureCreator/Resources**, and attach the new **Scene Delay Example** component.
4. Inside the component's Inspector, add the name of any Asset Bundle as well as the scenes that depend on it.

SceneDelayExample.cs:

```
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using AC;

public class SceneDelayExample : MonoBehaviour
{

 #region Variables

 [SerializeField] private SceneDataSource[] sceneDataSources = new SceneDataSource[0];
 private readonly HashSet<string> loadedBundles = new HashSet<string> ();

 #endregion

 #region UnityStandards

 private void OnEnable ()
 {
 EventManager.OnDelayChangeScene += OnDelayChangeScene;
 }

 private void OnDisable ()
 {
 EventManager.OnDelayChangeScene -= OnDelayChangeScene;
 }

 #endregion

 #region CustomEvents

 private void OnDelayChangeScene (SceneInfo sceneInfo, System.Action callback)
 {
 string sceneName = sceneInfo.Filename;
 if (string.IsNullOrEmpty (sceneName))
 {
 callback.Invoke ();
 return;
 }

 string assetBundle = GetBundle (sceneName);
 if (string.IsNullOrEmpty (assetBundle) || loadedBundles.Contains (assetBundle))
 {
 callback.Invoke ();
 return;
 }

 StartCoroutine (LoadBundle (assetBundle, callback));
 }

 private IEnumerator LoadBundle (string assetBundle, System.Action callback)
 {
 string bundlePath = Path.Combine (Application.streamingAssetsPath, assetBundle);
 var bundleLoadRequest = AssetBundle.LoadFromFileAsync (bundlePath);

 yield return bundleLoadRequest;

 loadedBundles.Add (assetBundle);
 callback?.Invoke ();
 }

 private string GetBundle (string sceneName)
 {
 foreach (SceneDataSource sceneDataSource in sceneDataSources)
 {
 string assetBundle = sceneDataSource.GetBundle (sceneName);
 if (!string.IsNullOrEmpty (assetBundle))
 {
 return assetBundle;
 }
 }
 return string.Empty;
 }

 #endregion

 #region PrivateClasses

 [Serializable]
 private class SceneDataSource
 {

 [SerializeField] private string assetBundle;
 [SerializeField] private string[] sceneNames = new string[0];

 public string GetBundle (string sceneName)
 {
 foreach (string scene in sceneNames)
 {
 if (scene == sceneName)
 {
 return assetBundle;
 }
 }
 return string.Empty;
 }

 }

 #endregion

}

```
DISEÑO

**En esta área se hablarán de temas relacionados al diseño y la innovación, ambos temas se desarrollarán de la siguiente manera:**

* ***Requerimientos para esta carrera (diseño)***
* Pensum
* Fuentes de inspiración
* Universidades

**Después de leer estos artículos se te facilitará la tarea de elegir cual de los campos del diseño es el indicado para ti.**
Return PickUps to original position

This script returns a PickUp object to its original position and rotation upon release. The movement speed can be adjusted, and will snap back insrtantly if set to zero.

To use, place this code in a script named **ReturnPickUp** and attach to the PickUp you want to affect.

This will also work with Draggable objects with a "Drag type" set to "Rotate Only".

You can also optionally supply a "Marker When Held" that the object will move to while it is held.

```
using UnityEngine;
using AC;

public class ReturnPickUp : MonoBehaviour
{

 [SerializeField] private Marker markerWhenHeld = null;
 public float moveSpeed = 10f;

 private Vector3 originalPosition;
 private Quaternion originalRotation;
 private bool doReturn;
 private bool isHeld;
 private DragBase dragBase;
 private Moveable\_PickUp pickUp;

 private LerpUtils.Vector3Lerp positionLerp = new LerpUtils.Vector3Lerp ();
 private LerpUtils.QuaternionLerp rotationLerp = new LerpUtils.QuaternionLerp ();

 private void OnEnable ()
 {
 dragBase = GetComponent<DragBase> ();
 pickUp = GetComponent<Moveable\_PickUp> ();

 EventManager.OnGrabMoveable += GrabMoveable;
 EventManager.OnDropMoveable += DropMoveable;
 }

 private void OnDisable ()
 {
 EventManager.OnGrabMoveable -= GrabMoveable;
 EventManager.OnDropMoveable -= DropMoveable;
 }

 private void Update ()
 {
 if (doReturn)
 {
 transform.position = positionLerp.Update (transform.position, originalPosition, moveSpeed);
 transform.rotation = rotationLerp.Update (transform.rotation, originalRotation, moveSpeed);
 }
 else if (isHeld && markerWhenHeld != null)
 {
 if (pickUp)
 {
 pickUp.OverrideMoveToPosition (markerWhenHeld.transform.position);
 }
 else
 {
 transform.position = positionLerp.Update (transform.position, markerWhenHeld.transform.position, moveSpeed);
 }
 }
 }

 private void GrabMoveable (DragBase \_dragBase)
 {
 if (\_dragBase == dragBase)
 {
 originalPosition = transform.position;
 originalRotation = transform.rotation;

 doReturn = false;
 isHeld = true;

 if (KickStarter.player)
 {
 KickStarter.player.upMovementLocked = KickStarter.player.downMovementLocked = KickStarter.player.leftMovementLocked = KickStarter.player.rightMovementLocked = true;
 }
 }
 }

 private void DropMoveable (DragBase \_dragBase)
 {
 if (\_dragBase == dragBase)
 {
 doReturn = true;
 isHeld = false;

 if (moveSpeed <= 0f)
 {
 transform.position = originalPosition;
 transform.rotation = originalRotation;
 }

 if (KickStarter.player)
 {
 KickStarter.player.upMovementLocked = KickStarter.player.downMovementLocked = KickStarter.player.leftMovementLocked = KickStarter.player.rightMovementLocked = false;
 }
 }
 }

}

```
Move the Player while on a moving platform

This script lets the Player character be moved normally, while also being on a moving platform e.g. a lift/elevator.

To use it:

1. Attach the Moveable component to the platform, and use the Object: Transform Action to move it
2. Create a new C# file named TransferMoveable and copy/paste the script below
3. Attach the new Transfer Moveable component to the platform and assign the Moveable component
4. If you want to disable the effects (e.g. move the platform while the Player is not on it), use the Object: Call event Action to disable the component

TransferMoveable.cs:

```
using UnityEngine;
using AC;

[DefaultExecutionOrder (-1)]
public class TransferMoveable : MonoBehaviour
{

 public Moveable moveable;
 private Vector3 offset;
 private Vector3 updatePosition;

 void Update ()
 {
 offset = KickStarter.player.Transform.position - transform.position;
 updatePosition = KickStarter.player.Transform.position;
 }

 void LateUpdate ()
 {
 Vector3 deltaPosition = Vector3.zero;
 if (KickStarter.player.charState != CharState.Idle)
 {
 deltaPosition = KickStarter.player.Transform.position - updatePosition;
 }

 if (moveable.IsMoving ())
 {
 KickStarter.player.Transform.position = transform.position + offset + deltaPosition;
 }
 }

}

```
Multi-touch draggables

This script, placed in the scene, allows you to touch multiple draggable objects at once, when playing on a touch-screen device.

MultiTouchDraggables.cs

```
using UnityEngine;

namespace AC

{

	public class MultiTouchDraggables : MonoBehaviour

	{

		[SerializeField] private DragBase dragBase = null;

		private void Update ()

		{

			if (dragBase.IsHeld)

			{

				return;

			}

			if (Input.touchCount < 2 || !KickStarter.stateHandler.IsInGameplay ())

			{

				return;

			}

			if (Input.GetTouch (0).phase == TouchPhase.Ended)

			{

				HeldObjectData heldObjectData = KickStarter.playerInput.GetHeldObjectData (dragBase);

				heldObjectData.TouchIndex = 0;

			}

			if (Input.GetTouch (1).phase != TouchPhase.Began)

			{

				return;

			}

			Ray ray = KickStarter.CameraMain.ScreenPointToRay (Input.GetTouch (1).position);

			RaycastHit hit;

			if (Physics.Raycast (ray, out hit, KickStarter.settingsManager.moveableRaycastLength, 1 << LayerMask.NameToLayer (KickStarter.settingsManager.hotspotLayer)))

			{

				DragBase _dragBase = hit.collider.GetComponent<DragBase> ();

				if (_dragBase && _dragBase == dragBase)

				{

					HeldObjectData[] heldObjectDatas = KickStarter.playerInput.GetHeldObjectData ();

					if (heldObjectDatas != null)

					{

						heldObjectDatas[0].TouchIndex = 0;

					}

					dragBase.Grab (hit.point);

					HeldObjectData heldObjectData = KickStarter.playerInput.GetHeldObjectData (dragBase);

					heldObjectData.TouchIndex = 1;

				}

			}

		}

	}

}

```
Limiting a Hotspot to multiple cameras

Hotspots have a Limit to camera field, which causes them to only be active when the chosen camera is active.  However, only one camera can be selected.   This script allows you to define multiple limiting cameras for a given Hotspot, as well as negate the effect - to prevent a Hotspot from being interactive if a given camera is active.

To use it:

1. Paste the code in a C# script named MultiLimitHotspotCamera
2. Set the script's Script Execution Order to a negative value
3. Attach it to a Hotspot, and fill out the fields in the Inspector.
4. Optional: To negate the effect, check "Negate Effect" and assign an unused GameCamera in the "Dummy Cam" field.

MultiLimitHotspotCamera.cs:

```
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using AC;

public class MultiLimitHotspotCamera : MonoBehaviour
{

 [SerializeField] private Hotspot hotspot = null;
 [SerializeField] private List<\_Camera> limitToCameras = new List<\_Camera>();
 [SerializeField] private bool negateEffect = false;
 [SerializeField] private \_Camera dummyCam = null;

 private void OnEnable () { EventManager.OnSwitchCamera += SwitchCamera; }
 private void OnDisable () { EventManager.OnSwitchCamera -= SwitchCamera; }

 private void SwitchCamera (\_Camera old, \_Camera newCamera, float transitionTime)
 {
 if (negateEffect)
 {
 if (limitToCameras.Contains (newCamera))
 {
 hotspot.limitToCamera = dummyCam;
 }
 else
 {
 hotspot.limitToCamera = newCamera;
 }
 }
 else
 {
 if (limitToCameras.Contains (newCamera))
 {
 hotspot.limitToCamera = newCamera;
 }
 }
 }

}

```
Adventure Creator Wikia

## Welcome to the Adventure Creator Wikia

This is a community-led source of tips and tricks for using Adventure Creator, the adventure game toolkit for Unity. Advice, techniques, and scripts can all be shared here by AC users.

Please read the brief list of Posting Guidelines before posting. We have two categories: General and Integrations. When creating pages, please tag it up with the appropriate category. A guide to working with wikia pages can be found here. The focus of this wiki should be on content rather than presentation, however, so please consider posting your tips even if you have little time.

This wiki is intended as a supplement to the official AC education resources, and is not an official guide.

* General tips and tricks
* Third-party integrations

#### Official links

* Main website
* Asset Store page
* Forum
* Tutorials
Auto-pause the game when losing focus

This script auto-pauses the game when the window that its running in loses focus. To use it, attach it as a component to a GameObject in your scenes.

**PauseFocus.cs**

```
using UnityEngine;

using System.Collections;

using AC;

public class PauseFocus : MonoBehaviour

{

    private bool isPaused;

    private void OnApplicationFocus (bool hasFocus)

    {

        if (KickStarter.stateHandler.gameState == GameState.Paused)

        {

            return;

        }

        IsPaused = !hasFocus;

    }

    private void OnApplicationPause (bool pauseStatus)

    {

        if (KickStarter.stateHandler.gameState == GameState.Paused)

        {

            return;

        }

        IsPaused = pauseStatus;

    }

    private bool IsPaused

    {

        set

        {

            if (isPaused != value)

            {

                isPaused = value;

                if (isPaused)

                {

                    KickStarter.sceneSettings.PauseGame ();

                }

                else

                {

                    KickStarter.sceneSettings.UnpauseGame (1f);

                }

            }

        }

    }

}

```
Área de humanidades

En el área de humanidades podrás encontrar información a cerca de diferentes carreras que pertenecen a las humanidades, desde el perfil del aspirante hasta las universidades que la ofrecen. Las humanidades guardan relación con el ser humano, y su comportamiento en sociedad, analizando su interacción con esta y con sigo mismo. Carreras centrales a discutir:

\* Ciencias políticas.

\* Derecho

 \* Psicología

\* Finanzas.
ÁREA DE SALUD

**En esta área del wiki podrás encontrar todo lo referido a las distintas ramas de la salud teniendo en cuenta el perfil necesario. De igual forma, contarás con las propuestas que ofrecen las universidades para que así sea más fácil tu elección.**

**El Área de la salud es un área estrechamente ligada a estudios de biología, química, psicología, etc..., esta se encarga de velar por el cuidado de las personas por muchos medios, ya se por recitación medica, ayuda psicológica, cirugía, ortopedia,etc..., esto es consideradas una de las carreras mas extensas en la modernidad, ya que el paso universitario va desde 10 a 12 semestres, y la especialización en un área puede tomar el mismo tiempo. Normalmente las practicas universitaria básicas de esta carrera se encarga de reconocer al cuerpo humano como tal, por lo tanto se ve propensa teoría sobre este y en la practica con modelos a tamaño real e investigaciones morfológicas (cuerpos inertes).**

* ***Odontología***
* ***Medicina***
* ***Veterinaria***
* ***Enfermería***
ARTES

**El arte es entendido generalmente como cualquier actividad o**
producto realizado por el ser humano con una finalidad estética y
también comunicativa, mediante la cual se expresan ideas,emociones o, en
 general, una visión del mundo, a través de diversos recursos, como
los plásticos, lingüísticos, sonoros, corporales y mixtos. (Extraído de Wikipedia)

**En esta área puedes encontrar varios tipos de artes:**

* ***Pintor***
* ***Escultor***
* ***Dibujante***
* ***Artes escénicas***
* ***Arquitectura***
* ***Artes marciales mixtas***

 -Otros

**Aquí puedes demostrar tu talento, expresándote, si te gusta el arte.. ¿Qué esperas?**
Shifting inventory with drag-and-drop

This script allow for inventory shift left/right buttons to work while the mouse is drag-and-dropping inventory items.  This only works with Unity UI-based Inventory Menus.  To use it, attach the script file to your UI Button(s) and update the prefab.

```
/\*
 \*
 \*    Adventure Creator
 \*    by Chris Burton, 2013-2017
 \*
 \*    "DragDropInventoryButton.cs"
 \*
 \*    This script can let Unity UI Buttons be invoked when the cursor is held over it, with a drag-and-drop inventory item selected, after a set time.
 \*    It is useful for shift left/right buttons in your Unity UI, so that you can scroll inventory items when one is selected.
 \*    'Drag and drop inventory?' must be checked in the Settings Manager.
 \*    To use it, attach it to your Unity UI Button.
 \*
 \*/

using System;
using UnityEngine;
using UnityEngine.EventSystems;
using AC;

public class DragDropInventoryButton : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{

    [SerializeField] private UnityEngine.UI.Button uiButton;
    [SerializeField] private float totalHoldTime = 0.4f;

    private bool isOver = false;
    private float currentHold;

    private void Awake ()
    {
        if (uiButton == null)
        {
            uiButton = GetComponent <UnityEngine.UI.Button>();
        }
    }

    public void OnPointerEnter (PointerEventData eventData)
    {
        if (!isOver && uiButton != null && AC.KickStarter.playerInput.GetDragState () == DragState.Inventory)
        {
            StartWait ();
        }
    }

    public void OnPointerExit (PointerEventData eventData)
    {
        isOver = false;
    }

    private void Update ()
    {
        if (isOver)
        {
            if (KickStarter.playerInput.GetMouseState () != MouseState.HeldDown)
            {
                isOver = false;
            }

            if (currentHold > 0f)
            {
                currentHold -= Time.deltaTime;

                if (currentHold <= 0f)
                {
                    uiButton.onClick.Invoke ();
                    StartWait ();
                }
            }
        }
    }

    private void StartWait ()
    {
        isOver = true;
        currentHold = totalHoldTime;
    }

}

```
Limited Inventory

This limits the amount of items you can add to your inventory from a container. To use it:

1. In the **Container** menu, select the **ContainerItems** element and set its **Click behaviour** property to **Select Item Only**.
2. Select the **PlayerInventory** element and set its **Inventory box type** property to **Custom Script**.
3. Select the TakeAllButton element and set its **Click type** to **Custom Script**.
4. Copy/paste the script below into a new C# file named **LimitItemsFromContainer**.
5. Attach the new **Limit Items From Container** component to a GameObject in the scene.

LimitItemsFromContainer.cs:

```
using UnityEngine;
using AC;

public class LimitItemsFromContainer : MonoBehaviour
{

 public int maxItems = 5;
 public bool includeMultipleItemsInSameSlot = true;

 private void OnEnable () { EventManager.OnMenuElementClick += OnMenuElementClick; }
 private void OnDisable () { EventManager.OnMenuElementClick -= OnMenuElementClick; }

 private void OnMenuElementClick (Menu menu, MenuElement element, int slot, int buttonPressed)
 {
 if (menu.title == "Container")
 {
 if (element.title == "PlayerInventory")
 {
 MenuInventoryBox inventoryBox = element as MenuInventoryBox;
 InvInstance selectedInstance = KickStarter.runtimeInventory.SelectedInstance;
 InvInstance clickedInstance = inventoryBox.GetInstance (slot);

 if (InvInstance.IsValid (selectedInstance))
 {
 Container container = selectedInstance.GetSourceContainer ();

 if (InvInstance.IsValid (clickedInstance) && container)
 {
 if (!clickedInstance.IsMatch (selectedInstance, false))
 {
 KickStarter.runtimeInventory.PlayerInvCollection.Insert (selectedInstance, slot + element.GetOffset (), OccupiedSlotBehaviour.SwapItems);
 KickStarter.runtimeInventory.SetNull ();
 return;
 }
 }

 if (!IsFull ())
 {
 inventoryBox.inventoryBoxType = AC\_InventoryBoxType.Default;
 inventoryBox.HandleDefaultClick (MouseState.SingleClick, slot);
 inventoryBox.inventoryBoxType = AC\_InventoryBoxType.CustomScript;
 }
 }
 else
 {
 if (InvInstance.IsValid (clickedInstance))
 {
 clickedInstance.Select ();
 }
 }
 }
 else if (element.title == "TakeAllButton")
 {
 Container container = (menu.GetElementWithName ("ContainerItems") as MenuInventoryBox).OverrideContainer;
 if (container == null) container = KickStarter.playerInput.activeContainer;
 if (container == null) return;

 if (IsFull ()) return;

 for (int i = 0; i < container.InvCollection.InvInstances.Count; i++)
 {
 InvInstance invInstance = container.InvCollection.InvInstances[i];
 if (!InvInstance.IsValid (invInstance)) continue;

 invInstance.TransferCount = 1;
 InvInstance transferInstance = invInstance.CreateTransferInstance ();

 KickStarter.runtimeInventory.PlayerInvCollection.Add (transferInstance);
 KickStarter.runtimeInventory.SetNull ();
 i--;

 if (IsFull ()) return;
 }
 }
 }
 }

 private bool IsFull ()
 {
 int numItems = KickStarter.runtimeInventory.PlayerInvCollection.GetCount (includeMultipleItemsInSameSlot);
 return numItems >= maxItems;
 }

}

```
Changing item graphics with amount

By default, an inventory item will show the same texture when displayed in Menus, regardless of how many of that item are held by the Player. This script allows you to change the texture based on the item's amount, so that you can show e.g. a single coin if the Player has 1 Money item, or a bunch of coins if they have 10.

To use it:

1. Copy/paste the code below into a C# script named MultipleItemGraphics.
2. In the Settings Manager's "Inventory" panel, set **Selected item's display** to **Show Selected Graphic**.
3. In the Inventory item's properties, check **Can carry multiple?**.
4. Note the item's ID value, shown to the left of it's name in the "Inventory items" panel.
5. Attach the new Multiple Item Graphics component to a GameObject in the scene, and set its **Item ID** value to match the ID in step 4.
6. Set the **Alternative Graphics** array size to match the number of non-default textures you have, and assign the details of which texture to use, and the minimum amount necessary for it to show.

MultipleItemGraphics.cs:

```
using System;
using UnityEngine;
using AC;

public class MultipleItemGraphics : MonoBehaviour
{

 public int itemID;
 public AlternativeGraphic[] alternativeGraphics;

 private void OnEnable ()
 {
 Array.Sort (alternativeGraphics, delegate (AlternativeGraphic x, AlternativeGraphic y) { return y.minCount.CompareTo (x.minCount); });
 }

 private void Update ()
 {
 UpdateGraphics ();
 }

 private void UpdateGraphics ()
 {
 bool updateUI = false;
 foreach (InvInstance invInstance in KickStarter.runtimeInventory.PlayerInvCollection.InvInstances)
 {
 if (UpdateItem (invInstance, false))
 {
 updateUI = true;
 }
 }
 if (updateUI)
 {
 PlayerMenus.ResetInventoryBoxes ();
 }

 UpdateItem (KickStarter.runtimeInventory.SelectedInstance, true);
 }

 private bool UpdateItem (InvInstance invInstance, bool isSelected)
 {
 if (!InvInstance.IsValid (invInstance) || invInstance.ItemID != itemID) return false;
 int count = isSelected ? invInstance.TransferCount : invInstance.Count;

 if (!isSelected && KickStarter.runtimeInventory.SelectedInstance == invInstance && count != invInstance.TransferCount)
 {
 count -= invInstance.TransferCount;
 }

 Texture newTexture = null;

 foreach (AlternativeGraphic ag in alternativeGraphics)
 {
 if (count >= ag.minCount)
 {
 newTexture = ag.texture;
 break;
 }
 }

 Texture originalTexture = invInstance.Tex;
 if (invInstance.Tex != newTexture)
 {
 invInstance.Tex = newTexture;
 if (isSelected)
 {
 invInstance.SelectedTex = originalTexture;
 }
 return true;
 }
 if (isSelected)
 {
 invInstance.SelectedTex = null;
 }
 return false;
 }

 [System.Serializable]
 public class AlternativeGraphic
 {
 public int minCount;
 public Texture2D texture;
 }

}

```
Displaying the cursor in Unity UI

This script moves display of the cursor to Unity UI, allowing you to add further effects to it if necessary. It requires AC v1.63.0 or later.

To use it:

1. In the Cursor Manager, set the Cursor rendering mode to Hardware
2. Create a new UI Canvas in the scene, and attach a new RawImage as a child object
3. Attach the script below to the RawImage component

UnityUICursor.cs:

```
using UnityEngine;

using System.Collections;

using UnityEngine.UI;

using AC;

public class UnityUICursor : MonoBehaviour

{

	public Texture2D emptyTexture;

	private RawImage rawImage;

	private void OnEnable ()

	{

		EventManager.OnSetHardwareCursor += OnSetHardwareCursor;

		rawImage = GetComponent <RawImage>();

	}

	private void OnDisable ()

	{

		EventManager.OnSetHardwareCursor -= OnSetHardwareCursor;

	}

	private void Update ()

	{

		rawImage.rectTransform.position = Input.mousePosition;

	}

	private void OnSetHardwareCursor (Texture2D texture, Vector2 clickOffset)

	{

		Cursor.SetCursor (emptyTexture, Vector2.zero, CursorMode.Auto);

		rawImage.texture = (texture != null) ? texture : emptyTexture;

	}

}

```
Veterinaria

**VETERINARIA**

**PROBABILIDAD DE TRABAJO**

Actualmente, los estudios de veterinaria tienen muy buenas perspectivas laborales. Según la Encuesta de Población Activa (EPA) elaborada por el Instituto nacional de estadistica (INE), los profesionales de este sector tienen una tasa de empleo del 80,48%. Este porcentaje sitúa a los veterinarios en la cuarta posición de los titulados con menos paro, precedidos por los matemáticos, servicios de seguridad y abogados.
FinalIK head-turning

This script allows characters to rely on FinalIK's **Look At IK** component when turning their head. To use it, add the **Look At IK** component to your character's base and configure it. Then, add the following code to the character, and assign the two fields.

*FinalIKHeadTurn.cs*

```
using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using AC;

using RootMotion.FinalIK;

public class FinalIKHeadTurn : MonoBehaviour

{

	#region Variables

	[SerializeField] private LookAtIK lookAtIK;

	[SerializeField] private Char character;

	private Transform headTurnTarget;

	private LerpUtils.FloatLerp headWeightLerp = new LerpUtils.FloatLerp (true);

	private Vector3 offset;

	private float headWeight = 0f;

	private const float headTurnSpeed = 5f;

	#endregion

	#region UnityStandards

	private void OnEnable ()

	{

		EventManager.OnSetHeadTurnTarget += SetLookAtTarget;

		EventManager.OnClearHeadTurnTarget += ClearLookAtTarget;

	}

	private void OnDisable ()

	{

		EventManager.OnSetHeadTurnTarget -= SetLookAtTarget;

		EventManager.OnClearHeadTurnTarget -= ClearLookAtTarget;

	}

	private void Update ()

	{

		headWeight = headWeightLerp.Update (headWeight, (headTurnTarget != null) ? 1f : 0f, headTurnSpeed);

	}

	private void LateUpdate ()

	{

		if (lookAtIK)

		{

			if (headTurnTarget)

			{

				lookAtIK.solver.IKPosition = headTurnTarget.position + offset;

			}

			lookAtIK.solver.IKPositionWeight = headWeight;

		}

	}

	#endregion

	#region PublicFunctions

	public void SetLookAtTarget (Char character, Transform headTurnTarget, Vector3 offset, bool isInstant)

	{

		if (headTurnTarget != null && character == this.character)

		{

			this.headTurnTarget = headTurnTarget;

			this.offset = offset;

			if (isInstant)

			{

				headWeight = 1f;

				headWeightLerp.Update (1f, 1f, headTurnSpeed);

			}

		}

	}

	public void ClearLookAtTarget (Char character, bool isInstant)

	{

		if (character == this.character)

		{

			headTurnTarget = null;

			if (isInstant)

			{

				headWeight = 0f;

				headWeightLerp.Update (0f, 0f, headTurnSpeed);

			}

		}

	}

	public void ClearLookAtTarget (Transform _headTurnTarget)

	{

		if (headTurnTarget == _headTurnTarget)

		{

			headTurnTarget = null;

		}

	}

	#endregion

}

```
Arquitectura

La arquitectura es el arte y la técnica de proyectar, diseñar, construir y modificar el hábitat humano, incluyendo edificios de todo tipo, estructuras arquitectónicas y urbanas y espacios arquitectónicos. (Extraído de Wikipedia)

En este artículo daremos una introducción al área de la Arquitectura, que tratará sobre una reseña, pénsum de las mejores universidades, ventajas, personajes característicos de la carrera y la probabilidad de trabajo. Este será el orden en el que trabajaremos estos temas:

* ***Reseña.***
* ***Pénsum.***
* ***Ventajas y desventajas.***
* ***Personajes característicos.***
* ***Probabilidad de trabajo.***

**Reseña:**

Se dice que la arquitectura descansa en tres principios: la Belleza (*Venustas*), la Firmeza (*Firmitas*) y la Utilidad (*Utilitas*). La arquitectura se puede definir, entonces, como un equilibrio entre estos tres elementos, sin sobrepasar ninguno a los otros. No tendría sentido tratar de entender un trabajo de la arquitectura sin aceptar estos tres aspectos. (Extraido de Wikipedia)

En nuestra opinión La Arquitectura es una carrera que trata sobre hacer realidad tus gustos; te impulsa a ser innovador y creativo. Para ser arquitecto debes ser una persona que sabe expresar el concepto de la realidad junto con el entorno, no tiene unas características definidas.

**Pénsum:**

Las principales materias que ve un arquitecto son:

* Taller de proyectos
* Geometría descriptiva
* Pensamiento gráfico
* Teoría
* Tecnología
* Acondicionamiento ambiental
* Construcción
* Urbanismo

**Ventajas y desventajas:**

- Ventajas

* Es muy versátil en el campo de actuación.
* Trabaja conceptos generales del arte.
* Se ve lo que se proyecta (Creativo).

- Desventajas

* La carrera es pesada.
* No siempre valoraran tu trabajo.
* Es muy difícil establecerse.

**Personajes característicos:**

* William Morris, Reino Unido (1834-1896).
* Antoni Gaudí, España (1852-1926).
* Frank Lloyd Wright, EE.UU (1867-1959).

**Probabilidad de trabajo:**

Se logran unas mayores posibilidades de trabajo en Europa, países como : Alemania, Italia, Francia. En Asia como: Japón e India. En América como EE.UU, Colombia, Brasil, Argentina.

CATEGORÍA:ÁREA ARTES
SALUD

**En**
 esta área del wiki podrás encontrar todo lo referido a las distintas
ramas de la salud teniendo en cuenta el perfil necesario. De igual
forma, contarás con las propuestas que ofrecen las universidades para
que así sea más fácil tu elección.

**El**
 Área de la salud es un área estrechamente ligada a estudios de
biología, química, psicología, etc..., esta se encarga de velar por el
cuidado de las personas por muchos medios, ya se por recitación medica,
ayuda psicológica, cirugía, ortopedia,etc..., esto es consideradas una
de las carreras mas extensas en la modernidad, ya que el paso
universitario va desde 10 a 12 semestres, y la especialización en un
área puede tomar el mismo tiempo. Normalmente las practicas
universitaria básicas de esta carrera se encarga de reconocer al cuerpo
humano como tal, por lo tanto se ve propensa teoría sobre este y en la
practica con modelos a tamaño real e investigaciones morfológicas
(cuerpos inertes).

* ***Odontología***

* ***Medicina***

* ***Veterinaria***

* ***Enfermería***
Wikia talk:Portal de la comunidad

¡Esta es la **página de discusión general** del wiki! Los fundadores del wiki deberían dejar aquí un mensaje de bienvenida y alentar a los nuevos editores y visitantes a participar en el wiki. Utilizad esta página para dejar avisos sobre novedades o las últimas noticias referentes al wiki, también podéis usar el **foro** para comunicaros con los usuarios.
ÁREA DE ARTES

**El arte es entendido generalmente como cualquier actividad o producto realizado por el ser humano con una finalidad estética y también comunicativa, mediante la cual se expresan ideas,emociones o, en general, una visión del mundo, a través de diversos recursos, como los plásticos, lingüísticos, sonoros, corporales y mixtos. (Extraído de Wikipedia)**

**En esta área puedes encontrar varios tipos de artes:**

* ***Pintor***
* ***Escultor***
* ***Dibujante***
* ***Artes escénicas***
* ***Arquitectura***
* ***Artes marciales mixtas***

 -Otros

**Aquí puedes demostrar tu talento, expresándote, si te gusta el arte.. ¿Qué esperas?**

Categoria: ÁREA DE ARTES
MEDICINA

La medicina es la ciencia que se encarga del estudio de la vida , la salud, las enfermedades y la muerte.

Tiene como fin:

* La prevención de enfermedades y lesiones y la promoción y la conservación de la salud
* El alivio del dolor y el sufrimiento causados por males
* La atención y curación de los enfermos y los cuidados a los incurables
* Evitar la muerte prematura y la búsqueda de una muerte tranquila.

#### **Reseña**

Mi interés en estudiar medicina se basa en la pasión por el servicio ,el querer darle a las personas una vida mas cómoda, el gusto hacia los misterios del cuerpo humano y su funcionamiento y las ganas de encontrar la cura alguna de las enfermedades que no se les ha podido dar una cura.

#### Hay ciertas materia basicas que cualquier persona con interes en la medicina , sea cual sea la universidad, debe cruzar, como:

* introduccion a la medicina
* Anatomia
* bioestatica
* bioetica
* biologia celular
* biofisica
* epidermiologia
* clinica medica
* psiquiatria
* salud ocupacional
* fisiologia
* pediatria
* medicina forence
* tecnicas quirurgicas
* medicina social
* microbiologia
* bioquimica
* fisiologia
* inmunologia
* embrionologia
* patologia
* sistema cardiovascular
* sistema nervioso
* sistema osteomuscular
* oftamologia y otorrinolaringologia
* sistema reproductivo
* sistema urinario y renal
* sistema respiratorio
* sistema gastrointestinal y nutricion.
* farmacologia
* semiologia
* paracitologia
* pediatria
* ortopedia
* urologia
* medicin ainterna
* ginecologia y obstetricia
* anestecia
* neurologia
* reanimacion basica y avanzada
* principio del desarrollo humano

#### **Ventajas**

* la satisfacción personal. Y es que no son pocos los profesionales de la medicina que indican que quitar el dolor y salvar vidas son experiencias tan profundas que consiguen que cualquier desventaja de su trabajo merezca la pena.
* los médicos gozan de un gran prestigio social y reciben sueldos elevados en comparación con los profesionales de otras formaciones universitaria.
* Del mismo modo, la formación en medicina forma un carácter disciplinado que termina convirtiéndose en una gran ventaja en la vida y suele ir pareja a un notable aumento de la cultura y el conocimiento.
* los médicos transmiten una gran seguridad a sus familiares y posiblemente puedan salvar la vida de algún allegado en caso de accidente, infarto u otra enfermedad
Artes marciales mixtas

***Reseña:***

"Se denomina artes marciales mixtas (conocidas frecuentemente por sus siglas en inglés, **MMA** o *Mixed Martial Arts*) a la combinación de varias artes marciales con fines de emplearla como método de defensa personal y/o para la competición en el deporte de combate." Información extraída de wikipedia.

Las artes marciales mixtas son un deporte de contacto en el cual realizar golpes cuerpo a cuerpo con la intención de knockear( es el acto de derribar al oponente de un solo puño o patada) al oponente, también se pueden encontrar artes como el jiu jitsu brasileño en el cual la intención es someter al otro mediante distintas técnicas, también esta la lucha o muchas mas artes distintas, pero lo bueno de las artes marciales mixtas es que las involucra a todas en una es decir, en un combate de mixtas se pueden utilizar todas las artes.

**Centros de entrenamiento:**

Connection Rio: Esta academia se encuentra ubicada en Rio de Janeiro Brasil, esta esta abierta a todas las personas del mundo solo se tiene que pagar la estadía, este centro de entrenamiento ofrece distintas actividades, entrenamientos de jiu jitsu con algunos de los mejores jiujiteros del mundo, surf en las horas extras e incluso competir allá mismo en brasil, ofrece gimnasio y muchas amistades con diferentes personas, para concluir connection rio es un gran lugar para aprender de distintas personas si quieres salir adelante en este deporte.

Renzo gracie Bjj

Esta academia se encuentra ubicada en New york, en esta academia se ofrecen clases con algunos de los mejores luchadores de bjj, por ejemplo renzo gracie que pertenece a la familia Gracie la cual es una de las principales en el jiu jitsu brasileño, en esta academia los entrenamientos son muy dinámicos y con muchas mas personas.

Personajes de las artes marciales mixtas:

Conor " The Notorius" Mcgregor: Es el actual campeón de la división pluma de la ufc.

Woodley tyron: Es el actual campeón de la división "welter" de la ufc.

Michael bisping Es el actual campeón de la división mediana de la ufc.

Miocic stipe Es el actual campeón de la división peso completo de la ufc.

Johnson demetrious Es el actual campeón de la división " Peso mosca" de la ufc
Quirrik

Quirrik was a Warlock Engineer of the famed Clan Skryre whose sinister machinations were set upon destroying the Imperial City of Middenheim, crown jewel of the Northern part of the Empire. Using his twin talents of an innate knowledge of mechanical engineering married with a dark knowledge of the magical Warpstone, Quirrik's fearsome creations included the terrifying Rat Golem, as well as a trio of technologically-advanced Rat Ogres known as Stormfiends.

While the Assasins of Skreek Deathstrike roamed the sewers beneath Middenheim's cobbled streets, and the vermin burrows of Kapcha's monstrous Rat Ogres sat a level below that, Quirrik's extensive laboratory complex sat in the lowest recesses of the Fauschlag, the mighty slab of rock upon which Middenheim stands. By comparison to the hastily scratch-tunnelled lair above it, the laboratory was a maze of smoothly-walled tunnels and high-vaulted ceilings, potentially signifying an ancient Dwarven mine, long-since abandoned.

It was here that Quirrik began work on what was to be his greatest accomplishment, the melding of monster and machine which birthed the Rat Golem. A crude design by his later standards, the Golem became Quirrik's incorruptible bodyguard, roaming the halls as a stark warning to the conniving assassins of Skreek Deathstrike and opportunistic packmaster Kapcha.
ODONTOLOGÍA

reseña:

La odontología es una de las ciencias de la salud que se encarga del diagnóstico, tratamiento y prevención de las enfermedades del aparato estomatognático, el cual incluye además de los dientes, las encías, el tejido periodontal, el maxilar superior, el maxilar inferior y la articulación temporomandibular.

• Diagnostica y soluciona problemas concernientes a la salud oral, individual y colectiva con criterios preventivos y científicos.
• Practica su profesión con sentido educativo y de servicio, demostrando una actitud interdisciplinaria y humanística.
• Investiga los problemas científicos y técnicos de la odontología, haciendo uso de los recursos informáticos y de las nuevas tecnologías.
• Gerencia y lidera proyectos mono e interdisciplinarios relativos a la salud oral de la población.
• Vinculado a la comunidad científica y gremial, nacional e internacional, mediante propuestas creativas de repercusión social.
• Desempeña su profesión en forma honesta y responsable frente a la sociedad, su propia persona, la universidad y el gremio odontológico.
• Educa a sus pacientes y a los odontólogos del futuro.

Énfasis: 38 créditos
El plan de estudios está dividido en tres ciclos de formación:
1. Ciclo de FORMACIÓN BÁSICA (I - III semestre)
2. Ciclo de FUNDAMENTACIÓN ODONTOLÓGICA (IV-VII semestre)
3. Ciclo de DESEMPEÑO PROFESIONAL (VIII-X semestre)
En cada ciclo las asignaturas están divididas por áreas del conocimiento:
1. Área Básica Biomédica
2. Área Clínica
3. Área Investigativa
4. Área Comunitaria
5. Área de Fundamentación Odontológica
6. Área Administrativa
7. Área Humanística
Las prácticas clínicas y preclínicas en la carrera de odontología se inician desde el I semestre; las prácticas comunitarias se realizan desde el III semestre y las prácticas hospitalarias y el Internado Rural Rotatorio en el IX semestre.

* http://www.javeriana.edu.co/carrera-odontologia
* http://www.ces.edu.co/index.php/perfil-profesional
* https://www.google.com.co/search?safe=strict&tbm=isch&q=student&oq=&gs\_l=#safe=strict&tbm=isch&q=ODONTOLOGIA&imgrc=epyNwxAko2ZFHM%3A
Third Person Motion Controller integration

This script integrates AC with ooti's Third Person Motion Controller asset.

The construction of this script is covered in this tutorial on the AC website.

To use it:

1. To your Motion Controller character, add either AC's Player or NPC component, depending on their type
2. In the Player or NPC Inspector, set their Animation engine to Custom, and Motion control to Manual
3. Create a C# script named CustomControllerLink and paste in the code below
4. Attach the Custom Controller Link component to your character
5. Make sure that your character has the Nav Mesh Input Source and Motion Controller components attached
6. Supply a Unity Input Source in the Inspector for the character to use when under player control during gameplay.

CustomControllerLink.cs:

```
using UnityEngine;
using System.Collections;
using com.ootii.Input;
using com.ootii.Actors.AnimationControllers;
using AC;

public class CustomControllerLink : MonoBehaviour
{

 private NavMeshInputSource navMeshInputSource;
 public UnityInputSource unityInputSource;
 private MotionController motionController;
 private Char acCharacter;

 private void Start ()
 {
 navMeshInputSource = GetComponent <NavMeshInputSource>();
 motionController = GetComponent <MotionController>();
 acCharacter = GetComponent <Char>();
 }

 private void Update ()
 {
 (!acCharacter.IsPlayer || KickStarter.settingsManager.movementMethod == MovementMethod.PointAndClick)
 {
 navMeshInputSource.TargetPosition = acCharacter.GetTargetPosition (true);
 motionController.InputSource = navMeshInputSource;
 }
 else
 {
 motionController.InputSource = unityInputSource;
 }
 }
}

```
Sinister Foxy

* Singleplayer
* Multiplayer

**Sinister Foxy** is one of the main antagonists in Sinister Turmoil.

## Appearance

Sinister Foxy is a bipedal animatronic Fox.

His main color is red; however, it is difficult to tell his appearance based on his outside appearance.

Sinister Foxy is much more unfinished than the rest of the Sinister Animatronics, and he is less cleaned up than the others, albeit not by very much.

He also appears to be missing a portion of his right arm; however that may have been the perspective at the time.

Sinister Foxy's head. (Nightmare form)sinister phantom foxy
Multiple IFs. Chained Variable:Check examples.

Note: this are two brief examples of how to create more complex conditional checks.

> You can chain Variable: Check Actions together so that they either all need to be true, or only one does, for the result to occur.
>
>
>
>
>
>
>
>
> For example, both Var 1 and Var 2 will need to be True here for the Engine: Pause Action to run:
>
>

> While here, Engine: Pause will be run if either of them are True:
>
>

> You'll want to use the ActionList Editor window for this, as it'll be much easier to work out what's going on if you're wiring things up with nodes.
>
>

[Original tip provided by ChrisIceBox]
INGENIERÍAS

**En**
 esta área del wiki se discutirán las principales ingenierías y las
universidades donde estas se encuentran. Las ingenierías implican el
estudio y aplicación de las ramas de la tecnología para concretar una
idea en la realidad.

**Principales ingenierías a discutir :**

* ***Ingeniería Civil***
* ***Ingeniería Mecánica***
* ***Ingeniería Administrativa***
* ***Ingeniería Biomédica***
* ***Ingeniería Financiera***
ÁREA DE DISEÑO E INNOVACIÓN

**En esta área se hablarán de temas relacionados al diseño y la innovación, ambos temas se desarrollarán de la siguiente manera:**

* ***Requerimientos para esta carrera(diseño)***
* ***Pensum***
* ***Fuentes de inspiración para innovar***
* ***Universidades***

**Después de leer estos artículos se te facilitará la tarea de elegir cual de los campos del diseño es el indicado para ti.**
ÁREA DE INGENIERÍA

**En esta área del wiki se discutirán las principales ingenierías y las universidades donde estas se encuentran. Las ingenierías implican el estudio y aplicación de las ramas de la tecnología para concretar una idea en la realidad.**

**Principales ingenierías a discutir :**

* ***Ingeniería Civil***
* ***Ingeniería Mecánica***
* ***Ingeniería Administrativa***
* ***Ingeniería Biomédica***
* ***Ingeniería Financiera***

Categoría: Ingeniería
UNIVERSIDADES PARA ESTUDIAR DISEÑO

* **Universidad Pontificia Bolivavariana:** brinda la oportunidad de estudiar multiples pregrados relacionados con el diseño, estos son:

1. Diseño Gráfico
2. Diseño industrial
3. Diseño de Vestuario

* **Colegiatura Colombiana:** es una universidad centrada en el ambito artistico ; entre las opciones estan:

1. Diseño de espacios/escenarios
2. Diseño gráfico
3. Diseño de modas
Retaliation

**Retaliation** is an upcoming game mode for Sinister Turmoil.

Retaliation is a mode that is very similar to Hunt in concept.

However, in this mode, the humans have a chance to more effectively defend against the animatronics using weapons found on the map.

Win conditions, however, are nearly identical to Hunt.
Staff Page

In this page you'll find ever person that has a rank on this wiki

**NOTE:Don't beg to get a rank,it won't happen m8**

## Admins and The Founder

Admins are the 2nd highest rank an user can get (not counting the "Founder" rank).This wiki currently has 2 Admins

 **Scientedfic** | Semi-active
 **PalomonsF** | Inactive

## Content Mods

Content Mod is a rank that is similar to the Rollback in a way that they have acess to the "Rollback Tool".Other functions they have are:Deleting and undeleting pages, page histories, and uploaded files,and Locking/Protecting the pages

 **Amir999990** | Active

## Keys

*Color keys based on a staff's activity*

* Active :The user is active almost every day
* Semi-Active :The user is active on random ocasions
* Inactive :The user isn't active for a long time
Wikia Wikiversity2016

## ¿De qué trata?

Este es un espacio para encontrar información y compartir datos sobre tu carrera, universidades y todo lo relacionado con la educación superior. Aquí puedes evidenciar varios tipos de estudios universitarios en el cual están divididos en sus respectivos ámbitos, para darle una mejor organización a los artículos y todo su desarrollo.

## Novedades

* Fecha- Texto de novedades
* Fecha- Texto de novedades

## Colabora con este wiki

Para escribir un artículo, ingresa el título en la caja de abajo.

<createbox>
width=24
break=no
buttonlabel=Crear un nuevo artículo
</createbox>

**¿No estás seguro por dónde comenzar?**

* Revisa **Ayuda:Comenzando este wiki** para conocer algunos consejos
* Si eres un novato respecto a los wikis, revisa **Ayuda:Empezando**
* Revisa el **Portal de la comunidad** para ver en qué está trabajando la comunidad

## Artículo destacado

 Archivo:Destacado.png
*Rellena aquí con el primer párrafo de un artículo que quieras destacar. No olvides incluir un enlace al artículo para que los visitantes puedan leerlo completo.*
Ran

**Ran**là 1 trong những Shugo Chara của Amu Hinamori.

## Ngoại hình

Ran mặc một chiếc váy cổ vũ màu hồng và đội một chiếc mũ lưỡi trai viền đỏ. Mái tóc hồng của cô buộc một bên bằng một chiếc kẹp tóc hình con cơ. Ran đeo một chiếc khăn màu đỏ ở cổ. Cô mặc một chiếc quần tròn, phồng ở trong bộ váy cổ vũ. Cô đi đôi giày thể thao nhẹ với đôi tất có viền đỏ ở trên. Mắt cô màu hồng. Cô thường hay mang những bông cổ vũ pom-poms có trái tim ở khắp nơi, nhưng khi đi ngủ trong trứng, lại hiếm khi thấy cô mang theo chúng.

## Tính cách

Ran là tinh linh hộ vệ nở đầu tiên của Amu. Cô đại diện cho tính cách thể thao và trung thực của Amu. Những người bạn bè của cô là: Miki, Suu và Dia. Ran gần như lúc nào cũng vui vẻ và tự tin, hiếm thấy cô chán nản. Nhưng vì cô ấy không có nhiều kĩ năng thể thao, nên cô thường cổ vũ cho bạn bè mình chủ yếu thay vì giúp đỡ. Đôi khi cô sử dụng những từ tiếng Anh như "yay!" và "go for it" khi cô cổ vũ.

## Chara Change

Cô cũng rất trung thực, như đã thấy trong lần đầu cô thực hiện Chara Change với Amu. Cô là một nhân vật rất năng động và có tinh thần cao, nên không thể bắt cô ngồi yên trong một thời gian dài. Ran là "siêu thể thao và tràn đầy tinh thần."