Exemple #1
0
        /// <summary>
        /// 対象のスキンパーツを生成
        /// </summary>
        /// <param name="rawImage">設定したいRawImage</param>
        /// <param name="texture2D">RawImageのTexture</param>
        /// <returns>生成したスキンパーツ</returns>
        public static SkinParts CreateSkinParts(RawImage rawImage, Texture2D texture2D)
        {
            var parts = new SkinParts();

            SkinnerUtility.ResetObjectReference(parts.property.objectReferenceValues, ObjectLength);
            parts.property.objectReferenceValues[RawImageIndex]  = rawImage;
            parts.property.objectReferenceValues[Texture2DIndex] = texture2D;
            return(parts);
        }
Exemple #2
0
        /// <summary>
        /// 対象のスキンパーツを生成
        /// </summary>
        /// <param name="shadows">設定したいShadow</param>
        /// <param name="color">ShadowのeffectColor</param>
        /// <returns>生成したスキンパーツ</returns>
        public static SkinParts CreateSkinParts(IEnumerable <Shadow> shadows, Color color)
        {
            var parts = new SkinParts();

            SkinnerUtility.ResetColor(parts.property.colorValues, ColorLength);
            parts.property.objectReferenceValues.AddRange(shadows.Cast <Object>());
            parts.property.colorValues[ColorIndex] = color;
            return(parts);
        }
Exemple #3
0
        /// <summary>
        /// 対象のスキンパーツを生成
        /// </summary>
        /// <param name="outlines">設定したいBaseMeshEffect</param>
        /// <param name="color">BaseMeshEffectのenabled</param>
        /// <returns>生成したスキンパーツ</returns>
        public static SkinParts CreateSkinParts(IEnumerable <BaseMeshEffect> baseMeshEffects, bool enabled)
        {
            var parts = new SkinParts();

            SkinnerUtility.ResetBoolean(parts.property.boolValues, BoolLength);
            parts.property.objectReferenceValues.AddRange(baseMeshEffects.Cast <Object>());
            parts.property.boolValues[BoolIndex] = enabled;
            return(parts);
        }
        /// <summary>
        /// 対象のスキンパーツを生成
        /// </summary>
        /// <param name="canvasGroups">設定したいCanvasGroup</param>
        /// <param name="alpha">CanvasGroupのアルファ</param>
        /// <returns>生成したスキンパーツ</returns>
        public static SkinParts CreateSkinParts(IEnumerable <CanvasGroup> canvasGroups, float alpha)
        {
            var parts = new SkinParts();

            SkinnerUtility.ResetFloat(parts.property.floatValues, FloatLength);
            parts.property.objectReferenceValues.AddRange(canvasGroups.Cast <Object>());
            parts.property.floatValues[FloatIndex] = alpha;
            return(parts);
        }
        /// <summary>
        /// 対象のスキンパーツを生成
        /// </summary>
        /// <param name="graphic">設定したいGraphic</param>
        /// <param name="material">GraphicのMaterial</param>
        /// <returns>生成したスキンパーツ</returns>
        public static SkinParts CreateSkinParts(Graphic graphic, Material material)
        {
            var parts = new SkinParts();

            SkinnerUtility.ResetObjectReference(parts.property.objectReferenceValues, ObjectLength);
            parts.property.objectReferenceValues[GraphicIndex]  = graphic;
            parts.property.objectReferenceValues[MaterialIndex] = material;
            return(parts);
        }
Exemple #6
0
        /// <summary>
        /// 対象のスキンパーツを生成
        /// </summary>
        /// <param name="transforms">設定したいTransform</param>
        /// <param name="localScale">TransformのlocalScale</param>
        /// <returns>生成したスキンパーツ</returns>
        public static SkinParts CreateSkinParts(IEnumerable <Transform> transforms, Vector3 localScale)
        {
            var parts = new SkinParts();

            SkinnerUtility.ResetVector4(parts.property.vector4Values, VectorLength);
            parts.property.objectReferenceValues.AddRange(transforms.Cast <Object>());
            parts.property.vector4Values[VectorIndex] = localScale;
            return(parts);
        }
Exemple #7
0
        /// <summary>
        /// 対象のスキンパーツを生成
        /// </summary>
        /// <param name="image">設定したいImage</param>
        /// <param name="sprite">ImageのSprite</param>
        /// <returns>生成したスキンパーツ</returns>
        public static SkinParts CreateSkinParts(Image image, Sprite sprite)
        {
            var parts = new SkinParts();

            SkinnerUtility.ResetObjectReference(parts.property.objectReferenceValues, ObjectLength);
            parts.property.objectReferenceValues[ImageIndex]  = image;
            parts.property.objectReferenceValues[SpriteIndex] = sprite;
            return(parts);
        }
Exemple #8
0
        /// <summary>
        /// 対象のスキンパーツを生成
        /// </summary>
        /// <param name="gameObjects">設定したいGameObject</param>
        /// <param name="isActive">GameObjectのactiveSelf</param>
        /// <returns>生成したスキンパーツ</returns>
        public static SkinParts CreateSkinParts(IEnumerable <GameObject> gameObjects, bool isActive)
        {
            var parts = new SkinParts();

            SkinnerUtility.ResetBoolean(parts.property.boolValues, BoolLength);
            parts.property.objectReferenceValues.AddRange(gameObjects.Cast <Object>());
            parts.property.boolValues[BoolIndex] = isActive;
            return(parts);
        }
        /// <summary>
        /// 対象のスキンパーツを生成
        /// </summary>
        /// <param name="rootGameObject">ルートとなるGameObject</param>
        /// <param name="animationClip">アニメーションクリップ</param>
        /// <param name="time">クリップをサンプルする時間</param>
        /// <returns>生成したスキンパーツ</returns>
        public static SkinParts CreateSkinParts(GameObject rootGameObject, AnimationClip animationClip, float time)
        {
            var parts = new SkinParts();

            SkinnerUtility.ResetObjectReference(parts.property.objectReferenceValues, ObjectLength);
            SkinnerUtility.ResetFloat(parts.property.floatValues, FloatLength);
            parts.property.objectReferenceValues[GameObjectIndex]    = rootGameObject;
            parts.property.objectReferenceValues[AnimationClipIndex] = animationClip;
            parts.property.floatValues[TimeIndex] = time;
            return(parts);
        }
Exemple #10
0
        /// <summary>
        /// 対象のスキンパーツを生成
        /// </summary>
        /// <param name="userLogic">設定したいロジックのインスタンスオブジェクト</param>
        /// <param name="property">ロジックに合ったプロパティ</param>
        /// <returns>生成したスキンパーツ</returns>
        public static SkinParts CreateSkinParts(UserLogic userLogic, SkinPartsPropertry property)
        {
            var parts = new SkinParts();

            SkinnerUtility.ResetObjectReference(parts.property.objectReferenceValues, RequiredObjectLength);
            parts.property.objectReferenceValues[LogicIndex] = userLogic;
            parts.property.objectReferenceValues.AddRange(property.objectReferenceValues);
            parts.property.boolValues.AddRange(property.boolValues);
            parts.property.intValues.AddRange(property.intValues);
            parts.property.floatValues.AddRange(property.floatValues);
            parts.property.vector4Values.AddRange(property.vector4Values);
            return(parts);
        }
Exemple #11
0
 /// <summary>
 /// <see cref="SkinParts"/>を初期化して生成
 /// </summary>
 /// <param name="base">複製対象となるデータ</param>
 public SkinParts(SkinParts @base) : this()
 {
     m_Type     = @base.m_Type;
     m_Property = new SkinPartsPropertry(@base.m_Property);
 }