Advertisement
diegographics

Untitled

May 17th, 2017
568
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.78 KB | None | 0 0
  1. //MD5Hash:489a5e9b7987118c746801f7961eae12;
  2. using UnityEngine;
  3. using System;
  4. using UnityEngine.Events;
  5. using System.Collections.Generic;
  6.  
  7.  
  8. public class UMAMaker1 : UnityEngine.MonoBehaviour
  9. {
  10.     public UMA.UMAGeneratorBase generator = null;
  11.     public SlotLibrary slotLibrary = null;
  12.     public OverlayLibrary overlayLibrary = null;
  13.     public RaceLibrary raceLibrary = null;
  14.     public UnityEngine.RuntimeAnimatorController AnimationController = null;
  15.     public UMADynamicAvatar umaDynamicAvatar = null;
  16.     public UMA.UMAData umaData = null;
  17.     public UMA.UMADnaHumanoid umaDna = null;
  18.     public UMA.UMADnaTutorial umaTutorialDna = null;
  19.     public int numberOfSlots = 20;
  20.     public UMA.UMADataEvent umaDataEvent_CharacterCreated = null;
  21.     public UMA.UMADataEvent umaDataEvent_CharacterUpdated = null;
  22.     public UMA.UMADataEvent umaDataEvent_CharacterDestroyed = null;
  23.  
  24.  
  25.     public void Start()
  26.     {
  27.         GenerateUMA();
  28.     }
  29.     public void GenerateUMA()
  30.     {
  31.         UnityEngine.GameObject GO = new UnityEngine.GameObject("MyUMA");
  32.  
  33.         umaDynamicAvatar = GO.AddComponent<UMADynamicAvatar>();
  34.         GO = GO.AddComponent<Opsive.ThirdPersonController.Integration.UMA.UMACharacterBuilder>().gameObject;
  35.         GO = GO.AddComponent<Opsive.ThirdPersonController.Integration.UMA.UMAItemBuilder>().gameObject;
  36.         GO = GO.AddComponent<Opsive.ThirdPersonController.Sample.UMA.CharacterSetup>().gameObject;
  37.         umaDynamicAvatar.CharacterCreated = umaDataEvent_CharacterCreated;
  38.         umaDataEvent_CharacterCreated.AddListener(delegate (UMA.UMAData arg0)
  39.         {
  40.             CharacterCreaded(arg0, GO);
  41.         });
  42.         umaDynamicAvatar.CharacterUpdated = umaDataEvent_CharacterUpdated;
  43.         umaDataEvent_CharacterUpdated.AddListener(CharacterUpdated);
  44.         umaDynamicAvatar.CharacterDestroyed = umaDataEvent_CharacterDestroyed;
  45.         umaDataEvent_CharacterDestroyed.AddListener(CharactherDestroyed);
  46.         umaDynamicAvatar.Initialize();
  47.         umaData = umaDynamicAvatar.umaData;
  48.         umaDynamicAvatar.umaGenerator = generator;
  49.         umaData.umaGenerator = generator;
  50.         ///Set up slot Array
  51.         umaData.umaRecipe.slotDataList = new UMA.SlotData[numberOfSlots];
  52.         umaDna = new UMA.UMADnaHumanoid();
  53.         umaTutorialDna = new UMA.UMADnaTutorial();
  54.         umaData.umaRecipe.AddDna(umaDna);
  55.         umaData.umaRecipe.AddDna(umaTutorialDna);
  56.         CreateMale();
  57.         umaDynamicAvatar.animationController = AnimationController;
  58.         umaDynamicAvatar.UpdateNewRace();
  59.         GO.transform.parent = this.gameObject.transform;
  60.         GO.transform.localPosition = UnityEngine.Vector3.zero;
  61.         GO.transform.localRotation = UnityEngine.Quaternion.identity;
  62.     }
  63.     public void CreateMale()
  64.     {
  65.         UMA.UMAData.UMARecipe UmaRecipe = null;
  66.  
  67.         UmaRecipe = umaDynamicAvatar.umaData.umaRecipe;
  68.         UmaRecipe.SetRace(raceLibrary.GetRace("HumanMale"));
  69.         ///Generate Eyes
  70.         umaData.umaRecipe.slotDataList[0] = slotLibrary.InstantiateSlot("MaleEyes");
  71.         ///Generate Eyes
  72.         umaData.umaRecipe.slotDataList[0].AddOverlay(overlayLibrary.InstantiateOverlay("EyeOverlay"));
  73.         ///Generate InnerMouth
  74.         umaData.umaRecipe.slotDataList[1] = slotLibrary.InstantiateSlot("MaleInnerMouth");
  75.         ///Generate InnerMouth
  76.         umaData.umaRecipe.slotDataList[1].AddOverlay(overlayLibrary.InstantiateOverlay("InnerMouth"));
  77.         ///Generate Head
  78.         umaData.umaRecipe.slotDataList[2] = slotLibrary.InstantiateSlot("MaleFace");
  79.         ///Generate Head
  80.         umaData.umaRecipe.slotDataList[2].AddOverlay(overlayLibrary.InstantiateOverlay("MaleHead02"));
  81.         ///Generate Torso
  82.         umaData.umaRecipe.slotDataList[3] = slotLibrary.InstantiateSlot("MaleTorso");
  83.         umaData.umaRecipe.slotDataList[3].AddOverlay(overlayLibrary.InstantiateOverlay("MaleBody02"));
  84.         ///Generate Hands
  85.         umaData.umaRecipe.slotDataList[4] = slotLibrary.InstantiateSlot("MaleHands");
  86.         ///Generate Hands
  87.         umaData.umaRecipe.slotDataList[4].SetOverlayList(umaData.umaRecipe.slotDataList[3].GetOverlayList());
  88.         ///Generate Legs
  89.         umaData.umaRecipe.slotDataList[5] = slotLibrary.InstantiateSlot("MaleLegs");
  90.         ///Generate Legs
  91.         umaData.umaRecipe.slotDataList[5].SetOverlayList(umaData.umaRecipe.slotDataList[3].GetOverlayList());
  92.         ///Generate Feets
  93.         umaData.umaRecipe.slotDataList[6] = slotLibrary.InstantiateSlot("MaleFeet");
  94.         ///Generate Feets
  95.         umaData.umaRecipe.slotDataList[6].SetOverlayList(umaData.umaRecipe.slotDataList[3].GetOverlayList());
  96.     }
  97.     public void CharacterCreaded(UMA.UMAData umaData, UnityEngine.GameObject GO)
  98.     {
  99.         UnityEngine.Debug.Log("Charachter was Created and Event was Triggered...");
  100.         GO.GetComponent<Opsive.ThirdPersonController.Integration.UMA.UMACharacterBuilder>().BuildCharacter(umaData);
  101.         GO.GetComponent<Opsive.ThirdPersonController.Integration.UMA.UMAItemBuilder>().BuildItem(umaData);
  102.         GO.GetComponent<Opsive.ThirdPersonController.Sample.UMA.CharacterSetup>().SetupCharacter(umaData);
  103.     }
  104.     public void CharacterUpdated(UMA.UMAData umaData)
  105.     {
  106.     }
  107.     public void CharactherDestroyed(UMA.UMAData umaData)
  108.     {
  109.     }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement