Пример #1
0
    void Start()
    {
        spriteRenderer = GetComponent <SpriteRenderer>();

        //set Last sprite to None (Had nothing before)
        lastSprite = SpriteType.None;
    }
Пример #2
0
    public void OnGUI()
    {
        activated = EditorGUILayout.Toggle("Activate", activated);
        dic       = (SpriteDictionary)EditorGUILayout.ObjectField("Sprite Dictionary", dic, typeof(SpriteDictionary), false);

        if (dic == null)
        {
            SpriteDictionary[] dicArr = Resources.FindObjectsOfTypeAll <SpriteDictionary>();
            if (dicArr != null && dicArr.Length > 0)
            {
                dic = dicArr[0];
            }
        }


        type              = (SpriteType)EditorGUILayout.EnumPopup("Type", type);
        spriteLayer       = (SpriteLayer)EditorGUILayout.EnumPopup("Layer", spriteLayer);
        color             = EditorGUILayout.ColorField(color);
        baseScale         = EditorGUILayout.FloatField("Base Scale", baseScale);
        scaleDiffrence    = EditorGUILayout.Slider("Scale Diffrence", scaleDiffrence, 0, 1);
        seperateScaleAxis = EditorGUILayout.Toggle("Seperate Scale Axis", seperateScaleAxis);
        rotation          = EditorGUILayout.Slider("Rotation", rotation, 0, 360);
        flipRandomX       = EditorGUILayout.Toggle("Flip Random X", flipRandomX);

        EditorGUILayout.MinMaxSlider("Distance", ref zMin, ref zMax, 0, 4);
        if (zMax > 0)
        {
            spriteLayer = SpriteLayer.PERSPECTIVE_BACKGROUND;
        }
    }
Пример #3
0
 public Monster(double x, double y, double width, double height,
                int life, int giveLife, int takeLife, int defence, int expirience,
                double speed, Vector2 direction, SpriteType spriteType, string name, int maxLife)
     : base(x, y, width, height, life, giveLife, takeLife,
            defence, expirience, speed, direction, spriteType, name, maxLife)
 {
 }
Пример #4
0
        public void SetOverride(SpriteType type, int id, string file)
        {
            string targetFile = GetSpriteFilePathWithoutFallback(type, id).File;

            Directory.CreateDirectory(Path.GetDirectoryName(targetFile));
            File.Copy(file, targetFile, overwrite: true);
        }
Пример #5
0
        public override SpriteComponent GetComponentFromDefinition(Entity entity)
        {
            if (SpriteType == null)
            {
                throw new NullReferenceException("sprite type");
            }

            if (SpriteType.ToLower().Equals("static"))
            {
                if (Resource == null)
                {
                    throw new NullReferenceException("static type, resource");
                }
                if (ResourceManager <Texture> .Get(Resource) is null)
                {
                    ResourceManager <Texture> .Add(ResourceLoader.LoadTexture(Resource, TextureFilter.NEAREST));
                }
                return(new SpriteComponent
                {
                    Value = new Renderable2D(new SharpDX.Vector2(Size[0], Size[1]), ResourceManager <Texture> .Get(Resource))
                });
            }
            return(new SpriteComponent
            {
                Value = new Renderable2D(new SharpDX.Vector2(Size[0], Size[1]), 0xffff00ff)
            });
        }
 public void switchSprite(SpriteType type)
 {
     if (image != null)
     {
         image.sprite = spriteArray[(int)type];
     }
 }
Пример #7
0
    public void CreateSprite(SpriteType spriteType, Vector3 pos, Vector3 dir)
    {
        SpriteProp prop = GetProp(spriteType);

        if (prop == null)
        {
            return;
        }

        SpriteBase sprite = null;

        switch (prop.spriteType)
        {
        case SpriteType.BLOOD:
            sprite = SpriteBlood.pool.Get();
            (sprite as SpriteBlood).Init((int)prop.spriteType, prop.lifeTime, prop.materials[Random.Range(0, prop.materials.Length)],
                                         pos, dir);
            break;

        case SpriteType.BLOOD_BIG:
            sprite = SpriteBloodBig.pool.Get();
            (sprite as SpriteBloodBig).Init((int)prop.spriteType, prop.lifeTime, prop.materials[Random.Range(0, prop.materials.Length)],
                                            pos, dir, prop.scaleVal, prop.scaleTime);
            break;

        default:
            break;
        }

        if (sprite != null)
        {
            _spriteMgr.Add(sprite);
        }
    }
Пример #8
0
    private void Awake()
    {
        spriteType = SpriteType.shengjianjiyuan;
        DontDestroyOnLoad(gameObject);
        TextAsset textAsset = Resources.Load("Txt/setting", typeof(TextAsset)) as TextAsset;

        if (textAsset != null)
        {
            string strSetting = textAsset.text;
            GameSetting.SetSetting(strSetting);
        }
        if (Instance == null)
        {
            Instance = this;
        }
        else
        {
            Debug.LogError("Main instance already exists");
        }
        if (ResourcesManager.Instance == null)
        {
            gameObject.AddComponent <ResourcesManager>();
        }
        if (SceneManager.Instance == null)
        {
            gameObject.AddComponent <SceneManager>();
        }
    }
Пример #9
0
    /// <summary>
    /// zeichnet ein Sprite (mit Alpha-Kanal) in ein Bitmap
    /// </summary>
    /// <param name="target">Bild, wohin das Sprite gezeichnet werden soll</param>
    /// <param name="fieldX">Feld X-Position</param>
    /// <param name="fieldY">Feld Y-Position</param>
    /// <param name="type">Typ des zu zeichnenden Sprites</param>
    /// <param name="parts">Teile des Sprites</param>
    public void BlitSprite(RawBitmap target, int fieldX, int fieldY, SpriteType type, SpriteParts parts = SpriteParts.All)
    {
      var targetRect = new RectInt(fieldX * spriteSize.w, fieldY * spriteSize.h, spriteSize.w, spriteSize.h);
      int elY = (int)type / 7;
      int elX = (int)type - (elY * 7);
      var sourceRect = new RectInt(elX * spriteSize.w, elY * spriteSize.h, spriteSize.w, spriteSize.h);

      switch (parts)
      {
        case SpriteParts.All: break;
        case SpriteParts.Left: targetRect.w /= 2; sourceRect.w /= 2; break;
        case SpriteParts.Right: targetRect.w /= 2; sourceRect.w /= 2; targetRect.x += spriteSize.w / 2; sourceRect.x += spriteSize.w / 2; break;
        case SpriteParts.Top: targetRect.h /= 2; sourceRect.h /= 2; break;
        case SpriteParts.Bottom: targetRect.h /= 2; sourceRect.h /= 2; targetRect.y += spriteSize.h / 2; sourceRect.y += spriteSize.h / 2; break;
        case SpriteParts.TopLeft: targetRect.w /= 2; targetRect.h /= 2; sourceRect.w /= 2; sourceRect.h /= 2; break;
        case SpriteParts.TopRight: targetRect.w /= 2; targetRect.h /= 2; sourceRect.w /= 2; sourceRect.h /= 2; targetRect.x += spriteSize.w / 2; sourceRect.x += spriteSize.w / 2; break;
        case SpriteParts.BottomLeft: targetRect.w /= 2; targetRect.h /= 2; sourceRect.w /= 2; sourceRect.h /= 2; targetRect.y += spriteSize.h / 2; sourceRect.y += spriteSize.h / 2; break;
        case SpriteParts.BottomRight: targetRect.w /= 2; targetRect.h /= 2; sourceRect.w /= 2; sourceRect.h /= 2; targetRect.x += spriteSize.w / 2; sourceRect.x += spriteSize.w / 2; targetRect.y += spriteSize.h / 2; sourceRect.y += spriteSize.h / 2; break;
        default: throw new Exception("unknown parts: " + (int)parts);
      }

      if (type == SpriteType.Empty)
      {
        target.FillRectangle(targetRect.x, targetRect.y, targetRect.w, targetRect.h, 0x001122);
      }

      target.BlitAlpha(targetRect.x, targetRect.y, spriteBitmap, sourceRect);
    }
Пример #10
0
    /// <summary>
    /// General function to try to equip the item in the active hand
    /// </summary>
    public void Equip()
    {
        // Is the player allowed to interact? (not a ghost)
        if (!isValidPlayer())
        {
            return;
        }

        // Is there an item to equip?
        if (!CurrentSlot.IsFull)
        {
            return;
        }

        //This checks which UI slot the item can be equiped to and swaps it there
        ItemType    type       = Slots.GetItemType(CurrentSlot.Item);
        SpriteType  masterType = Slots.GetItemMasterType(CurrentSlot.Item);
        UI_ItemSlot itemSlot   = InventorySlotCache.GetSlotByItemType(CurrentSlot.Item);

        if (itemSlot != null)
        {
            SwapItem(itemSlot);
        }
        else
        {
            Logger.LogError("No slot type was found for this object for auto equip", Category.UI);
        }
    }
Пример #11
0
 public SpriteFile(SpriteType type, int id, string file, bool isOverride)
 {
     Type       = type;
     Id         = id;
     File       = file;
     IsOverride = isOverride;
 }
Пример #12
0
 public AnimSprite(SpriteType spriteType, int framesCount, int frameWidth, int frameHeight)
 {
     FrameHeight = frameHeight;
     FrameWidth = frameWidth;
     _framesCount = framesCount ;
     SpriteType = spriteType;
 }
Пример #13
0
 public SpriteState(string name, Vector3 pos, float alpha)
 {
     spriteName = name;
     type       = SpriteType.Normal;
     SetPosition(pos);
     spriteAlpha = alpha;
 }
Пример #14
0
 public ProxyLetterSprite(SpriteType name, Image image, Sprite realSprite)
     : base(name)
 {
     this.realSprite = realSprite;
     this.image      = image;
     setScale(1, 1);
 }
Пример #15
0
    public void StartUseMoly(SpriteType spriteType = SpriteType.Ppo,
                             float waitTime        = 0.5f)
    {
        //idle이 아닐 때 실행 종료.
        if (nowMolyState != MolyState.idle)
        {
            return;
        }
        //두더지 대기시간
        waitTimeFact      = waitTime;
        nowMolySpriteType = spriteType;

        //두더지 스프라이트 변경.
        switch (spriteType)
        {
        case SpriteType.Ppo:
            molySprite.spriteName = "ppo";
            break;

        case SpriteType.Ppu:
            molySprite.spriteName = "ppu";
            break;
        }
        molySprite.MakePixelPerfect();
        //두더지 아래에서 위로 움직이게 설정.
        MolyMove(true);
    }
Пример #16
0
        public static GameObject BuildCharacterEntity(
            Game1 game,
            int playerNumber,
            Color playerColor,
            Vector2 position,
            float rotation,
            Vector2 scale,
            float maxGroundSpeed,
            float maxAirSpeed,
            SpriteType spriteType,
            List<Shape> boundingBoxes,
            Dictionary<ActionDefinition, ActionInfo> actionsInformationList)
        {
            GameObject entity = DynamicEntityFactory.BuildDynamicEntity(game, position, rotation, scale, maxGroundSpeed, maxAirSpeed, spriteType, boundingBoxes);

            PlayerComponent playerComponent = new PlayerComponent(entity, playerNumber);
            HealthComponent healthComponent = new HealthComponent(entity);
            ColorComponent colorComponent = new ColorComponent(entity, playerColor);
            CurrentActionComponent curActionComponent = (CurrentActionComponent)entity.GetComponent(ComponentType.Action);
            curActionComponent.SetActionInfoList(actionsInformationList);

            entity.AddComponent(playerComponent);
            entity.AddComponent(healthComponent);
            entity.AddComponent(colorComponent);

            return entity;
        }
Пример #17
0
        public List <SpriteFile> GetAllSpriteFiles(SpriteType type)
        {
            if (!_fallbackSpriteProvider.IsDefaultsPopulated)
            {
                return(new List <SpriteFile>());
            }
            var dict = new Dictionary <SpriteType, Dictionary <int, SpriteFile> >();

            foreach (var i in _fallbackSpriteProvider.GetAllSpriteFiles(type))
            {
                if (!dict.TryGetValue(i.Type, out Dictionary <int, SpriteFile> subDict))
                {
                    subDict      = new Dictionary <int, SpriteFile>();
                    dict[i.Type] = subDict;
                }
                subDict[i.Id] = i;
            }
            string overrideFolder = Path.Combine(_mod.FolderPath, GraphicsInfoResource.Get(type).PngFolder);

            if (Directory.Exists(overrideFolder))
            {
                foreach (var i in Directory.GetFiles(overrideFolder)
                         .Select(i => new SpriteFile(type: type, id: int.Parse(Path.GetFileNameWithoutExtension(i)), file: i, isOverride: true)))
                {
                    dict[i.Type][i.Id] = i;
                }
            }
            return(dict.Values.SelectMany(i => i.Values).ToList());
        }
Пример #18
0
    public static Sprite GetSprite(SpriteType spriteType,
                                   string name,
                                   bool warnOnFail = true)
    {
        if (!allSpritesLoaded)
        {
            Debug.LogWarning("Sprites weren't automatically loaded, loading now");
            LoadAllSprites();
        }

        if (sprites.ContainsKey(spriteType))
        {
            if (sprites[spriteType].ContainsKey(name))
            {
                return(sprites[spriteType][name]);
            }
            else
            {
                if (warnOnFail)
                {
                    Debug.LogWarning("Couldn't find sprite name - " + name);
                }
                return(null);
            }
        }
        else
        {
            if (warnOnFail)
            {
                Debug.LogError("Invalid spriteType - " + spriteType);
            }
            return(null);
        }
    }
Пример #19
0
 public void Attack()
 {
     if (ST < CurrentWeapon.STReq / 5)
     {
         return;
     }
     if (IsJumping)
     {
         return;
     }
     if (CurrentSprite == SpriteType.Dodge || CurrentSprite == SpriteType.Attack || CurrentSprite == SpriteType.Hitted || CurrentSprite == SpriteType.Healing)
     {
         PreviousSprite = SpriteType.Attack;
         return;
     }
     State               = 0;
     CurrentInterval     = 0;
     HorizontalDirection = 0;
     PreviousSprite      = CurrentSprite;
     PreviousDirection   = CurrentDirection;
     CurrentSprite       = SpriteType.Attack;
     ST -= CurrentWeapon.STReq;
     if (ST < 0)
     {
         ST = 0;
     }
 }
Пример #20
0
        internal void CalculateBoundingBox()
        {
            // update the sprite bounding box
            var halfSpriteSize = Sprite?.Size / 2 ?? Vector2.Zero;

            // Only calculate if we've changed...
            if (lastWorldMatrix != WorldMatrix || lastHalfSpriteSize != halfSpriteSize || lastSpriteType != SpriteType)
            {
                Vector3 halfBoxSize;
                var     boxWorldPosition = WorldMatrix.TranslationVector;

                if (SpriteType == SpriteType.Billboard)
                {
                    // Make a gross estimation here as we don't have access to the camera view matrix
                    // TODO: move this code or grant camera view matrix access to this processor
                    var maxScale = Math.Max(WorldMatrix.Row1.Length(), Math.Max(WorldMatrix.Row2.Length(), WorldMatrix.Row3.Length()));
                    halfBoxSize = maxScale * halfSpriteSize.Length() * Vector3.One;
                }
                else
                {
                    halfBoxSize = new Vector3(
                        Math.Abs(WorldMatrix.M11 * halfSpriteSize.X) + Math.Abs(WorldMatrix.M21 * halfSpriteSize.Y),
                        Math.Abs(WorldMatrix.M12 * halfSpriteSize.X) + Math.Abs(WorldMatrix.M22 * halfSpriteSize.Y),
                        Math.Abs(WorldMatrix.M13 * halfSpriteSize.X) + Math.Abs(WorldMatrix.M23 * halfSpriteSize.Y));
                }

                // Update bounding box
                BoundingBox = new BoundingBoxExt(boxWorldPosition - halfBoxSize, boxWorldPosition + halfBoxSize);

                // Save current state for next check
                lastWorldMatrix    = WorldMatrix;
                lastHalfSpriteSize = halfSpriteSize;
                lastSpriteType     = SpriteType;
            }
        }
Пример #21
0
        public static string GetRelativeSpritePath(SpriteType type, int id)
        {
            string idString = id.ToString().PadLeft(4, '0');
            string dir      = GraphicsInfoResource.Get(type).PngFolder;

            return(Path.Combine(dir, idString + ".png"));
        }
Пример #22
0
        public Image getImage(SpriteType name)
        {
            switch (name)
            {
            case SpriteType.Bug:
                return(ImageFactoryBug.Instance.getImage(0));

            case SpriteType.Crab:
                return(ImageFactoryCrab.Instance.getImage(0));

            case SpriteType.Squid:
                return(ImageFactorySquid.Instance.getImage(0));

            case SpriteType.Player:
                return(ImageFactoryPlayer.InstancePlayer.getImage(0));

            case SpriteType.PlayerProjectile:
                return(ImageFactoryShield.Instance.getImage(0));

            case SpriteType.EnemyProjectile:
                return(ImageFactoryShield.Instance.getImage(0));

            case SpriteType.Shield:
                return(ImageFactoryShield.Instance.getImage(0));

            case SpriteType.UFO:
                return(ImageFactoryUFO.Instance.getImage(0));

            case SpriteType.Explosion:
                return(ImageFactoryExplosion.InstancePlayer.getImage(0));

            default:
                return(ImageFactoryBug.Instance.getImage(0));
            }
        }
 // Use this for initialization
 void Start()
 {
     //Le asignamos a nuestra variable rend  un componente de tipo Sprite Renderer
     rend = GetComponent <SpriteRenderer>();
     //a la variable ultimoElemento le asignamos el valor face1 de nuestro enum.
     ultimoElemento = SpriteType.face1;
 }
Пример #24
0
    public GameObject MakeSprite(SpriteType spriteType, int row, int col)
    {
        string name = "";
        string layerName = "";
        switch (spriteType) {
        case SpriteType.Wall:
            name = "Wall";
            layerName = "Stage";
            break;
        case SpriteType.Floor:
            name = "Floor";
            layerName = "Stage";
            break;
        case SpriteType.Target:
            name = "Target";
            layerName = "Stage";
            break;
        case SpriteType.Box:
            name = "Box";
            layerName = "Object";
            break;
        default:
            Assert.IsTrue(false);
            break;
        }

        var obj = new GameObject(name);
        obj.AddComponent<SpriteRenderer>().sprite = GetSprite(spriteType);
        obj.GetComponent<SpriteRenderer>().sortingLayerName = layerName;
        const float size = Stage.SpriteSize;
        obj.transform.position = new Vector3(size * col, -size * row, 0);
        return obj;
    }
Пример #25
0
 public void Dodge()
 {
     if (ST < DodgeST / 5)
     {
         return;
     }
     if (CurrentSprite == SpriteType.Attack || CurrentSprite == SpriteType.Hitted || CurrentSprite == SpriteType.Healing)
     {
         PreviousSprite = SpriteType.Dodge;
         return;
     }
     if (CurrentSprite == SpriteType.Walk)
     {
         PreviousSprite = SpriteType.Walk;
     }
     else
     {
         PreviousSprite = SpriteType.Stand;
     }
     PreviousDirection   = CurrentDirection;
     CurrentSprite       = SpriteType.Dodge;
     State               = 0;
     HorizontalDirection = CurrentDirection == Direction.Right ? 1 : -1;
     Speed               = 25;
     IsImmortal          = true;
     ST -= DodgeST;
     if (ST < 0)
     {
         ST = 0;
     }
 }
Пример #26
0
 public void SpeedUp(int dir)
 {
     if (CurrentSprite == SpriteType.Walk && dir == 0)
     {
         if (MyForm.IsLeft && CurrentDirection == Direction.Right)
         {
             CurrentDirection    = Direction.Left;
             HorizontalDirection = -1;
         }
         else if (MyForm.IsRight && CurrentDirection == Direction.Left)
         {
             CurrentDirection    = Direction.Right;
             HorizontalDirection = 1;
         }
         else if ((MyForm.IsLeft && CurrentDirection == Direction.Left) || (MyForm.IsRight && CurrentDirection == Direction.Right))
         {
         }
         else
         {
             HorizontalDirection = 0;
             CurrentSprite       = SpriteType.Stand;
         }
     }
     else if (CurrentSprite == SpriteType.Attack || CurrentSprite == SpriteType.Dodge || CurrentSprite == SpriteType.Hitted || CurrentSprite == SpriteType.Healing)
     {
         PreviousSprite    = dir == 0 ? SpriteType.Stand : SpriteType.Walk;
         PreviousDirection = dir == 0 ? CurrentDirection : (dir < 0 ? Direction.Left : Direction.Right);
     }
     else
     {
         CurrentDirection    = dir != 0 ? (dir > 0 ? Direction.Right : Direction.Left) : CurrentDirection;
         HorizontalDirection = dir;
         CurrentSprite       = dir == 0 ? SpriteType.Stand : SpriteType.Walk;
     }
 }
Пример #27
0
 public static AnimatedTexture Create(SpriteType type,int gridColumn, int gridRow)
 {
     var sprite = new AnimatedTexture();
     sprite.LoadContent(s_assetHandler,type);
     sprite.SetPosition(gridColumn, gridRow);
     return sprite;
 }
Пример #28
0
        // API
        public static Result CreateSprite(VoxelData voxelData, int modelIndex, SpriteType type, int num, float light, Vector3 pivot, Camera screenShotCamera, float cameraScale)
        {
            // Voxels
            Voxel[,,] voxels = GetVoxels(voxelData, modelIndex);

            // Colorss
            int[]     widths;
            int[]     heights;
            Color[][] colorss;
            Result    result;

            switch (type)
            {
            default:
            case SpriteType._25D:
                num     = Mathf.Clamp(num, 1, 8);
                light   = Mathf.Clamp01(light);
                colorss = Get25DColorss(
                    voxels, voxelData.Palette.ToArray(), screenShotCamera,
                    num, light, cameraScale,
                    out widths, out heights
                    );
                result           = PackTextures(colorss, widths, heights, pivot);
                result.NameFixes = new string[result.Rects.Length];
                for (int i = 0; i < result.Rects.Length; i++)
                {
                    result.NameFixes[i] = SPRITE_ANGLE[i].ToString("0");
                }
                break;

            case SpriteType._8bit:
                num     = Mathf.Clamp(num, 1, 8);
                light   = Mathf.Clamp01(light);
                colorss = Get8bitColorss(
                    voxels, voxelData.Palette.ToArray(),
                    num, light,
                    out widths, out heights
                    );
                result           = PackTextures(colorss, widths, heights, pivot);
                result.NameFixes = new string[result.Rects.Length];
                for (int i = 0; i < result.Rects.Length; i++)
                {
                    result.NameFixes[i] = SPRITE_ANGLE[i].ToString("0");
                }
                break;

            case SpriteType._2D:
                num              = Mathf.Clamp(num, 1, 6);
                light            = Mathf.Clamp01(light);
                colorss          = Get2DColorss(voxels, voxelData.Palette.ToArray(), num, light, out widths, out heights);
                result           = Pack2DTextures(colorss, widths, heights, pivot);
                result.NameFixes = new string[result.Rects.Length];
                for (int i = 0; i < result.Rects.Length; i++)
                {
                    result.NameFixes[i] = SPRITE_2D_NAMES[i];
                }
                break;
            }
            return(result);
        }
Пример #29
0
 public AnimationManager(ImageManager iManager, Sprite sprite, SpriteType name)
 {
     this.iManager = iManager;
     this.sprite   = sprite;
     this.name     = name;
     totalImages   = iManager.getTotalImages();
 }
Пример #30
0
        /// <summary>
        /// Create a new animated sprite
        /// </summary>
        /// <param name="spriteName">key used to find sprite data in SpriteData Dictionary</param>
        public Sprite(string spriteName, SpriteType type = SpriteType.None)
        {
            SpriteData spriteData = Data[spriteName];

            _frameWidth         = spriteData.FrameWidth;
            _frameHeight        = spriteData.FrameHeight;
            _textureCenter      = new Vector2(_frameWidth / 2.0f, _frameHeight / 2.0f);
            _framesPerAnimation = spriteData.NumFrames;
            _numStates          = spriteData.NumStates;
            _defaultScale       = spriteData.DefaultScale;
            ScaleFactor         = 1.0f; //use property to set rect
            _animationInterval  = TimeSpan.FromSeconds(spriteData.SecondsPerAnimation);
            _timeTillNext       = _animationInterval;
            initRects();
            Shade   = Color.White;
            _zLayer = spriteData.ZLayer;
            switch (type)
            {
            case SpriteType.Projectile:
                _spriteSheet = Content.Load <Texture2D>(c_projectileSpritePath + spriteData.AssetName);
                break;

            case SpriteType.Unit:
                _spriteSheet = Content.Load <Texture2D>(c_unitSpritePath + spriteData.AssetName);
                break;

            default:
                _spriteSheet = Content.Load <Texture2D>(c_SpritePath + spriteData.AssetName);
                break;
            }
        }
Пример #31
0
        private void CombineBitmapByFolder(List <string> directories, SpriteType spriteType, string imagePath)
        {
            foreach (string directory in directories)
            {
                string[] images = Directory.GetFiles(directory, "*.png", SearchOption.TopDirectoryOnly);
                if (images.Length > 1)
                {
                    bool   compressed = chkCompress.Checked;
                    string imageName;
                    string temp;
                    imageName = temp = Path.GetFileName(directory);
                    string imageUncompressedName = string.Format("{0}_uncompressed.png", imageName);;
                    imageName = compressed ? imageUncompressedName : string.Format("{0}.png", imageName);

                    string rootDirectory = Path.GetDirectoryName(imagePath);
                    if (!rootDirectory.EndsWith(@"\"))
                    {
                        rootDirectory += @"\";
                    }
                    string newDir      = Path.Combine(path, directory.Replace(rootDirectory, string.Empty));
                    Bitmap mergedImage = CombineBitmap(images, spriteType, temp, newDir);
                    mergedImage.Save(string.Format("{0}\\{1}", newDir, imageName));
                    mergedImage.Save(string.Format("{0}\\{1}", path, imageName));
                    if (compressed)
                    {
                        CompressImgae();
                    }
                }
            }

            ConvertToOne(imagePath);

            MessageBox.Show("The sprite image and style have been generated successfully! :)", "successful", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
Пример #32
0
 public override void notifyCollisionType(SpriteType name)
 {
     if (name == SpriteType.Victory)
     {
         //controller.setState(GameMode.Start);
         GameControllerFactory.getFactory.c.setState(GameMode.Start);
     }
 }
Пример #33
0
 public Sprite(float scale, Texture2D texture, Vector2 position, SpriteType spriteType = SpriteType.TEST)
 {
     this.ScaleFactor = scale;
     this.texture     = texture;
     this.position    = position;
     this.spriteType  = spriteType;
     this.gravity     = true;
 }
Пример #34
0
 public Background()
 {
     SizeX      = 1280;
     SizeY      = 720;
     X          = 0;
     Y          = 0;
     SpriteType = SpriteType.Background;
 }
Пример #35
0
        private void SetSprite(SpriteType spriteType, Sprite sprite)
        {
            Image image = images[spriteType];

            image.enabled = sprite != null;

            image.sprite = sprite;
        }
Пример #36
0
            public MySprite AddSprite(SpriteType type = SpriteType.TEXTURE, string data = null, Vector2?position = null, Vector2?size = null, Color?color = null, string fontId = null, TextAlignment alignment = TextAlignment.LEFT, float rotation = 0)
            {
                MySprite sprite = new MySprite(type, data, position, size, color, fontId, alignment, rotation);

                // Add the sprite to the frame
                frame.Add(sprite);
                return(sprite);
            }
Пример #37
0
        public SpriteContent(Texture2D texture, Rectangle gridSize, int frames, int gridWidth, int gridHeight)
            : this(texture)
        {
            this.texture = texture;
            this.framesCount = frames;
            this.spriteType = SpriteType.GridSpriteSheet;

            initializeGridSpriteRects(gridSize, frames, gridWidth, gridHeight);
        }
Пример #38
0
        /// <summary>
        /// Shape constructor.
        /// </summary>
        /// <param name="contentManager">The content manager.</param>
        public SpriteBase(ContentManager contentManager, SpriteType spriteType, int spriteWidth)
        {
            // set the sprite type
            CurrentSpriteType = spriteType;

            // set the stable size of the draw rectangle
            // (so that we can shrink and re-grow during a shape-shift)
            normalWidth = spriteWidth;
        }
Пример #39
0
        /// <summary>
        /// Shape constructor.
        /// </summary>
        /// <param name="contentManager">The content manager.</param>
        public Shape(ContentManager contentManager, SpriteType spriteType, int spriteWidth)
            : base(contentManager, spriteType, spriteWidth)
        {
            // load sprites
            LoadContent(contentManager);

            // create the source rectangle for the sprite strip
            sourceRectangle = new Rectangle(0, 0, BASE_WIDTH, BASE_WIDTH);
        }
Пример #40
0
        /// <summary>
        /// Mouth constructor.
        /// </summary>
        /// <param name="contentManager">The content manager.</param>
        public Mouth(ContentManager contentManager, SpriteType spriteType, int spriteWidth)
            : base(contentManager, spriteType, spriteWidth)
        {
            // load the sprite image
            LoadContent(contentManager);

            // define the animation strip rectangle
            sourceRectangle = new Rectangle(0, 0, BASE_WIDTH, BASE_WIDTH);
        }
Пример #41
0
        public void AddSprite(SpriteType type, String location, int posx, int posy, int offx, int offy, float sx, float sy)
        {
            Entity entity = new Entity(Entity.EntityType.LIFE_BAR, type.ToString());
            entity.AddSprite(Animation.State.NONE, location, true);
            entity.SetPostion(posx, posy, 0);
            entity.SetOffset(Animation.State.NONE, offx, offy);
            entity.SetScale(sx, sy);

            sprites.Add(type, entity);
        }
Пример #42
0
 private static List<SpriteType> findSpriteTypesFromBitmask(SpriteType bitmaskedSpriteType)
 {
     var resultList = new List<SpriteType>();
     for (int i = 0; i < spriteTypes.Length; i++)
     {
         var spriteType = spriteTypes[i];
         if ((bitmaskedSpriteType & spriteType) == spriteType)
             resultList.Add(spriteType);
     }
     return resultList;
 }
Пример #43
0
 public void LoadContent(ContentManager assetHandler,SpriteType assetName)
 {
     if (m_contentManager == null)
     {
         m_contentManager = assetHandler;
         m_graphic = assetHandler.Load<Texture2D>(m_assetPath);
         m_spriteInfo = SpriteSheetManager.GetSpriteInfo(assetName);
         m_currentFrame = 0;
         m_animationTimer = m_ANIMATE_SPEED;
     }
 }
Пример #44
0
 public static void Draw(SpriteType bitmaskedSpriteType, SpriteBatch spriteBatch)
 {
     var relevantSpriteTypes = findSpriteTypesFromBitmask(bitmaskedSpriteType);
     for (int i = 0; i < relevantSpriteTypes.Count; i++)
     {
         var spriteType = relevantSpriteTypes[i];
         var count = _sprites[spriteType].Count;
         for (int j = 0; j < count; j++)
             _sprites[spriteType][j].Draw(spriteBatch);
     }
 }
Пример #45
0
 public static void Update(SpriteType bitmaskedSpriteType, float elapsedTime)
 {
     var relevantSpriteTypes = findSpriteTypesFromBitmask(bitmaskedSpriteType);
     for (int i = 0; i < relevantSpriteTypes.Count; i++)
     {
         var spriteType = relevantSpriteTypes[i];
         var count = _sprites[spriteType].Count;
         for (int j = count - 1; j >= 0; j--)
             _sprites[spriteType][j].Update(elapsedTime);
     }
 }
Пример #46
0
 public GameplayObject GetTileOfType(SpriteType type)
 {
     foreach (GameplayObject item in m_drawableComponents)
     {
         if (item.GetAssetType() == type && item.IsActive())
         {
             return item;
         }
     }
     return null;
 }
Пример #47
0
        /// <summary>
        /// Eyes constructor.
        /// </summary>
        /// <param name="contentManager">The content manager.</param>
        public Eyes(ContentManager contentManager, SpriteType spriteType, int spriteWidth)
            : base(contentManager, spriteType, spriteWidth)
        {
            // load sprite content
            LoadContent(contentManager);

            // define the animation strip rectangle
            sourceRectangle = new Rectangle(0, 0, BASE_WIDTH, BASE_WIDTH);

            // needed for the flip effect
            spriteOrigin = new Vector2(0, 0);
        }
Пример #48
0
 public static void CheckCollisionsBetween(SpriteType spriteType, SpriteType otherSpriteType)
 {
     var sprites = _sprites[spriteType];
     var otherSprites = _sprites[otherSpriteType];
     for (var i = sprites.Count - 1; i >= 0; i--)
     {
         for (var j = otherSprites.Count - 1; j >= 0; j--)
         {
             if(sprites[i].doesCollideWith(otherSprites[j]))
                 sprites[i].handleCollisionWith(otherSprites[j]);
         }
     }
 }
Пример #49
0
 public Sprite displaySprite(GameObject currentSpriteNumber, Image statusIcon, Image priceIcon, Sprite sprite, Sprite[] sprites, SpriteType spriteType)
 {
     display2CharNumber(currentSpriteNumber, number(sprite, sprites));
     statusIcon.sprite = statusSprite(sprite, spriteType);
     if (statusIcon.sprite.Equals(notOwned)) {
         priceIcon.sprite = priceSprite(sprite, sprites);
         if (!SettingsController.Instance.checkFunds(price(sprite, sprites))) {
             statusIcon.sprite = needCoins;
         }
     } else {
         priceIcon.sprite = nullIcon;
     }
     //change neighbors
     return sprite;
 }
Пример #50
0
    public Sprite buy(GameObject currentSpriteNumber, Image statusIcon, Image priceIcon, Sprite currentSprite, Sprite[] sprites, SpriteType spriteType)
    {
        int price = SpriteService.Instance.price(currentSprite, sprites);
        SpriteStatus status = getStatus(currentSprite, spriteType);
        if (status.Equals(SpriteStatus.NOT_OWNED) && SettingsController.Instance.checkFunds(price)) {
            SettingsController.Instance.setCoins(SettingsController.Instance.getCoins() - price);
            display4CharNumber(coinsTotal, SettingsController.Instance.getCoins());
            spriteDao.setStatus(currentSprite, (int) SpriteStatus.OWNED);
            SettingsController.Instance.removeFromNotOwnedSprites(currentSprite);

            MusicController.Instance.playCoin();
        } else if (status.Equals(SpriteStatus.OWNED)) {
            select(currentSprite, spriteType);
        }
        return displaySprite(currentSpriteNumber, statusIcon, priceIcon, currentSprite, sprites, spriteType);
    }
Пример #51
0
 protected Creature(Position position, ObjectSize size,
     SpriteType spriteType)
     : base(position, size, spriteType)
 {
     Properties = new Dictionary<Property, dynamic>()
     {
         {Property.MaxHealthPoints, null},
         {Property.HealthPoints, null},
         {Property.DefensePoints, null},
         {Property.AttackPoints, null},
         {Property.AttackRange, null},
         {Property.IsAlive, true},
         {Property.MovementSpeed, null},
         {Property.WeaponHeld, null}
     };
 }
Пример #52
0
    private Sprite GetSprite(SpriteType spriteType)
    {
        string name = "";
        switch (spriteType) {
        case SpriteType.Wall:    name = "spWall"; break;
        case SpriteType.Floor:   name = "spFloor"; break;
        case SpriteType.Target:  name = "spTarget"; break;
        case SpriteType.Box:     name = "spBox"; break;
        case SpriteType.PlayerN: name = "spPlayerN"; break;
        case SpriteType.PlayerS: name = "spPlayerS"; break;
        case SpriteType.PlayerW: name = "spPlayerW"; break;
        case SpriteType.PlayerE: name = "spPlayerE"; break;
        }

        Sprite[] sprites = Resources.LoadAll<Sprite>("sokoban");
        return sprites.Where(e => e.name == name).First();
    }
Пример #53
0
 public static GameplayObject Create(SpriteType type, int gridColumn, int gridRow)
 {
     switch (type)
     {
         case SpriteType.CRATE:
             return new Crate(gridColumn, gridRow);
         case SpriteType.PLAYER_STAND:
             return new HumanPlayer(gridColumn, gridRow, s_playerCount++);
         case SpriteType.PLAYER_WALK:
             return new ComputerPlayer(gridRow, gridColumn);
         case SpriteType.WALL:
             return new Wall(gridColumn, gridRow);
         case SpriteType.DIRT_FLOOR:
             return new EnvironmentTile(gridColumn, gridRow,SpriteType.DIRT_FLOOR);
         default:
             throw new Exception("An undefined SpriteType case was passed into the GameplayObjectFactory.");
     }
 }
Пример #54
0
        public PlayerObject(Game1 game, int playerNum, SpriteType type)
            : base(game)
        {
            Transform2DComponent transformComponent = new Transform2DComponent(
             this,
             new Vector2(300,100),
             0.0f,
             new Vector2(1.0f));

            this.AddComponent(transformComponent);
            this.AddComponent(new PlayerComponent(this, playerNum));
            this.AddComponent(new CurrentActionComponent(
                this,
                new ActionComponent(DirectionalAction.Left, SecondaryAction.Stand, PrimaryAction.None),
                new Dictionary<ActionDefinition, ActionInfo>()
            ));
            this.AddComponent(new SpriteComponent(this, type, game));
        }
Пример #55
0
        /// <summary>
        /// Character constructor.
        /// </summary>
        /// <param name="contentManager">The content manager.</param>
        /// <param name="x">The center x position.</param>
        /// <param name="y">The center y position.</param>
        /// <param name="width">The width of the sprite.</param>
        /// <param name="height">The height of the sprite.</param>
        /// <param name="windowWidth">The window width (needed for the boundaries).</param>
        /// <param name="windowHeight">The window height (needed for the boundaries).</param>
        public Character(ContentManager contentManager, SpriteType spriteType, int x, int y, int width,
            int height, int windowWidth, int windowHeight)
        {
            // define the position vector and rectangle
            positionVector = new Vector2(x - width / 2, y - width / 2);
            positionRectangle = new Rectangle(x - width / 2, y - height / 2, width, height);

            // set boundaries for characters
            boundaryBottom = windowHeight;
            boundaryRight = windowWidth;

            // create the shape object
            shape = new Shape(contentManager, spriteType, width);
            eyes = new Eyes(contentManager, spriteType, width);
            mouth = new Mouth(contentManager, spriteType, width);

            // set the sprite type
            CurrentSpriteType = spriteType;

            // Active characters
            IsActive = true;
        }
Пример #56
0
	public void StartUseMoly(SpriteType spriteType=SpriteType.Ppo, 
	                         float waitTime = 0.5f)
	{
		//idle이 아닐 때 실행 종료.
		if( nowMolyState != MolyState.idle) return;
		//두더지 대기시간
		waitTimeFact = waitTime;
		nowMolySpriteType = spriteType;

		//두더지 스프라이트 변경.
		switch(spriteType)
		{
		case SpriteType.Ppo:
			molySprite.spriteName = "ppo";
			break;
		case SpriteType.Ppu:
			molySprite.spriteName = "ppu";
			break;
		}
		molySprite.MakePixelPerfect();
		//두더지 아래에서 위로 움직이게 설정.
		MolyMove(true);
	}
Пример #57
0
        public static KeyValuePair<SpriteType[, ], SpriteType> Load()
        {
            SpriteType[,] data = new SpriteType[SpriteSheetManager.Columns, SpriteSheetManager.Rows];
            SpriteType backgroundTile = SpriteType.EMPTY;
            if (File.Exists("save.dat"))
            {
                TextReader input = new StreamReader("save.dat");
                string saveData = input.ReadLine();
                string[] explodedSaveData = saveData.Split(',');
                for (int ii = 0; ii < SpriteSheetManager.Columns; ii++)
                {
                    for (int jj = 0; jj < SpriteSheetManager.Rows; jj++)
                    {
                        data[ii, jj] = SpriteType.EMPTY;
                    }
                }
                for (int ii = 0; ii < explodedSaveData.Count() - 1; ii += 3)
                {
                    foreach (SpriteType item in Enum.GetValues(typeof(SpriteType)))
                    {
                        if (item.ToString() == explodedSaveData[ii + 2])
                        {
                            if (int.Parse(explodedSaveData[ii]) == -1)
                            {
                                backgroundTile = item;
                            }
                            else
                            {

                                data[int.Parse(explodedSaveData[ii]), int.Parse(explodedSaveData[ii + 1])] = item;
                            }
                        }
                    }
                }
            }
            return new KeyValuePair<SpriteType[,],SpriteType>(data,backgroundTile);
        }
Пример #58
0
        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
            this._systems = new List<GameSystem>();
            this._objects = new List<GameObject>();
            this._services = new Dictionary<string, GameSystem>();
            this._systemsCallOrder = new List<int>();
            this.curScreen = ScreenType.Start;
            this.graphics.PreferredBackBufferWidth = 1200;
            this.graphics.PreferredBackBufferHeight = 800;
            this.graphics.ApplyChanges();
            this.CurrentPathfindingGraph = new AStarGraph(this, new List<AStarNode>());
            this.play1 = SpriteType.None;
            this.play2 = SpriteType.None;
            this.winner = 0;
            this.playe1 = PlayerType.None;
            this.playe2 = PlayerType.None;

            gameType = GameTypes.None;
            LivesOrTime = 0;
            this.mapType = MapType.Basic;
            this.Winner = null;
        }
Пример #59
0
 public static bool HasTileType(Vector2 location,SpriteType assetType)
 {
     return s_board[(int)location.X, (int)location.Y].IsTypeRegistered(assetType);
 }
Пример #60
0
 public static bool HasTileType(int gridColumn,int gridRow, SpriteType assetType)
 {
     return s_board[gridColumn, gridRow].IsTypeRegistered(assetType);
 }