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(); } }
private void AddRockerMeta(Transform transform) { var rockerMeta = LegoRockerMeta.Create(transform.GetComponent <YuLegoRocker>()); RockerMetas.Add(rockerMeta); }