public void SetAvatar(GameObject newAvatarObject) { if (guideUMA != null) { if (newAvatarObject == guideUMA.gameObject) { //reset guide transparency one we have sussed out how to do this guideUMA = null; } } if (targetUMA == null || newAvatarObject != targetUMA.gameObject) { if (newAvatarObject.GetComponent <UMAAvatarBase>() != null) { targetUMA = newAvatarObject.GetComponent <UMAAvatarBase>(); activeUMA = newAvatarObject.GetComponent <UMAAvatarBase>(); SetAvailableConverters(activeUMA.umaData); selectedConverter = null; } else { targetUMA = null; activeUMA = null; availableConverters.Clear(); selectedConverter = null; } } }
// Update is called once per frame void Update() { if (activeUMA != targetUMA) { activeUMA = targetUMA; if (activeUMA.umaData != null) { SetAvailableConverters(activeUMA.umaData); } else { availableConverters.Clear(); } } if (activeUMA != null) { if (activeUMA.umaData != null) { if (activeUMA.umaData.umaRecipe != null) { if (activeUMA.umaData.umaRecipe.raceData != null) { if (activeUMA.umaData.umaRecipe.raceData.raceName != activeUMARace) { activeUMARace = activeUMA.umaData.umaRecipe.raceData.raceName; SetAvailableConverters(activeUMA.umaData); } } } } } //TODO make the guide /target semi transparent... /*if(guideUMA != null) * { * if(guideUMA.umaData != null && guideAlphaSet == false) * { * foreach(SlotData slot in guideUMA.umaData.umaRecipe.GetAllSlots()) * { * foreach(OverlayData overlay in slot.GetOverlayList()) * { * overlay.asset.alphaMask = guideAlphaTex; * } * } * guideAlphaSet = true; * guideUMA.umaData.Dirty(false, true, false); * } * }*/ }
// Use this for initialization void Start() { //TODO make the guide/target semi transparent /*targetAlphaTex = new Texture2D(2,2); * guideAlphaTex = new Texture2D(2,2); * var AlphaColor = new Color(guideAlpha, guideAlpha, guideAlpha, 1f); * guideAlphaTex.SetPixel(0, 0, AlphaColor); * guideAlphaTex.SetPixel(0, 1, AlphaColor); * guideAlphaTex.SetPixel(1, 0, AlphaColor); * guideAlphaTex.SetPixel(1, 1, AlphaColor);*/ if (targetUMA != null) { activeUMA = targetUMA; activeUMA.CharacterUpdated.AddListener(SetAvailableConverters); } }