private IEnumerator DisableSprite(CharacterSprite charSprite) { yield return(new WaitForSeconds(SpriteTime)); charSprite.Face.enabled = false; charSprite.Outfit.enabled = false; }
//----------------------//------------------------// public CharacterBase(Texture2D texture) { CharacterSprite = new CharacterSprite(texture); // Physics variables init _knockbackAcceleration = 0f; _dyingAcceleration = 0f; IgnoreGravity = false; // Battle system init _hp = 1; _requestAttack = false; _isAttacking = false; _attackType = -1; _attackCooldownTick = 0f; AttackCooldown = 0f; _shot = false; _dying = false; _canReceiveAttacks = true; _contactDamageEnabled = true; // Rand init _rand = new Random(); _firstGroudLand = false; }
private void CreateText(double x, double y, double maxWidth) { _bitmapText.Clear(); double currentX = 0; double currentY = 0; string[] words = _text.Split(' '); foreach (string word in words) { Vector nextWordLength = _font.MeasureFont(word); if (maxWidth != -1 && (currentX + nextWordLength.X) > maxWidth) { currentX = 0; currentY += nextWordLength.Y; } string wordWithSpace = word + " "; // add the space character that was removed foreach (char c in wordWithSpace) { CharacterSprite sprite = _font.CreateSprite(c); float xOffset = (((float)sprite.Data.Width) * 0.5f) + ((float)sprite.Data.XOffset); float yOffset = (((float)sprite.Data.Height) * 0.5f) + ((float)sprite.Data.YOffset); sprite.Sprite.SetPosition(x + currentX + xOffset, y - currentY - yOffset); currentX += sprite.Data.XAdvance + sprite.Data.XOffset; _bitmapText.Add(sprite); } } _dimensions = _font.MeasureFont(_text); _dimensions.Y = currentY; SetColor(); }
private IEnumerator AnimateDim(bool isDimmed, CharacterSprite cSprite) { float _lerpTime = 1f; float _curLerpTime = 0f; float _startDim = 0f; float _endDim = 0.7f; if (!isDimmed) { _endDim = 1f; } Color _outfitColor = new Color(); do { _curLerpTime += Time.deltaTime; float t = _curLerpTime / _lerpTime; float _currentDim = Mathf.Lerp(_startDim, _endDim, t); _outfitColor.r = _currentDim; _outfitColor.g = _currentDim; _outfitColor.b = _currentDim; cSprite.Face.color = _outfitColor; yield return(null); } while (_curLerpTime < _lerpTime); }
public Bird(Texture2D texture) : base(texture) { // Stand CharacterSprite.CreateFrameList("stand", 200); CharacterSprite.AddCollider("stand", new Rectangle(15, 3, 36, 30)); CharacterSprite.AddFrames("stand", new List <Rectangle>() { new Rectangle(0, 0, 64, 32), new Rectangle(64, 0, 64, 32), new Rectangle(128, 0, 64, 32) }); // Jumping CharacterSprite.CreateFrameList("jumping", 200); CharacterSprite.AddCollider("jumping", new Rectangle(15, 3, 36, 30)); CharacterSprite.AddFrames("jumping", new List <Rectangle>() { new Rectangle(0, 0, 64, 32), new Rectangle(64, 0, 64, 32), new Rectangle(128, 0, 64, 32) }); // Walking CharacterSprite.CreateFrameList("walking", 200); CharacterSprite.AddCollider("walking", new Rectangle(15, 3, 36, 30)); CharacterSprite.AddFrames("walking", new List <Rectangle>() { new Rectangle(0, 0, 64, 32), new Rectangle(64, 0, 64, 32), new Rectangle(128, 0, 64, 32) }); }
public Ghost(Texture2D texture) : base(texture) { // Stand CharacterSprite.CreateFrameList("stand", 120); CharacterSprite.AddCollider("stand", new Rectangle(3, 32, 25, 30)); CharacterSprite.AddFrames("stand", new List <Rectangle>() { new Rectangle(0, 0, 32, 64), new Rectangle(32, 0, 32, 64), new Rectangle(64, 0, 32, 64), new Rectangle(96, 0, 32, 64) }); // Jumping CharacterSprite.CreateFrameList("jumping", 120); CharacterSprite.AddCollider("jumping", new Rectangle(3, 32, 25, 30)); CharacterSprite.AddFrames("jumping", new List <Rectangle>() { new Rectangle(0, 0, 32, 64), new Rectangle(32, 0, 32, 64), new Rectangle(64, 0, 32, 64), new Rectangle(96, 0, 32, 64) }); // Walking CharacterSprite.CreateFrameList("walking", 120); CharacterSprite.AddCollider("walking", new Rectangle(3, 32, 25, 30)); CharacterSprite.AddFrames("walking", new List <Rectangle>() { new Rectangle(0, 0, 32, 64), new Rectangle(32, 0, 32, 64), new Rectangle(64, 0, 32, 64), new Rectangle(96, 0, 32, 64) }); }
public override void UpdateFrameList() { if (_collapsing) { CharacterSprite.SetFrameList("collapsing"); } else if (_preparingDash) { CharacterSprite.SetFrameList("dash_preparation"); } else if (_isDashing) { CharacterSprite.SetFrameList("dash_attack"); } else if (_isAttacking) { CharacterSprite.SetFrameList(_attackFrameList[_attackType]); } else if (CharacterSprite.ImmunityAnimationActive) { CharacterSprite.SetIfFrameListExists("damage"); } else if (!_isOnGround) { CharacterSprite.SetIfFrameListExists("jumping"); } else { CharacterSprite.SetFrameList("stand"); } }
public void SlideActor(ActorSlot actor) { Debug.Log("Slide actor"); CharacterSprite charSprite = CutsceneManager.Instance.rightCharacter.GetComponent <CharacterSprite>(); charSprite.Face.enabled = true; charSprite.Outfit.enabled = true; charSprite.Face.sprite = actor.Actor.BattleFacePath.Get(); charSprite.Outfit.sprite = actor.Actor.BattleOutfitPath.Get(); Transform dest = CutsceneManager.Instance.RightSpot; Image rightImage = CutsceneManager.Instance.rightCharacter; Vector3 _beginPoint = new Vector3(dest.position.x + 100, rightImage.transform.position.y, rightImage.transform.position.z); Vector3 _endPoint = new Vector3(CutsceneManager.Instance.RightSpot.position.x, _beginPoint.y, _beginPoint.z); Image _face = charSprite.Face; Image _outfit = charSprite.Outfit; rightImage.transform.position = _beginPoint; LeanTween.move(rightImage.gameObject, _endPoint, SpriteTime); MovementNode.ColorChange(_outfit.gameObject, new Color(0.7f, 0.7f, 0.7f, 1), new Color(1, 1, 1, 1), SpriteTime); MovementNode.ColorChange(_face.gameObject, new Color(0.7f, 0.7f, 0.7f, 1), new Color(1, 1, 1, 1), SpriteTime); }
private void Awake() { rb2d = GetComponent <Rigidbody2D>(); sprite = GetComponent <CharacterSprite>(); map = GameObject.Find("Main Camera").GetComponent <DrawMap>(); cameraMovement = map.GetComponent <CameraMovement>(); groundLayerMask = 1 << LayerMask.NameToLayer("Ground"); }
void Awake() { Sprite = GetComponentInChildren <CharacterSprite>(); Input = new CharacterInput(); StateMachine = new FiniteStateMachine(); States = new CharacterStates(); States.idleState = new IdleState(this); States.jumpingState = new JumpingState(this); }
private void InitWheelMode(float targetX) { _movementSide = Math.Sign(targetX - Position.X); _movement = 0f; _acceleration = 0f; _enterWheelMode = true; _velocity.Y = -1000f; CharacterSprite.SetFrameList("enter_wheel_mode"); }
// Start is called before the first frame update void Start() { MvCon = GetComponent <MovementController>(); Rigid = GetComponent <Rigidbody>(); ChSpr = GetComponent <CharacterSprite>(); ChAu = GetComponent <CharacterAudioManager>(); MeleeOffset = MeleeHitbox.localPosition.x; }
private void CheckKeys(GameTime gameTime) { if (_dying) { return; } // Movement if (InputManager.Instace.KeyDown(Keys.Left) && Math.Abs(_knockbackAcceleration) < 1200f) { CharacterSprite.SetDirection(SpriteDirection.Left); _bottomSprite.SetDirection(SpriteDirection.Left); _movement = -1.0f; } else if (InputManager.Instace.KeyDown(Keys.Right) && Math.Abs(_knockbackAcceleration) < 1200f) { CharacterSprite.SetDirection(SpriteDirection.Right); _bottomSprite.SetDirection(SpriteDirection.Right); _movement = 1.0f; } // Attack if (!_isAttacking && InputManager.Instace.KeyDown(Keys.Z)) { RequestAttack(ShotAttack); } // Jump _isJumping = InputManager.Instace.KeyDown(Keys.C); // Recharging _recharging = _isOnGround && InputManager.Instace.KeyDown(Keys.X); if (_recharging) { if (CharacterSprite.CurrentFrame != 2) { _recharged = false; } if (CharacterSprite.CurrentFrame == 0) { TriggerRechargingParticles(); } else if (CharacterSprite.CurrentFrameList == "recharging" && CharacterSprite.CurrentFrame == 2 && !_recharged) { _recharged = true; var newAmmo = _ammo + 3; _ammo = MathHelper.Clamp(newAmmo, 0, MaxAmmo); _vacuumSei.PlaySafe(); } } if (_recharging && CharacterSprite.CurrentFrame == 0) { TriggerRechargingParticles(); } }
public bool Update(TimeSpan deltaTime) { for (int e = 0; e < _entities.Count; ++e) { Transform trans = _transforms[_entities[e].ComponentIndices[0]]; CharacterSprite sprite = _sprites[_entities[e].ComponentIndices[1]]; _renderer.AddCharacter(sprite.Character, sprite.ForeColor, sprite.BackColor, trans.LocalLeft, trans.LocalTop); } return(true); }
private void UpdateEnterWheel() { if (CharacterSprite.CurrentFrameList == "enter_wheel_mode" && CharacterSprite.Looped) { _enterWheelMode = false; _wheelMode = true; _wheelTick = InitialWheelTime; CharacterSprite.SetFrameList("wheel_mode"); _emitSparkTime = 800f; } }
/// <summary> /// Initializes the Character. /// </summary> /// <param name="map">The Map to place the Character on.</param> /// <param name="skelManager">The SkeletonManager to use for the Character's skeletons.</param> public virtual void Initialize(Map map, SkeletonManager skelManager) { // HACK: This is quite a dirty way to do this _map = map; _interpolator.Teleport(Position); _characterSprite = CreateCharacterSprite(this, this, skelManager); CharacterSprite.SetSet(BodyInfo.Stand, BodyInfo.Size); CharacterSprite.SetBody(BodyInfo.Body); }
void Start() { CharacterSprite controller = new CharacterSprite(); Sprite frontFacingSprite = controller.GetFrontFacing(); GameObject character = GameObject.Find("character"); SpriteRenderer renderer = character.GetComponent <SpriteRenderer>(); renderer.sprite = frontFacingSprite; character.transform.position = new Vector3(0.2f, 0.2f, 1); }
//----------------------//------------------------// public Enemy(Texture2D texture) : base(texture) { _viewRangeTexture = new Texture2D(SceneManager.Instance.GraphicsDevice, 1, 1, false, SurfaceFormat.Color); _viewRangeTexture.SetData(new Color[] { Color.Green }); _lastPosition = Position; _enemyType = EnemyType.None; _hasViewRange = false; _viewRangeCooldown = 0f; _viewRangeOffset = Vector2.Zero; _damage = 0; _coins = 3; CharacterSprite.SetImmunityMaxTime(0.35f); }
// Start is called before the first frame update protected virtual void Start() { col = GetComponent <Collider2D>(); body = GetComponent <Rigidbody2D>(); animator = GetComponentInChildren <Animator>(); characterSprite = GetComponentInChildren <CharacterSprite>(); if (characterSprite) { characterSprite.onFatalHit += Kill; characterSprite.onCanActChanged += CanAct; characterSprite.onMoveAnimationEvent += MoveAnimationEvent; } }
public override void UpdateFrameList() { if (_dying) { CharacterSprite.SetIfFrameListExists("dying"); } else if (CharacterSprite.ImmunityAnimationActive) { CharacterSprite.SetIfFrameListExists("damage"); } else { CharacterSprite.SetFrameList("stand"); } }
public override void RequestAttack(int type) { if (type == Dash) { _preparingDash = true; CharacterSprite.SetFrameList("dash_preparation"); } else { if (type == Cannonballs) { CreateCannonballs(); } base.RequestAttack(type); } }
public override void PlayerOnSight(Vector2 playerPosition) { if (Position.X - playerPosition.X > 0) { CharacterSprite.Effect = SpriteEffects.FlipHorizontally; } else { CharacterSprite.Effect = SpriteEffects.None; } if (!_alertAnimation && !_isAttacking) { _alertAnimation = true; _viewRangeCooldown = 1500f; CharacterSprite.SetFrameList("alert"); } }
protected override void getDefeated() { foreach (NodeController attackNode in TargetNodes) { attackNode.storedDamage -= 1; if (attackNode.storedDamage <= 0) { attackNode.dangerous = false; } } CharacterSprite.SetActive(false); //healthBar.gameObject.SetActive(false); //stunEffect.SetActive(false); currentNode.GetComponent <NodeController>().occupant = null; currentNode = null; knockedOut = true; }
public override void UpdateFrameList() { CharacterSprite.IsVisible = !_onHole; if (_dying) { CharacterSprite.SetFrameList("dying"); } else if (!_isOnGround) { var frameList = _velocity.Y == 0 ? "jump_zero" : _velocity.Y > 0 ? "jump_down" : "jump_up"; CharacterSprite.SetFrameList(frameList); } else if (_stuckOnGroud) { CharacterSprite.SetFrameList("stuck"); } }
public override void UpdateFrameList() { if (_confusionTick > 0f) { CharacterSprite.SetFrameList("confusion"); } else if (_enterWheelMode) { CharacterSprite.SetFrameList("enter_wheel_mode"); } else if (_wheelMode) { CharacterSprite.SetFrameList("wheel_mode"); } else { base.UpdateFrameList(); } }
public void HideSprite() { CharacterSprite charSprite = CutsceneManager.Instance.rightCharacter.GetComponent <CharacterSprite>(); Transform dest = CutsceneManager.Instance.RightSpot; Image rightImage = CutsceneManager.Instance.rightCharacter; Vector3 _endPoint = new Vector3(CutsceneManager.Instance.RightSpot.position.x + 100, charSprite.transform.position.y, charSprite.transform.position.z); Image _face = charSprite.Face; Image _outfit = charSprite.Outfit; LeanTween.move(rightImage.gameObject, _endPoint, SpriteTime); MovementNode.ColorChange(_outfit.gameObject, new Color(1f, 1f, 1f, 1), new Color(0.0f, 0.0f, 0.0f, 0.0f), SpriteTime); MovementNode.ColorChange(_face.gameObject, new Color(1, 1, 1, 1), new Color(0.0f, 0.0f, 0.0f, 0.0f), SpriteTime); StartCoroutine(DisableSprite(charSprite)); }
public override void ReceiveAttack(int damage, Vector2 subjectPosition) { if (_dying || IsImunity) { return; } CharacterSprite.RequestImmunityAnimation(); _hp = _hp - damage < 0 ? 0 : _hp - damage; if (_hp == 0) { IgnoreGravity = false; _dyingAcceleration = Math.Sign(Position.X - subjectPosition.X) * 0.7f; OnDie(); } _hitSe.PlaySafe(); }
//----------------------//------------------------// public Parrot(Texture2D texture) : base(texture) { _enemyType = EnemyType.Parrot; // Stand CharacterSprite.CreateFrameList("stand", 150); CharacterSprite.AddCollider("stand", new Rectangle(2, 8, 29, 17)); CharacterSprite.AddFrames("stand", new List <Rectangle>() { new Rectangle(0, 0, 32, 32), new Rectangle(32, 0, 32, 32), new Rectangle(64, 0, 32, 32), new Rectangle(96, 0, 32, 32) }, new int[] { 0, 0, 0, 0 }, new int[] { 0, 0, 0, 0 }); // Damage CharacterSprite.CreateFrameList("damage", 0); CharacterSprite.AddCollider("damage", new Rectangle(2, 8, 29, 17)); CharacterSprite.AddFrames("damage", new List <Rectangle>() { new Rectangle(0, 32, 32, 32) }, new int[] { 0, 0, 0, 0 }, new int[] { 0, 0, 0, 0 }); // Dying CharacterSprite.CreateFrameList("dying", 0); CharacterSprite.AddCollider("dying", new Rectangle(2, 8, 29, 17)); CharacterSprite.AddFrames("dying", new List <Rectangle>() { new Rectangle(0, 32, 32, 32) }, new int[] { 0, 0, 0, 0 }, new int[] { 0, 0, 0, 0 }); // Combat system init _hp = 1; _damage = 2; _flyDirection = Direction.Right; // SE init _hitSe = SoundManager.LoadSe("ParrotHit"); IgnoreGravity = true; }
public void SetChar(char ch, CharacterSprite sprite) { if (!malleable) { throw new Exception("this font is not malleable"); } if (!chars.ContainsKey(ch)) { chars.Add(ch, sprite); } else { chars[ch] = sprite; } if (sprite.Height > height) { height = sprite.Height; } }
public override void UpdateFrameList() { if (!_dying && !CharacterSprite.ImmunityAnimationActive) { if (_confusionTick > 0f) { CharacterSprite.SetFrameList("confusion"); } else if (_enterWheelMode) { CharacterSprite.SetFrameList("enter_wheel_mode"); } else if (_wheelMode) { CharacterSprite.SetFrameList("wheel_mode"); } } else { base.UpdateFrameList(); } }