public void ShuffleMoveAnimate(Transform Deck) { DeckTransform = Deck; transform.parent = S.GameControlInst.handObj.transform; AnimationStartTime = Time.time; currentAnimatingType = AnimatingType.shuffleanimating; }
public void DiscardAnimate() { DiscardMoveUpStartTime = Time.time; currentAnimatingType = AnimatingType.discardanimating; StartPosition = transform.localPosition; HighestPoint = StartPosition; HighestPoint.y = StartPosition.y + 2f; }
public CustomActivityIndicator( Key key = null, AnimatingType animating = AnimatingType.repeat, LoadingColor loadingColor = LoadingColor.black, LoadingSize size = LoadingSize.normal ) : base(key: key) { this.animating = animating; this.loadingColor = loadingColor; this.size = size; }
public FrameAnimationImage( List <string> images, float duration = 17, AnimatingType type = AnimatingType.repeat, Key key = null ) : base(key: key) { D.assert(images != null && images.Count > 0); this.images = images; this.duration = duration; this.type = type; }
public void MoveAnimateWhileDiscarded(int position, bool expand) { if (expand) { AnimationEndPosition = new Vector3(0f, (position) * -.2f + -.5f, 0); } else { AnimationEndPosition = new Vector3(0f, (position) * -.5f + -.5f, 0); } currentAnimatingType = AnimatingType.otheranimating; AnimationStartTime = Time.time; }
public void FinishDiscardAnimate(bool ActuallyDiscarding) { currentAnimatingType = AnimatingType.none; if (ActuallyDiscarding) { int index = S.GameControlInst.Discard.IndexOf(gameObject); transform.parent = discardPileObj.transform; transform.localPosition = new Vector3(0, (index + 1) * -.5f, 0); reorder(index, true); } }
public void MoveAnimate(int position) { reorder(card.HandIndex(), false); transform.localScale = normalLocalScale; AnimationEndPosition = new Vector3((position) * 1.55f - 1f, .1f, 0); if (currentAnimatingType != AnimatingType.drawanimating) { currentAnimatingType = AnimatingType.otheranimating; } AnimationStartTime = Time.time; }
public RotationAnimation( Key key = null, Widget child = null, float?degrees = null, TimeSpan?duration = null, AnimatingType animating = AnimatingType.repeat ) : base(key: key) { D.assert(child != null); this.child = child; this.degrees = degrees; this.duration = duration ?? TimeSpan.FromMilliseconds(600); this.animating = animating; }
public FrameAnimationImage( List <string> images, float size = 56, float duration = 17, AnimatingType type = AnimatingType.repeat, Widget defaultWidget = null, Key key = null ) : base(key: key) { D.assert(images != null && images.Count > 0); this.images = images; this.size = size; this.duration = duration; this.type = type; this.defaultWidget = defaultWidget; }
////////////////////////////////////// /// Animation start methods (+ finishdiscardanimate) ////////////////////////////////////// public void DrawAnimate(int position) { gameObject.transform.parent = S.GameControlInst.handObj.transform; gameObject.transform.localPosition = new Vector3(-2.7f, .5f, 0); currentAnimatingType = AnimatingType.drawanimating; CardBackObject =(GameObject)GameObject.Instantiate(Resources.Load("prefabs/Drawn card prefab")); CardBackObject.transform.parent = gameObject.transform; CardBackObject.transform.localPosition = new Vector3(0, 0, 0); CardBackObject.transform.localScale = new Vector3(2.9f, 2.8f, 2f); SpriteRenderer CardBackSR = CardBackObject.GetComponent<SpriteRenderer>(); CardBackSR.sortingLayerID = 0; CardBackSR.sortingOrder = 4; MoveAnimate(position); }
////////////////////////////////////// /// Animation start methods (+ finishdiscardanimate) ////////////////////////////////////// public void DrawAnimate(int position) { gameObject.transform.parent = S.GameControlInst.handObj.transform; gameObject.transform.localPosition = new Vector3(-2.7f, .5f, 0); currentAnimatingType = AnimatingType.drawanimating; CardBackObject = (GameObject)GameObject.Instantiate(Resources.Load("prefabs/Drawn card prefab")); CardBackObject.transform.parent = gameObject.transform; CardBackObject.transform.localPosition = new Vector3(0, 0, 0); CardBackObject.transform.localScale = new Vector3(2.9f, 2.8f, 2f); SpriteRenderer CardBackSR = CardBackObject.GetComponent <SpriteRenderer>(); CardBackSR.sortingLayerID = 0; CardBackSR.sortingOrder = 4; MoveAnimate(position); }
////////////////////////////////////// /// Update ////////////////////////////////////// public virtual void Update() { if (currentAnimatingType == AnimatingType.shuffleanimating) { if (Time.time > AnimationStartTime + .48f) { currentAnimatingType = AnimatingType.none; gameObject.GetComponent <SpriteRenderer>().enabled = false; return; } else { float time = Time.time - AnimationStartTime; transform.position = Vector3.Lerp(transform.position, DeckTransform.position, time); } } else if (currentAnimatingType == AnimatingType.discardanimating) { // Card is moving upwards if (DiscardMoveUpStartTime + .25f > Time.time) { float time = ((Time.time - DiscardMoveUpStartTime)); transform.localPosition = Vector3.Lerp(transform.localPosition, HighestPoint, time * 4); return; } // Card switches to moving downwards else if ((DiscardMoveUpStartTime + .5f > Time.time) && (Time.time > DiscardMoveUpStartTime + .25f)) { if (!BehindPlayBoard && (card.DiscardWhenPlayed | card.ForcingDiscardOfThis)) { SpriteRenderer[] spriterenderererers = GetComponentsInChildren <SpriteRenderer>(); foreach (SpriteRenderer sr in spriterenderererers) { sr.sortingLayerName = "Field background"; if (sr.gameObject.name != "rarity" && sr.gameObject.name != "glow" && sr.gameObject.name != "god icon" && sr.gameObject.name != "picture" && sr.gameObject.name != "aoe icon" && sr.gameObject.name != "range icon") { sr.sortingOrder = 0; } else { sr.sortingOrder = 1; } } MeshRenderer[] meshrenderers = GetComponentsInChildren <MeshRenderer>(); foreach (MeshRenderer meshrenderer in meshrenderers) { meshrenderer.sortingLayerName = "Field background"; meshrenderer.sortingOrder = 1; } BehindPlayBoard = true; StartPosition = new Vector3(StartPosition.x, StartPosition.y, StartPosition.z); return; } float time = ((Time.time - DiscardMoveUpStartTime - .25f)); transform.localPosition = Vector3.Lerp(transform.localPosition, StartPosition, time * 4); return; } else if (Time.time > DiscardMoveUpStartTime + .5f) { FinishDiscardAnimate(card.DiscardWhenPlayed | card.ForcingDiscardOfThis); card.FinishDiscard(); } } else if (currentAnimatingType == AnimatingType.drawanimating) { if (CardBackObject != null) { // Card distorts towards x scale of zero ("turns around" to become less visible to camera) gameObject.transform.localScale = Vector3.Lerp(new Vector3(gameObject.transform.localScale.x, .85f, 1f), new Vector3(0, .85f, 1f), Time.time - AnimationStartTime); if (Time.time >= AnimationStartTime + (drawAnimationLength / 2)) { // Halfway through the animation, the back of the card gets destroyed as the card "flips around" Destroy(CardBackObject); } } else { // Card distorts back to the full x scale ("turns back to face camera") gameObject.transform.localScale = Vector3.Lerp(gameObject.transform.localScale, normalLocalScale, Time.time - AnimationStartTime); } if (Time.time > AnimationStartTime + drawAnimationLength) { //this ends the animation currentAnimatingType = AnimatingType.none; //transform.localScale = normalLocalScale; transform.localPosition = AnimationEndPosition; return; } else { float time = Time.time - AnimationStartTime; transform.localPosition = Vector3.Lerp(transform.localPosition, AnimationEndPosition, time); } } else if (currentAnimatingType == AnimatingType.burnanimating) { float fade = Time.time - AnimationStartTime; foreach (SpriteRenderer SRenderer in SRenderers) { SRenderer.color = new Color(1f, 1f, 1f, 1 - fade * 2); } if (AnimationStartTime + .5f < Time.time) { card.DestroyThisGameObject(); } } else if (currentAnimatingType == AnimatingType.otheranimating) { if (Time.time > AnimationStartTime + .48f) { //this ends the animation currentAnimatingType = AnimatingType.none; transform.localPosition = AnimationEndPosition; if (!card.Discarded) { transform.localScale = normalLocalScale; } return; } else if (Time.time > AnimationStartTime + .25f) { //midpoint of animation float time = Time.time - AnimationStartTime; transform.localPosition = Vector3.Lerp(transform.localPosition, AnimationEndPosition, time); } else { float time = Time.time - AnimationStartTime; transform.localPosition = Vector3.Lerp(transform.localPosition, AnimationEndPosition, time); } } }
public void BurnAnimate() { AnimationStartTime = Time.time; currentAnimatingType = AnimatingType.burnanimating; }
public void TuckAnimate() { AnimationEndPosition = new Vector3(-2.7f, 3f, 0); currentAnimatingType = AnimatingType.otheranimating; AnimationStartTime = Time.time; }
public void FinishDiscardAnimate(bool ActuallyDiscarding) { currentAnimatingType = AnimatingType.none; if(ActuallyDiscarding) { int index = S.GameControlInst.Discard.IndexOf(gameObject); transform.parent = discardPileObj.transform; transform.localPosition = new Vector3(0,(index+1) * -.5f, 0); reorder(index, true); } }
public void MoveAnimate(int position) { reorder(card.HandIndex(), false); transform.localScale = normalLocalScale; AnimationEndPosition = new Vector3((position)*1.55f - 1f, .1f, 0); if (currentAnimatingType != AnimatingType.drawanimating) { currentAnimatingType = AnimatingType.otheranimating; } AnimationStartTime = Time.time; }
////////////////////////////////////// /// Update ////////////////////////////////////// public virtual void Update() { if(currentAnimatingType == AnimatingType.shuffleanimating) { if(Time.time > AnimationStartTime + .48f) { currentAnimatingType = AnimatingType.none; gameObject.GetComponent<SpriteRenderer>().enabled = false; return; } else { float time = Time.time - AnimationStartTime; transform.position = Vector3.Lerp(transform.position, DeckTransform.position, time); } } else if(currentAnimatingType == AnimatingType.discardanimating) { // Card is moving upwards if(DiscardMoveUpStartTime + .25f > Time.time) { float time =((Time.time-DiscardMoveUpStartTime)); transform.localPosition = Vector3.Lerp(transform.localPosition, HighestPoint, time*4); return; } // Card switches to moving downwards else if(( DiscardMoveUpStartTime + .5f > Time.time ) &&(Time.time > DiscardMoveUpStartTime + .25f)) { if(!BehindPlayBoard &&(card.DiscardWhenPlayed | card.ForcingDiscardOfThis)){ SpriteRenderer[] spriterenderererers = GetComponentsInChildren<SpriteRenderer>(); foreach(SpriteRenderer sr in spriterenderererers) { sr.sortingLayerName = "Field background"; if (sr.gameObject.name != "rarity" && sr.gameObject.name != "glow" && sr.gameObject.name != "god icon" && sr.gameObject.name != "picture" && sr.gameObject.name != "aoe icon" && sr.gameObject.name != "range icon" ) { sr.sortingOrder = 0; } else { sr.sortingOrder = 1; } } MeshRenderer[] meshrenderers = GetComponentsInChildren<MeshRenderer>(); foreach(MeshRenderer meshrenderer in meshrenderers){ meshrenderer.sortingLayerName = "Field background"; meshrenderer.sortingOrder = 1; } BehindPlayBoard = true; StartPosition = new Vector3(StartPosition.x, StartPosition.y, StartPosition.z); return; } float time =((Time.time-DiscardMoveUpStartTime - .25f)); transform.localPosition = Vector3.Lerp(transform.localPosition, StartPosition, time*4); return; } else if( Time.time > DiscardMoveUpStartTime + .5f ) { FinishDiscardAnimate(card.DiscardWhenPlayed | card.ForcingDiscardOfThis); card.FinishDiscard(); } } else if(currentAnimatingType == AnimatingType.drawanimating) { if(CardBackObject != null) { // Card distorts towards x scale of zero ("turns around" to become less visible to camera) gameObject.transform.localScale = Vector3.Lerp(new Vector3(gameObject.transform.localScale.x, .85f, 1f), new Vector3(0, .85f, 1f), Time.time-AnimationStartTime); if(Time.time >= AnimationStartTime + (drawAnimationLength/2)) { // Halfway through the animation, the back of the card gets destroyed as the card "flips around" Destroy(CardBackObject); } } else { // Card distorts back to the full x scale ("turns back to face camera") gameObject.transform.localScale = Vector3.Lerp(gameObject.transform.localScale, normalLocalScale, Time.time-AnimationStartTime); } if(Time.time > AnimationStartTime + drawAnimationLength) { //this ends the animation currentAnimatingType = AnimatingType.none; //transform.localScale = normalLocalScale; transform.localPosition = AnimationEndPosition; return; } else { float time = Time.time - AnimationStartTime; transform.localPosition = Vector3.Lerp(transform.localPosition, AnimationEndPosition, time); } } else if(currentAnimatingType == AnimatingType.burnanimating) { float fade = Time.time - AnimationStartTime; foreach(SpriteRenderer SRenderer in SRenderers) { SRenderer.color = new Color(1f, 1f, 1f, 1-fade*2); } if(AnimationStartTime + .5f < Time.time) { card.DestroyThisGameObject(); } } else if(currentAnimatingType == AnimatingType.otheranimating) { if(Time.time > AnimationStartTime + .48f) { //this ends the animation currentAnimatingType = AnimatingType.none; transform.localPosition = AnimationEndPosition; if(!card.Discarded) { transform.localScale = normalLocalScale; } return; } else if(Time.time > AnimationStartTime + .25f) { //midpoint of animation float time = Time.time - AnimationStartTime; transform.localPosition = Vector3.Lerp(transform.localPosition, AnimationEndPosition, time); } else { float time = Time.time - AnimationStartTime; transform.localPosition = Vector3.Lerp(transform.localPosition, AnimationEndPosition, time); } } }
public void MoveAnimateWhileDiscarded(int position, bool expand ) { if(expand) { AnimationEndPosition = new Vector3(0f,(position) * -.2f + -.5f, 0); } else { AnimationEndPosition = new Vector3(0f,(position) * -.5f + -.5f, 0); } currentAnimatingType = AnimatingType.otheranimating; AnimationStartTime = Time.time; }