Beispiel #1
0
        public void TweenAttackPosition(EnclosureObjectType enclosureObjectType, Action <StockObject, Vector3> action)
        {
            var position = _stockPositionCommander.GetAttackPosition(enclosureObjectType);

            image.rectTransform
            .DOMove(position, 0.1f)
            .OnComplete(() =>
            {
                action?.Invoke(this, position);
            });
        }
        private Sprite GetStockSprite(EnclosureObjectType enclosureObjectType)
        {
            switch (enclosureObjectType)
            {
            case EnclosureObjectType.Bullet:
                return(_enclosureSpriteTable.BulletSprite);

            case EnclosureObjectType.Bomb:
                return(_enclosureSpriteTable.BombSprite);

            case EnclosureObjectType.Heart:
                return(_enclosureSpriteTable.HeartSprite);

            case EnclosureObjectType.None:
            default:
                throw new ArgumentOutOfRangeException(nameof(enclosureObjectType), enclosureObjectType, null);
            }
        }
        public Vector2 GetAttackPosition(EnclosureObjectType enclosureObjectType)
        {
            switch (enclosureObjectType)
            {
            case EnclosureObjectType.None:
                break;

            case EnclosureObjectType.Bullet:
                return(enemy.position);

            case EnclosureObjectType.Bomb:
            case EnclosureObjectType.Heart:
                return(player.position);

            default:
                throw new ArgumentOutOfRangeException(nameof(enclosureObjectType), enclosureObjectType, null);
            }

            return(Vector2.zero);
        }
Beispiel #4
0
 public EnclosureObjectData(StockObject stockObject, int effectValue, EnclosureObjectType enclosureObjectType)
 {
     this.stockObject         = stockObject;
     this.effectValue         = effectValue;
     this.enclosureObjectType = enclosureObjectType;
 }