void Awake() { st_Manager = gameObject.GetComponent <MotionManager>(); gameObject.AddComponent <MotionEditor>(); st_Editor = gameObject.GetComponent <MotionEditor>(); rootDirectory = Application.dataPath + "/Resources"; }
private bool startGame(TouchType eventtype, TouchRect touchbox, int x, int y, bool collide) { if (State.ShowingTutorial != 0) { return(true); } switch (eventtype) { case TouchType.TouchDown: if (State.StartClicked) { return(false); } Client.PlaySoundEffect(Assets.Sounds.Click); State.StartClicked = true; IImage logoImage = Assets.Images.Layouts.PenguinLogo; IImage shuffleImage = Assets.Images.Layouts.ShuffleLogo; PenguinLogoAnimation = MotionManager.StartMotion(Positions.PenguinLogoLocation) .Motion(new AnimationMotion(Layout.Width + 1000, Positions.PenguinLogoLocation.Y, 1000, AnimationEasing.SineEaseIn)) .Motion(new WaitMotion(5000)) .OnRender((layer, posX, posY, animationIndex, percentDone) => { mainLayer.DrawImage(logoImage, posX, posY, true); }) .OnComplete(() => { }); ShuffleLogoAnimation = MotionManager.StartMotion(Positions.ShuffleLogoLocation) .Motion(new AnimationMotion(Layout.Width + 1000, Positions.ShuffleLogoLocation.Y, 1400, AnimationEasing.SineEaseIn)) .Motion(new WaitMotion(5000)) .OnRender((layer, posX, posY, animationIndex, percentDone) => { mainLayer.DrawImage(shuffleImage, posX, posY, true); }) .OnComplete(() => { }); return(true); } return(false); }
public MovingBlock(QuickGameScene scene, AdjacentTileGroup <MovingBlockPiece> tiles, AdjacentTileGroup <PathPoint> path) { Scene = scene; motionManager = new MotionManager(this); SpriteGrid = new SpriteGrid { Texture = Textures.MovingBlockTexture }; Position = tiles.GetBoundingBox(); float tilesX = (float)Position.Width / 16f; //todo float tilesY = (float)Position.Height / 16f; SpriteGrid.Cells = new ArrayGrid <int>(new Vector2(tilesX, tilesY)); foreach (var pt in SpriteGrid.Cells.Points) { //todo, nonstandard shapes SpriteGrid.Cells.Set(pt, 0); } new PathMoverBehavior <MovingBlock>(this, path); Scene.SolidLayer.AddObject(this); }
private void Initialize() { this.MachineState = MachineState.InitNew(); this.MachineConstraints = MachineConstraints.GetDefault(); this.ServiceConsoleState = new ServiceConsoleState(); MotionManager = new MotionManager(this); }
private void createAnimation() { var timeBetween = 45; var msDuration = RandomUtil.RandomInt(1000, 5500); if (RandomUtil.RandomInt(0, 100) < 25) { Motion = MotionManager.StartMotion(0, 0) .Motion(new WaitMotion(msDuration)) //frame 1 .Motion(new WaitMotion(timeBetween)) //frame 1 .Motion(new WaitMotion(timeBetween)) //frame 2 .Motion(new WaitMotion(timeBetween)) //frame 3 .Motion(new WaitMotion(timeBetween)) //frame 4 .Motion(new WaitMotion(timeBetween)) //frame 5 .Motion(new WaitMotion(timeBetween)) //frame 6 .Motion(new WaitMotion(timeBetween)) //frame 7 .Motion(new WaitMotion(timeBetween * 6)); //frame 8 (blink) Motion.OnRender(render); } else { Motion = MotionManager.StartMotion(0, 0) .Motion(new WaitMotion(msDuration)) //frame 1 .Motion(new WaitMotion(timeBetween * 3)); //frame 8 (blink) Motion.OnRender((layer, posx, posy, animationIndex, percent) => render(layer, posx, posy, animationIndex != 0 ? 8 : 0, 0)); } Client.Timeout(createAnimation, msDuration + RandomUtil.RandomInt(2000, 5500)); }
private bool tapCard(TouchType eventtype, TouchRect touchbox, int x, int y, bool collide) { if (eventtype == TouchType.TouchDown) { if (State.CardAnimationMotion != null) { return(false); } Client.PlaySoundEffect(Assets.Sounds.Click); var gc = (Goal)touchbox.State; IImage goalImage = GoalPiece.GetGoalImage(gc); Goal[] goals = GameService.ClassicGameState.UnusedGoals; int topRow = goals.Length / 2; int bottomRow = goals.Length / 2 + goals.Length % 2; int posx, posy; int index = Array.IndexOf(goals, gc); int yAnimateOffset = 0; if (index < topRow) { int centerOffset = (Positions.BottomCardAreaWidth / (topRow)) / 2; posx = ((Positions.BottomCardAreaWidth / topRow * (index))) + centerOffset; posy = (Positions.BottomCardSize / 2) - Positions.CardShadowHeight; yAnimateOffset = 0; } else { int centerOffset = (Positions.BottomCardAreaWidth / (bottomRow)) / 2; posx = ((Positions.BottomCardAreaWidth / bottomRow * (index - topRow))) + centerOffset; posy = Positions.BottomCardSize - 40 + Positions.BottomCardSize / 2 - Positions.CardShadowHeight; yAnimateOffset = 300; } State.CurrentlySelectedGoal = gc; State.CardAnimationMotion = MotionManager.StartMotion(posx, posy, new AnimationMotion(Positions.Layout.Width / 2, posy - 850 - yAnimateOffset, 1500, AnimationEasing.BounceEaseIn)) .Motion(new WaitMotion(1000)) .Motion(new AnimationMotion(Positions.Layout.Width / 2, -3000, 1000, AnimationEasing.CubicEaseOut)) .OnRender((layer, posX, posY, animationIndex, percentDone) => { MainLayer.DrawImage(goalImage, posX, posY, true); }) .OnComplete(() => { gc.Used = true; GameService.ClassicGameState.CurrentGoal = gc; State.CardAnimationMotion = null; GameService.ClassicGameState.GameState = GameSelectionState.SearchingBoard; ScreenTransitioner.ChangeToBoardViewingScreen(); }); return(false); } return(true); }
public override void Stop() { if (IsAvailable()) { IsActive = false; MotionManager.StopAccelerometerUpdates(); } }
void Awake () { st_Manager = gameObject.GetComponent<MotionManager>(); gameObject.AddComponent<MotionEditor>(); st_Editor = gameObject.GetComponent<MotionEditor>(); rootDirectory = Application.dataPath + "/Resources"; }
public override void Stop() { if (IsAvailable()) { IsActive = false; MotionManager.StopGyroUpdates(); } }
public static void Tick(float DeltaTime) { ObjectPoolManager.Tick(DeltaTime); GroupManager.Tick(DeltaTime); TaskManager.Tick(DeltaTime); TimerManager.Tick(DeltaTime); MotionManager.Tick(DeltaTime); NetManager.Tick(DeltaTime); }
/// <summary> /// /// </summary> /// <param name="_type">攻撃タイプ</param> /// <param name="_speed">速度</param> /// <param name="_scale">サイズ</param> /// <param name="_damage">ダメージ</param> public EffectData( MotionManager.MotionSkillType _type , float _speed, int _damage ) { skillType = _type; speed = _speed; damage = _damage; }
public static void Shutdown() { NetManager.Shutdown(); MotionManager.Shutdown(); TimerManager.Shutdown(); TaskManager.Shutdown(); GroupManager.Shutdown(); ObjectPoolManager.Shutdown(); EventManager.Shutdown(); }
protected override void DoStart(SensorDelay delay) { if (!IsAvailable()) { throw new Exception("Accelerometer sensor is not available on this device."); } MotionManager.AccelerometerUpdateInterval = (int)delay * 0.001; MotionManager.StartAccelerometerUpdates(NSOperationQueue.CurrentQueue, HandleChanged); }
private async void PileToControllerHand(Action complete) { MotionManager.AddMotion(); bool moveComplete = false; MoveToPosition(new Vector3(0, 0, -5), 1000, true, 20, () => { moveComplete = true; }); await new WaitUntil(() => moveComplete); await new WaitForSeconds(0.2f); Quaternion midle = Quaternion.Euler(0, -90, 0); //rotation float timeCouter = 0; while (timeCouter < 1) { timeCouter += Time.deltaTime * 10f; cardTran.rotation = Quaternion.Lerp(Quaternion.identity, midle, timeCouter); await new WaitForUpdate(); } cardUI.ShowFrontOfCard(); render.flipX = true; Quaternion last = Quaternion.Euler(0, -180, 0); timeCouter = 0; while (timeCouter < 1) { timeCouter += Time.deltaTime * 10f; cardTran.rotation = Quaternion.Lerp(midle, last, timeCouter); await new WaitForUpdate(); } render.flipX = false; cardTran.rotation = Quaternion.identity; cardUI.ShowFrontComplete(); await new WaitForSeconds(0.2f); //move to hand HandUI.Instance.InsertCard(entity); entity.curStatus = CardEntity.status.inHand; MoveToPosition(HandUI.Instance.GetCardPosition(entity), HandUI.Instance.cardInControllerHand.Count * 2, false, 20, () => { MotionManager.RemoveMotion(); complete?.Invoke(); }); }
public async void HandToOpponentTopMogi(MogiEntity mogi, Action complete) { MotionManager.AddMotion(); render.sortingOrder = 1000; bool moveComplete = false; MoveToPosition(new Vector3(0, 0, -5), 1000, true, 20, () => { moveComplete = true; }); await new WaitUntil(() => moveComplete); await new WaitForSeconds(0.2f); Quaternion midle = Quaternion.Euler(0, -90, 0); //rotation float timeCouter = 0; while (timeCouter < 1) { timeCouter += Time.deltaTime * 10f; cardTran.rotation = Quaternion.Lerp(Quaternion.identity, midle, timeCouter); await new WaitForUpdate(); } cardUI.ShowFrontOfCard(); render.flipX = true; Quaternion last = Quaternion.Euler(0, -180, 0); timeCouter = 0; while (timeCouter < 1) { timeCouter += Time.deltaTime * 10f; cardTran.rotation = Quaternion.Lerp(midle, last, timeCouter); await new WaitForUpdate(); } render.flipX = false; cardTran.rotation = Quaternion.identity; cardUI.ShowFrontComplete(); await new WaitForSeconds(0.2f); MotionManager.RemoveMotion(); MoveToTopOfMogi(mogi); await new WaitUntil(() => !MotionManager.running); complete?.Invoke(); }
public static bool Startup(UnityEngine.MonoBehaviour Instance) { LLogger.LInfo($"{nameof(EventManager)} Startup"); if (!EventManager.Startup()) { LLogger.LError($"{nameof(EventManager)} Startup Failed"); return(false); } LLogger.LInfo($"{nameof(ObjectPoolManager)} Startup"); if (!ObjectPoolManager.Startup()) { LLogger.LError($"{nameof(ObjectPoolManager)} Startup Failed"); return(false); } LLogger.LInfo($"{nameof(GroupManager)} Startup"); if (!GroupManager.Startup()) { LLogger.LError($"{nameof(GroupManager)} Startup Failed"); return(false); } LLogger.LInfo($"{nameof(TaskManager)} Startup"); if (!TaskManager.Startup(Instance)) { LLogger.LError($"{nameof(TaskManager)} Startup Failed"); return(false); } LLogger.LInfo($"{nameof(TimerManager)} Startup"); if (!TimerManager.Startup()) { LLogger.LError($"{nameof(TimerManager)} Startup Failed"); return(false); } LLogger.LInfo($"{nameof(MotionManager)} Startup"); if (!MotionManager.Startup()) { LLogger.LError($"{nameof(MotionManager)} Startup Failed"); return(false); } LLogger.LInfo($"{nameof(NetManager)} Startup"); if (!NetManager.Startup()) { LLogger.LError($"{nameof(NetManager)} Startup Failed"); return(false); } return(true); }
static void Main(string[] args) { //コンソールアプリ作りたいわけじゃないのでハードコーディングしとく string InputPMD = "miku.pmd"; string InputVMD = "TrueMyHeart.vmd"; string OutputVMD = "tmh_bake.vmd"; MMDModel1 model = (MMDModel1)ModelManager.Read(InputPMD, MikuMikuDance.Model.CoordinateType.RightHandedCoordinate); MMDMotion2 motion = (MMDMotion2)MotionManager.Read(InputVMD, MikuMikuDance.Motion.CoordinateType.RightHandedCoordinate); motion = IKBaker.bake(motion, model); MotionManager.Write(OutputVMD, motion); }
public void Start() { MovingLeft = RandomUtil.RandomBool(); StartY = RandomUtil.RandomInt(0, 800); EndY = StartY + RandomUtil.RandomInt(-100, 100); var startPosition = new Point(MovingLeft ? 1900 + RandomUtil.RandomInt(0, 1200) : -500 - RandomUtil.RandomInt(0, 1200), StartY); var endPosition = new Point(!MovingLeft ? 1900 + RandomUtil.RandomInt(0, 1200) : -500 - RandomUtil.RandomInt(0, 1200), EndY); int msDuration = RandomUtil.RandomInt(18000, 25000); Animation = MotionManager.StartMotion(startPosition).Motion(new AnimationMotion(endPosition, msDuration, AnimationEasing.Linear)).OnRender((mainLayer, x, y) => render(mainLayer, x, y)).OnComplete(() => Start()); }
public GameOverText(QuickGameScene scene) { layer = scene.InterfaceLayer; motion = new MotionManager(this); Text = new GameText(Fonts.BigFont, "GAME OVER", scene.InterfaceLayer); Text.StayRelativeTo(this, 0, 0, this); Position = new GameEngine.Rectangle(); var screen = Engine.GetScreenSize(); new PathMover(this, screen.BottomCenter, screen.Center); }
/// <summary> /// 初期化 /// </summary> public void Init(MotionManager.MotionSkillType attackType,int damage, float speed) { // エフェクトがどの攻撃タイプか情報を保存 type = attackType; // ダメージ量をオブジェクトに保存 takeDamage = damage; transform.position = SequenceManager.Instance.ARCamera.transform.position; var direction = (GameManager.Instance.Enemy.transform.position - transform.position).normalized; cashRigidBody.velocity = direction * speed; }
/// <summary> /// /// </summary> /// <param name="visionParaIn"></param> /// <param name="StateDescribeIn"></param> public VisionStateBase(VisionPara visionParaIn ,string StateDescribeIn,ViewControl viewIn) { MyVisionPara = visionParaIn; myLocalManager.SetLocalModel(visionParaIn.localPara.localSetting.localModel); view1 = viewIn; myLocalrlt.TeachRow = visionParaIn.localPara.localSetting.TeachImgLocal.Row; myLocalrlt.TeachCol = visionParaIn.localPara.localSetting.TeachImgLocal.Col; myLocalrlt.angle = visionParaIn.localPara.localSetting.TeachImgLocal.Angle; MotionCtrl = new MotionManager(); MotionCtrl.SetCoordi(visionParaIn.localPara.localSetting.TeachCoordi); //CaliPara = CaliParaManager.Instance.GetCaliValue(MyVisionPara.localPara.localSetting.TeachCoordi); CaliPara = CaliParaManager.Instance.GetCaliValue(MyVisionPara.localPara.localSetting.CoordiCam); }
private void PileToOpponentHand(Action complete) { MotionManager.AddMotion(); HandUI.Instance.InsertCard(entity); entity.curStatus = CardEntity.status.inHand; render.sortingOrder = 1000; MoveToPosition(HandUI.Instance.GetCardPosition(entity), HandUI.Instance.cardInOpponentHand.Count * 2, false, 10, () => { MotionManager.RemoveMotion(); complete?.Invoke(); }); }
public void Initialize() { sessionIsActive = false; MotionManager motion = MotionManager.instance; MoleculeManager molecule = MoleculeManager.instance; CameraRig rig = CameraRig.instance; motion.Initialize(); molecule.Initialize(); rig.Initialize(); molecule.editorUI.gameObject.SetActive(false); loginScreen.gameObject.SetActive(true); CaptureCamera capture = CaptureCamera.instance; capture.Initialize(); }
/// <summary> /// どの攻撃タイプのエフェクトを生成するか確認 /// </summary> /// <param name="skillType"></param> void CheckType(MotionManager.MotionSkillType skillType) { /// <summary> /// 攻撃タイプを判別 /// </summary> switch (skillType) { case MotionManager.MotionSkillType.STRENGTH: EffectPlay(strengthEffectList, skillType, ref strengthPlayIndex); SEPlayer.Instance.Play("PlayerStrengthAttack"); break; case MotionManager.MotionSkillType.WEAK: EffectPlay(weakEffectList, skillType, ref weakPlayIndex); SEPlayer.Instance.Play("PlayerWeakAttack"); break; default: break; } }
public void Init() { mainLayer = Renderer.CreateLayer(Layout); Renderer.AddLayer(mainLayer); State.SelectedNumberOfPlayers = 1; for (int j = 0; j < 6; j++) { TouchManager.PushClickRect(new TouchRect(State.Positions.NumberOfPlayersPositions[j].X, State.Positions.NumberOfPlayersPositions[j].Y, State.Positions.ButtonSize.X, State.Positions.ButtonSize.Y, numberOfPlayersClick, state: j + 1, pointIsCenter: true)); } TouchManager.PushClickRect(new TouchRect(State.Positions.BackPosition.X, State.Positions.BackPosition.Y, 102, 113, backClick)); // TouchManager.PushClickRect(new TouchRect(State.Positions.ModesButtonPosition.X - 692, State.Positions.ModesButtonPosition.Y - 107, 1384, 215, changeModeClick)); TouchManager.PushClickRect(new TouchRect(State.Positions.StartGamePosition.X, State.Positions.StartGamePosition.Y, Layout.Width, 257, startGameClick)); State.StartClicked = false; State.StartGameAnimation = MotionManager.StartMotion(0, -400) .Motion(new WaitMotion(500)) .Motion(new AnimationMotion(0, 0, 500, AnimationEasing.CubicEaseIn)) .Motion(new WaitMotion(500)) .OnRender((layer, posX, posY, animationIndex, percentDone) => { drawStartGame(posY); }) .OnComplete(() => { if (State.StartClicked) { if (!HasMultiplayer) { State.SelectedNumberOfPlayers = 1; } State.ScreenManager.StartGame(State.SelectedNumberOfPlayers, State.SelectedMode); } }); State.MenuAnimation = MotionManager.StartMotion(-1500, 0) .Motion(new AnimationMotion(0, 0, 800, AnimationEasing.CubicEaseIn)) .OnRender((layer, posX, posY, animationIndex, percentDone) => { drawMenu(posX); }); GameService.CloudSubLayout.InitLayoutView(TouchManager); }
public void InitLayoutView() { mainLayer = renderer.CreateLayer(Layout.Width, Layout.Height, Layout); renderer.AddLayer(mainLayer); TouchManager = new TouchManager(game.Client); TouchManager.PushClickRect(Positions.HelloWorldPosition, Assets.Images.Landing.HelloWorld, (type, box, x, y, collide) => { if (type == TouchType.TouchDown) { if (!State.ShowWelcome) { State.ShowWelcome = true; } } return(true); }, true); helloWorldAnimation = MotionManager .StartMotion(Positions.HelloWorldPosition.X, 0) .Motion(new AnimationMotion(Positions.HelloWorldPosition, 1600, AnimationEasing.SineEaseIn)) .Motion(new AnimationMotion(Positions.HelloWorldPosition.X, Layout.Height / 4, 800, AnimationEasing.SineEaseIn)) .Motion(new AnimationMotion(Positions.HelloWorldPosition, 600, AnimationEasing.SineEaseIn)) .Motion(new FinishMotion()) .OnRender((layer, posX, posY, animationIndex, percentDone) => { layer.Save(); layer.DrawImage(Assets.Images.Landing.HelloWorld, posX, posY, true); layer.Restore(); }); welcomeAnimation = MotionManager .StartMotion(Positions.WelcomePosition.X, 0) .Motion(new AnimationMotion(Positions.WelcomePosition, 1600, AnimationEasing.SineEaseIn)) .Motion(new AnimationMotion(Positions.WelcomePosition.X, Layout.Height / 2, 800, AnimationEasing.SineEaseIn)) .Motion(new AnimationMotion(Positions.WelcomePosition, 600, AnimationEasing.SineEaseIn)) .Motion(new FinishMotion()) .OnRender((layer, posX, posY, animationIndex, percentDone) => { layer.Save(); layer.DrawImage(Assets.Images.Landing.Welcome, posX, posY, true); layer.Restore(); }); }
public void SlideRight() { if (BgSlidingState != BgSlidingState.Left) { return; } BgSlidingState = BgSlidingState.SlidingRight; BackgroundAnimation = MotionManager.StartMotion(0, 0) .Motion(new AnimationMotion(-384, 0, 800, AnimationEasing.SineEaseIn)) .OnRender((layer, x, y) => { layer.Translate(x, 0); layer.DrawImage(Assets.Images.Layouts.CloudlessMainBg, 0, 0); }) .OnComplete(() => { BackgroundAnimation = null; BgSlidingState = BgSlidingState.Right; }); }
/// <summary> /// プレイヤーの挙動を受け取り攻撃タイプを判別 /// </summary> /// <param name="attackType">動作から受け取った行動ID</param> public void OnObject(MotionManager.MotionSkillType attackType) { // エフェクトオブジェクトをアクティブ化 gameObject.SetActive(true); // エフェクトがどの攻撃タイプか情報を保存 type = attackType; // エフェクトのターゲットを設定 targetPosition = new Vector3( player.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z); // 動きから受け取ったタイプからテクスチャなどをオブジェクトに張り付ける switch (attackType) { case MotionManager.MotionSkillType.VERTICAL_UP_DOWN: if (itweenCheck != false) break; attackSpriteRenderer.sprite = upDownAttackSprite; Move(); break; case MotionManager.MotionSkillType.VERTICAL_DOWN_UP: if (itweenCheck != false) break; attackSpriteRenderer.sprite = downUpAttackSprite; Move(); break; case MotionManager.MotionSkillType.HORIZONTAL_LEFT_RIGHT: if (itweenCheck != false) break; attackSpriteRenderer.sprite = leftRightAttackSprite; Move(); break; case MotionManager.MotionSkillType.HORIZONTAL_RIGHT_LEFT: if (itweenCheck != false) break; attackSpriteRenderer.sprite = rightLeftAttackSprite; Move(); break; } // ITweenが再生中のフラグを立てる itweenCheck = true; }
private void PlayerWon(GoalPiece goal) { Point pos = Positions.CharacterPositions[State.CurrentChosenNumber.Character.CharacterNumber]; State.Congrats = true; IImage goalImage = GoalPiece.GetGoalImage(GameService.ClassicGameState.CurrentGoal); State.CardAnimationMotion = MotionManager.StartMotion(Positions.CongratsPosition.X, Positions.CongratsPosition.Y, new WaitMotion(200)) .Motion(new AnimationMotion(pos.X + 0, pos.Y + BoardConstants.TopAreaHeight, 2000, AnimationEasing.BounceEaseOut)) .OnRender((layer, posX, posY, animationIndex, percentDone) => { MainLayer.Save(); MainLayer.SetDrawingTransparency(1 - percentDone); MainLayer.DrawImage(goalImage, posX, posY, 220, 220, true); MainLayer.Restore(); }).OnComplete(() => { GameService.ClassicGameState.Board.SquarePieces.Remove(goal); GameService.ClassicGameState.CharacterWon(State.CurrentChosenNumber.Character); ScreenTransitioner.ChangeToBoardCardSelectionScreen(); }); }
public MotionController(PirContext context) { _manager = new MotionManager(context); }
/// <summary> /// 攻撃のエフェクトを再生 /// </summary> /// <param name="effectList"></param> /// <param name="skillType"></param> /// <param name="index"></param> void EffectPlay(List<EffectMover> effectList, MotionManager.MotionSkillType skillType, ref int index) { effectList[index].gameObject.SetActive(true); effectList[index].Init( db.dataList[(int)skillType].skillType, db.dataList[(int)skillType].damage, db.dataList[(int)skillType].speed ); index++; if (effectList.Count <= index) { index = 0; } }
public async void MoveToSlot(SlotUI slot, bool moveToTop, Action complete) { MotionManager.AddMotion(); if (!cardUI.showFront) { bool moveComplete = false; //move to center MoveToPosition(new Vector3(0, 0, -5), 1000, true, 20, () => { moveComplete = true; }); await new WaitUntil(() => moveComplete); await new WaitForSeconds(0.2f); Quaternion midle = Quaternion.Euler(0, -90, 0); //rotation float timeCouter = 0; while (timeCouter < 1) { timeCouter += Time.deltaTime * 10f; cardTran.rotation = Quaternion.Lerp(Quaternion.identity, midle, timeCouter); await new WaitForUpdate(); } cardUI.ShowFrontOfCard(); render.flipX = true; Quaternion last = Quaternion.Euler(0, -180, 0); timeCouter = 0; while (timeCouter < 1) { timeCouter += Time.deltaTime * 10f; cardTran.rotation = Quaternion.Lerp(midle, last, timeCouter); await new WaitForUpdate(); } render.flipX = false; cardTran.rotation = Quaternion.identity; cardUI.ShowFrontComplete(); await new WaitForSeconds(0.2f); } int sorting = 1; if (moveToTop) { sorting = 1000; } MoveToPosition(slot.slotTransform.position, sorting, false, 10, () => { //move to hand MotionManager.RemoveMotion(); if (!moveToTop) { entity.MoveToSlot(); } complete.Invoke(); }); }
public void AbandonMotion(string ChildPath) { MotionManager.Abandon(FindChild(ChildPath)); }
public void AbandonMotion(BaseMotion Motion) { MotionManager.Abandon(Motion); }
public BaseMotion ExecuteMotion(string ChildPath, BaseMotion Motion) { return(MotionManager.Execute(FindChild(ChildPath), Motion)); }
public BaseMotion ExecuteMotion(BaseMotion Motion) { return(MotionManager.Execute(UITransform, Motion)); }