public void Create(ChaControl chaCtrl, YureCtrlEx yureCtrl = null) { if (yureCtrl != null) { this.yureCtrl = yureCtrl; } else { this.yureCtrl = new YureCtrlEx(); this.yureCtrl.Init(chaCtrl); } }
public void Next(int index, Dictionary <int, CharaData> charaDataDic) { Data.Scene scene1 = this.scenes.SafeGet <Data.Scene>(index); if (scene1 == null) { return; } Data.Scene scene2 = this.scenes.SafeGet <Data.Scene>(index - 1); foreach (KeyValuePair <int, CharaData> keyValuePair in charaDataDic) { Data.Scene.Chara get = scene1.FindGet(keyValuePair.Key); if (get != null) { Data.Scene.Chara chara = (Data.Scene.Chara)null; MotionIK motionIK = (MotionIK)null; YureCtrlEx yureCtrl = (YureCtrlEx)null; bool flag = false; Data.Scene.Chara.MotionAndItem motionAndItem = get.motionAndItem; if (motionAndItem.ik.bundle.IsNullOrEmpty() && scene2 != null) { chara = scene2.FindGet(keyValuePair.Key); flag = true; if (chara != null) { motionIK = chara.motionAndItem.ik.motionIK; } } if (motionAndItem.yure.bundle.IsNullOrEmpty()) { if (!flag && scene2 != null) { chara = scene2.FindGet(keyValuePair.Key); } if (chara != null) { yureCtrl = chara.motionAndItem.yure.yureCtrl; } } motionAndItem.ik.Create(keyValuePair.Value.chaCtrl, motionIK, (MotionIK[])Array.Empty <MotionIK>()); motionAndItem.yure.Create(keyValuePair.Value.chaCtrl, yureCtrl); } } foreach (KeyValuePair <int, CharaData> keyValuePair in charaDataDic) { scene1.FindGet(keyValuePair.Key)?.Change(keyValuePair.Value.chaCtrl, this.itemList[keyValuePair.Key]); } }