Exemple #1
0
        public static LegoRockerMeta Create(YuLegoRocker rocker)
        {
            var meta = new LegoRockerMeta
            {
                BgImageMeta     = LegoImageMeta.Create(rocker.BgImage),
                RockerImageMeta = LegoImageMeta.Create(rocker.RockerImage)
            };

            return(meta);
        }
        public void Metamorphose(LegoUIMeta uiMeta)
        {
            if (MetamorphoseStage == LegoMetamorphoseStage.Completed)
            {
                MetamorphoseStage = LegoMetamorphoseStage.Metamorphosing;
            }

            if (rockerMeta == null)
            {
                rockerMeta = uiMeta.NextRocker;
                RectMeta   = uiMeta.CurrentRect;
            }

            switch (metamorphose)
            {
            case MetamorphoseStatus.Rocker:
                YuLegoUtility.MetamorphoseRect(RectTransform, RectMeta);

                metamorphose = MetamorphoseStatus.BackgroundImage;
                break;

            case MetamorphoseStatus.BackgroundImage:
                BgImage.Metamorphose(rockerMeta.BgImageMeta);

                metamorphose = MetamorphoseStatus.RockerImage;
                break;

            case MetamorphoseStatus.RockerImage:
                RockerImage.Metamorphose(rockerMeta.RockerImageMeta);

                metamorphose      = MetamorphoseStatus.Rocker;
                MetamorphoseStage = LegoMetamorphoseStage.Completed;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemple #3
0
        private void AddRockerMeta(Transform transform)
        {
            var rockerMeta = LegoRockerMeta.Create(transform.GetComponent <YuLegoRocker>());

            RockerMetas.Add(rockerMeta);
        }