예제 #1
0
        private void Awake()
        {
            var image = GetComponent <Image>();

            if (image != null)
            {
                _getSprite = () => image.sprite;
                _setSprite = sp => image.sprite = sp;
                _getColor  = () => image.color;
                _setColor  = c => image.color = c;
                return;
            }

            var spriteRenderer = GetComponent <SpriteRenderer>();

            if (spriteRenderer != null)
            {
                _getSprite = () => spriteRenderer.sprite;
                _setSprite = sp => spriteRenderer.sprite = sp;
                _getColor  = () => spriteRenderer.color;
                _setColor  = c => spriteRenderer.color = c;
                return;
            }

            Debug.LogError(string.Format(
                               "Nova: ChangeSpriteWithFade should have Image or SpriteRenderer component attached." +
                               " Object name: {0}", gameObject.name));
        }
예제 #2
0
 public void Draw(SpriteBatch spriteBatch)
 {
     if (exist)
     {
         GetSprite.Draw(Texture2DStorage.GetTriforceSpriteSheet(), spriteBatch, Position);
     }
 }
예제 #3
0
 public void Draw(SpriteBatch spriteBatch)
 {
     if (exist)
     {
         GetSprite.Draw(spriteBatch, Position);
     }
 }
예제 #4
0
 public void Draw(SpriteBatch spriteBatch)
 {
     if (exist)
     {
         GetSprite.Draw(Texture2DStorage.GetHeartContainerSpriteSheet(), spriteBatch, Position);
     }
 }
예제 #5
0
        public void Update()
        {
            Random rdm = new Random();

            if (x >= 800)
            {
                x = x - rdm.Next(60, 110);
            }
            else if (x <= 0)
            {
                x = x + rdm.Next(60, 110);
            }
            else if (y >= 360)
            {
                y = y - rdm.Next(60, 110);
            }
            else if (y <= 0)
            {
                y = y + rdm.Next(60, 110);
            }
            else
            {
                x = x + rdm.Next(-15, 15);
                y = y + rdm.Next(-10, 10);
            }

            Position = Position + new Vector2(x, y);

            GetSprite.Update();
        }
예제 #6
0
        public void Update()
        {
            Velocity--;
            GetSprite.Update();

            if (Velocity == 0)
            {
                exist = false;
            }
        }
예제 #7
0
        public void Update()
        {
            Position = Position + Direction * Velocity;
            GetSprite.Update();

            if (Position.X > 2000 || Position.X < -300 || Position.Y < -300 || Position.Y > 2000)
            {
                exist = false;
            }
        }
예제 #8
0
        public void Update()
        {
            if (exist)
            {
                Position = Position + Direction * MovingSpeed;
                GetSprite.Update();

                if (Position.X > 2000 || Position.X < -300 || Position.Y < -300 || Position.Y > 2000)
                {
                    exist = false;
                }
            }
        }
예제 #9
0
 public void Draw(SpriteBatch spriteBatch)
 {
     GetSprite.Draw(Texture2DStorage.GetDownUseItemLinkSpriteSheet(), spriteBatch, GlobalDefinitions.Position);
     if (Link.Item == 1)
     {
         this.game.ProjectileFactory.AddArrow(GlobalDefinitions.Position, new Vector2(0, 1));
     }
     if (Link.Item == 2)
     {
         this.game.ProjectileFactory.AddBomb(GlobalDefinitions.Position, new Vector2(0, 1));
     }
     if (Link.Item == 3)
     {
         this.game.ProjectileFactory.AddBoomer(GlobalDefinitions.Position, new Vector2(0, 1));
     }
 }
예제 #10
0
 public void Update()
 {
     GetSprite.Update();
     if (!die)
     {
         Aquamentus.Position = Aquamentus.Position + new Vector2(-1, 0) * Aquamentus.MovingSpeed;
     }
     else
     {
         deathtimer--;
     }
     if (deathtimer == 0)
     {
         Aquamentus.exist = false;
     }
 }
예제 #11
0
        public void Update()
        {
            GetSprite.Update();

            if (!die)
            {
                BlueOct.Position = BlueOct.Position - new Vector2(1, 0) * BlueOct.MovingSpeed;
            }

            else
            {
                deathtimer--;
            }
            if (deathtimer == 0)
            {
                BlueOct.exist = false;
            }
        }
예제 #12
0
        public void Update()
        {
            GetSprite.Update();

            if (!die)
            {
                RedBat.Position = RedBat.Position + new Vector2(0, -1) * RedBat.MovingSpeed;
            }

            else
            {
                deathtimer--;
            }
            if (deathtimer == 0)
            {
                RedBat.exist = false;
            }
        }
예제 #13
0
        public void Update()
        {
            GetSprite.Update();

            if (!die)
            {
                BlueGoriya.Position = BlueGoriya.Position + new Vector2(0, 1) * BlueGoriya.MovingSpeed;
            }

            else
            {
                deathtimer--;
            }
            if (deathtimer == 0)
            {
                BlueGoriya.exist = false;
            }
        }
예제 #14
0
        public void Update()
        {
            Velocity--;
            if (Velocity >= 0)
            {
                Position = Position + Direction * Velocity;
            }
            else
            {
                double angle = Math.Atan2(Position.Y - (GlobalDefinitions.Position + new Vector2(30, 30)).Y, (GlobalDefinitions.Position + new Vector2(30, 30)).X - Position.X);

                Position -= new Vector2((float)(Math.Cos(angle) * Velocity), (float)(Math.Sin(2 * Math.PI - angle) * Velocity));
            }

            GetSprite.Update();

            if ((Velocity < 0) && (Position.X > GlobalDefinitions.Position.X) && (Position.Y > GlobalDefinitions.Position.Y) && (Position.Y < GlobalDefinitions.Position.Y + 60) && (Position.X < GlobalDefinitions.Position.X + 60))
            {
                exist = false;
            }
        }
예제 #15
0
 public void Draw(SpriteBatch spriteBatch)
 {
     if (exist)
     {
         if (Direction.X == (float)1)
         {
             GetSprite.Draw(Texture2DStorage.GetRightWoodenArrowSpriteSheet(), spriteBatch, Position);
         }
         else if (Direction.X == (float)-1)
         {
             GetSprite.Draw(Texture2DStorage.GetLeftWoodenArrowSpriteSheet(), spriteBatch, Position);
         }
         else if (Direction.Y == (float)1)
         {
             GetSprite.Draw(Texture2DStorage.GetDownWoodenArrowSpriteSheet(), spriteBatch, Position);
         }
         else if (Direction.Y == (float)-1)
         {
             GetSprite.Draw(Texture2DStorage.GetUpWoodenArrowSpriteSheet(), spriteBatch, Position);
         }
     }
 }
예제 #16
0
 public void Update()
 {
     GetSprite.Update();
 }
예제 #17
0
 protected virtual void UpdateSprite(bool open = true)
 {
     GetComponent <InteractableSliceComponent>().Sprite = CommonAse.Props.GetSlice($"{GetSprite()}{(open ? "_open" : "")}");
 }