コード例 #1
0
ファイル: XSeqenceFactory.cs プロジェクト: winrainy/seqence
        public static ClipData CreateClipData(AssetType type)
        {
            ClipData clip = null;

            switch (type)
            {
            case AssetType.Animation:
                clip = new AnimClipData();
                break;

            case AssetType.BoneFx:
                clip = new BoneFxClipData();
                break;

            case AssetType.PostProcess:
                clip = new PostprocessData();
                break;

            case AssetType.SceneFx:
                clip = new SceneFxClipData();
                break;

            case AssetType.LogicValue:
                clip = new LogicClipData();
                break;

            default:
                Debug.Log("unknown clip " + type);
                break;
            }
            return(clip);
        }
コード例 #2
0
        private void Load(BoneFxClipData data)
        {
            var        root = track.root;
            XBindTrack bt   = root as XBindTrack;
            var        seed = data.seed;

            if (bt)
            {
                var go = bt.bindObj;
                if (go != null && !string.IsNullOrEmpty(data.bone))
                {
                    var tf = go.transform.Find(data.bone);
                    fx = XResources.LoadGameObject(data.prefab);
                    fx.SetActive(false);
                    path = data.prefab;
                    if (fx)
                    {
                        fx.transform.parent        = tf;
                        fx.transform.localPosition = data.pos;
                        fx.transform.localRotation = Quaternion.Euler(data.rot);
                        fx.transform.localScale    = data.scale;
                        ps = fx.GetComponentsInChildren <ParticleSystem>();
                        for (int i = 0; i < ps.Length; i++)
                        {
                            ps[i].randomSeed = seed;
                            ps[i].Stop();
                        }
                    }
                }
            }
        }
コード例 #3
0
        private void AddClip(Object obj, float t)
        {
            BoneFxClipData data = new BoneFxClipData();

            data.start    = t;
            data.duration = 10;
            data.prefab   = AssetDatabase.GetAssetPath(obj);
            data.seed     = 0;
            data.scale    = Vector3.one;
            var clip = track.BuildClip(data);

            (clip as XBoneFxClip).SetFx((GameObject)obj);
            track.AddClip(clip, data);
        }