コード例 #1
0
    [SerializeField] private Text nameLabel;    //아이템 이름을 표시할 텍스트

    //셀의 내용을 갱신
    public override void UpdateContent(ShopItemData itemData)
    {
        nameLabel.text = itemData.name;

        //스프라이트 시트 이름과 스프라이트 이름을 지정해 아이콘 스프라이트를 변경한다.
        iconImage.sprite = SpriteSheetManager.GetSpriteByName("IconAtlas", itemData.iconName);
    }
コード例 #2
0
        void Update()
        {
            if (Input.GetKeyDown(KeyCode.Space))
            {
                int maxSprites = SpriteSheetCache.GetLength(spriteSheetName);
                var color      = UnityEngine.Random.ColorHSV(.35f, .85f);

                // 3) Populate components
                List <IComponentData> components = new List <IComponentData> {
                    new Position2D {
                        Value = UnityEngine.Random.insideUnitCircle * 7
                    },
                    new Scale {
                        Value = UnityEngine.Random.Range(0, 3f)
                    },
                    new SpriteIndex {
                        Value = UnityEngine.Random.Range(0, maxSprites)
                    },
                    new SpriteSheetAnimation {
                        frameCount = maxSprites, playMode = PlayMode.Loop, framesPerSecond = 10
                    },
                    new SpriteSheetColor {
                        color = new float4(color.r, color.g, color.b, color.a)
                    },
                    new LifeTime {
                        Value = UnityEngine.Random.Range(5, 15)
                    }
                };

                SpriteSheetManager.Instantiate(archetype, components, spriteSheetName);
            }
        }
コード例 #3
0
        public QuadTree(float3 bounds, Entity entity)
        {
            this.bounds = bounds;
            int maxSprites = SpriteSheetCache.GetLength("emoji");

            if (entity == Entity.Null)
            {
                var color = UnityEngine.Random.ColorHSV(.35f, .85f);
                List <IComponentData> components = new List <IComponentData> {
                    new Position2D {
                        Value = bounds.xy
                    },
                    new Scale {
                        Value = bounds.z
                    },
                    new SpriteIndex {
                        Value = UnityEngine.Random.Range(0, maxSprites)
                    },
                    new SpriteSheetAnimation {
                        frameCount = maxSprites, playMode = PlayMode.Loop, framesPerSecond = 10
                    },
                    new SpriteSheetColor {
                        color = new float4(color.r, color.g, color.b, color.a)
                    }
                };
                this.entity = SpriteSheetManager.Instantiate(FractalInitializer.archetype, components, "emoji");
            }
            else
            {
                this.entity = entity;
                UpdateEntityMatrix();
            }
        }
コード例 #4
0
    /// <summary>
    /// 信息界面的数据更新
    /// </summary>
    /// <param name="itemData"></param>
    public void UpdateContent(Sober itemData)
    {
        this.itemData = itemData;

        nameLabel.text        = itemData.GetName();
        specieLabel.text      = itemData.GetSpecie();
        LvLabel.text          = itemData.GetLvValue().ToString();
        DescriptionLabel.text = itemData.GetDescription();

        AttackLabel.text  = itemData.GetAtkValue().ToString();
        DefenceLabel.text = itemData.GetDfcValue().ToString();
        LifeLabel.text    = itemData.GetLifeValue().ToString();

        switch (itemData.GetOccRole())
        {
        case RoleOccupation.Warrige:
            OccupationLabel.text = "战士";
            break;

        case RoleOccupation.Mage:
            OccupationLabel.text = "法师";
            break;

        case RoleOccupation.Hunter:
            OccupationLabel.text = "猎人";
            break;

        default:
            break;
        }
        imageLabel.sprite = SpriteSheetManager.GetSpriteByName("IconAtlas", "hero" + itemData.GetIconIndex());
    }
コード例 #5
0
    //public void ChapterImageCopy()
    //{
    //    if (posisi == pos.Length-1)
    //    {
    //        GameObject FirstImage = Instantiate(ChapterImage[0], this.gameObject.transform);
    //        ChapterImage.Add(FirstImage);
    //        ChapterImage.RemoveAt(0);
    //        DestroyImmediate(ChapterImage[0]);
    //        FirstImage.transform.localPosition = new Vector2(gameObject.transform.localPosition.x + 1500, 0);
    //        posisi = 0;
    //    }

    //    else if (posisi == 0)
    //    {
    //        GameObject LastImage = Instantiate(ChapterImage[pos.Length], this.gameObject.transform);
    //        ChapterImage.Add(LastImage);
    //        ChapterImage.RemoveAt(pos.Length);
    //        DestroyImmediate(ChapterImage[pos.Length]);
    //        LastImage.transform.localPosition = new Vector2(gameObject.transform.localPosition.x - 1500, 0);
    //        posisi = pos.Length;
    //    }
    //}

    #region Chapter Iamge 아래 버튼 설정
    public void StageButtonSetting()
    {
        int btnCount = 0;

        chapterIndex = posisi + 1;

        btnCount = GameManager.Instance.CatSpawnInfos_Dictionary[chapterIndex].Count;
        chapterNameImage.sprite = SpriteSheetManager.GetSpriteByName("UIAtlas", "Chatper" + chapterIndex.ToString() + "_ThemeSelect_0"); //Chatper1_ThemeSelect Chatper2_ThemeSelect


        for (int i = 0; i < ChapterStageBtn.Length; i++)
        {
            if (i < btnCount)
            {
                ChapterStageBtn[i].SetActive(true);

                ChapterStageBtn[i].transform.GetChild(1).GetComponent <Text>().text = GameManager.Instance.CatSpawnInfos_Dictionary[chapterIndex][i + 1].levelName;
                ChapterStageBtn[i].GetComponent <Image>().sprite = SpriteSheetManager.GetSpriteByName("UIAtlas", "Chatper" + chapterIndex.ToString() + "_Button_" + i);
            }
            else
            {
                ChapterStageBtn[i].SetActive(false);
            }
        }
    }
コード例 #6
0
 void Start()
 {
     //기본 아이콘 설정
     MouseIconSprite.sprite = SpriteSheetManager.GetSpriteByName("UIAtlas", "Icon2");
     //아이콘 체크 시작.
     StartCoroutine(IconChangeCheck());
 }
コード例 #7
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            int maxSprites = SpriteSheetCache.GetLength("emoji");
            var color      = UnityEngine.Random.ColorHSV(.35f, .85f);

            // 3) Populate components
            List <IComponentData> components = new List <IComponentData> {
                new Position2D {
                    Value = UnityEngine.Random.insideUnitCircle * 7
                },
                new Scale {
                    Value = UnityEngine.Random.Range(0, 3f)
                },
                new SpriteIndex {
                    Value = UnityEngine.Random.Range(0, maxSprites)
                },
                new SpriteSheetAnimation {
                    maxSprites = maxSprites, play = true, repetition = SpriteSheetAnimation.RepetitionType.Loop, samples = 10
                },
                new SpriteSheetColor {
                    color = new float4(color.r, color.g, color.b, color.a)
                },
                new LifeTime {
                    Value = UnityEngine.Random.Range(5, 15)
                }
            };

            SpriteSheetManager.Instantiate(archetype, components, "emoji");
        }
    }
コード例 #8
0
    int UpdateBuffers(int renderIndex)
    {
        SpriteSheetManager.ReleaseBuffer(renderIndex);

        RenderInformation renderInformation = SpriteSheetManager.renderInformation[renderIndex];
        int instanceCount = EntityManager.GetBuffer <SpriteIndexBuffer>(renderInformation.bufferEntity).Length;

        if (instanceCount > 0)
        {
            //TODO: deve moltiplicare il numero di sprites per questa animazione

            int stride = instanceCount >= 16 ? 16 : 16 * SpriteSheetCache.GetLenght(renderInformation.material);
            renderInformation.uvBuffer = new ComputeBuffer(instanceCount, stride);
            renderInformation.uvBuffer.SetData(EntityManager.GetBuffer <UvBuffer>(renderInformation.bufferEntity).Reinterpret <float4>().AsNativeArray());
            renderInformation.material.SetBuffer("uvBuffer", renderInformation.uvBuffer);


            renderInformation.indexBuffer = new ComputeBuffer(instanceCount, sizeof(int));
            renderInformation.indexBuffer.SetData(EntityManager.GetBuffer <SpriteIndexBuffer>(renderInformation.bufferEntity).Reinterpret <int>().AsNativeArray());
            renderInformation.material.SetBuffer("indexBuffer", renderInformation.indexBuffer);

            renderInformation.matrixBuffer = new ComputeBuffer(instanceCount, 16);
            renderInformation.matrixBuffer.SetData(EntityManager.GetBuffer <MatrixBuffer>(renderInformation.bufferEntity).Reinterpret <float4>().AsNativeArray());
            renderInformation.material.SetBuffer("matrixBuffer", renderInformation.matrixBuffer);

            renderInformation.args[1] = (uint)instanceCount;
            renderInformation.argsBuffer.SetData(renderInformation.args);

            renderInformation.colorsBuffer = new ComputeBuffer(instanceCount, 16);
            renderInformation.colorsBuffer.SetData(EntityManager.GetBuffer <SpriteColorBuffer>(renderInformation.bufferEntity).Reinterpret <float4>().AsNativeArray());
            renderInformation.material.SetBuffer("colorsBuffer", renderInformation.colorsBuffer);
        }
        return(instanceCount);
    }
コード例 #9
0
    // 인스턴스를 로드할 때 호출된다
    protected override void Awake()
    {
        // 기반 클래스에 포함된 Awake 메서드를 호출한다
        base.Awake();

        // 아이콘의 스프라이트 시트에 포함된 스프라이트를 캐시해둔다
        SpriteSheetManager.Load("IconAtlas");
    }
コード例 #10
0
 private void UpdateEntityMatrix()
 {
     SpriteSheetManager.UpdateEntity(entity, new Position2D {
         Value = bounds.xy
     });
     SpriteSheetManager.UpdateEntity(entity, new Scale {
         Value = bounds.z
     });
 }
コード例 #11
0
        public void Convert(Entity entity, EntityManager eManager, GameObjectConversionSystem conversionSystem)
        {
            EntityArchetype archetype = eManager.CreateArchetype(
                typeof(Position2D),
                typeof(Rotation2D),
                typeof(Scale),
                //required params
                typeof(SpriteIndex),
                typeof(SpriteSheetAnimation),
                typeof(SpriteSheetMaterial),
                typeof(SpriteSheetColor),
                typeof(SpriteMatrix),
                typeof(BufferHook)
                );

            NativeArray <Entity> entities = new NativeArray <Entity>(spriteCount, Allocator.Temp);

            eManager.CreateEntity(archetype, entities);

            //only needed for the first time to bake the material and create the uv map
            SpriteSheetManager.RecordSpriteSheet(sprites, "emoji", entities.Length);


            Rect   area                  = GetSpawnArea();
            Random rand                  = new Random((uint)UnityEngine.Random.Range(0, int.MaxValue));
            int    cellCount             = SpriteSheetCache.GetLength("emoji");
            SpriteSheetMaterial material = new SpriteSheetMaterial {
                material = SpriteSheetCache.GetMaterial("emoji")
            };

            for (int i = 0; i < entities.Length; i++)
            {
                Entity e = entities[i];
                eManager.SetComponentData(e, new SpriteIndex {
                    Value = rand.NextInt(0, cellCount)
                });
                eManager.SetComponentData(e, new Scale {
                    Value = 10
                });
                eManager.SetComponentData(e, new Position2D {
                    Value = rand.NextFloat2(area.min, area.max)
                });
                eManager.SetComponentData(e, new SpriteSheetAnimation {
                    maxSprites = cellCount, play = true, repetition = SpriteSheetAnimation.RepetitionType.Loop, samples = 10
                });
                var color            = UnityEngine.Random.ColorHSV(.15f, .75f);
                SpriteSheetColor col = new SpriteSheetColor {
                    color = new float4(color.r, color.g, color.b, color.a)
                };
                eManager.SetComponentData(e, col);
                eManager.SetComponentData(e, new BufferHook {
                    bufferID = i, bufferEnityID = DynamicBufferManager.GetEntityBufferID(material)
                });
                eManager.SetSharedComponentData(e, material);
            }
        }
コード例 #12
0
    [SerializeField] private Text priceLabel;           // 가격을 표시할 텍스트

    // 셀의 내용을 갱신하는 메서드를 오버라이트한다
    public override void UpdateContent(ShopItemData itemData)
    {
        nameLabel.text  = itemData.name;
        priceLabel.text = itemData.price.ToString();

        #region 아이콘의 스프라이트를 변경하는 코드를 추가한다
        // 스프라이트 시트 이름과 스프라이트 이름을 지정해서 아이콘의 스프라이트를 변경한다
        iconImage.sprite =
            SpriteSheetManager.GetSpriteByName("IconAtlas", itemData.iconName);
        #endregion
    }
コード例 #13
0
ファイル: Block.cs プロジェクト: Rainermv/Match3Prototype
    void Awake()
    {
        //selector = transform.GetChild (0).GetComponent<Renderer> ();
        sprites = SpriteSheetManager.GetInstance();
        //c_max = sprites.IngredientsSpriteSheet.Length +1;
        //SwitchSelector(false);
        Unselect();

        starting_position = transform.position;
        target_position   = transform.position;
    }
コード例 #14
0
 public void CollectionBoard(int index)
 {
     if (collectionInfoListScript.collectionInfoList[index].isCollected)
     {
         catNameText.text        = collectionInfoListScript.collectionInfoList[index].catName;
         catDescriptionText.text = collectionInfoListScript.collectionInfoList[index].catDescription;
         //이미지 설정
         catImage.sprite = SpriteSheetManager.GetSpriteByName("UIAtlas", "Cat" + collectionInfoListScript.collectionInfoList[index].catCode.ToString());
         collectionDetail.SetActive(true);
     }
 }
コード例 #15
0
    // 아이템 상세 화면의 내용을 갱신하는 메서드
    public void UpdateContent(ShopItemData itemData)
    {
        // 아이템의 데이터를 저장해둔다
        this.itemData = itemData;

        iconImage.sprite =
            SpriteSheetManager.GetSpriteByName("IconAtlas", itemData.iconName);
        nameLabel.text        = itemData.name;
        priceLabel.text       = itemData.price.ToString();
        descriptionLabel.text = itemData.description;
    }
コード例 #16
0
    /// <summary>
    /// Test for lines that can be cleared and clear them
    /// </summary>
    /// <param name="lines">The lines that can be cleared</param>
    public void GetClearLines(List <int> lines)
    {
        //Go through the lines that can be cleared
        for (int i = 0; i < lines.Count; i++)
        {
            bool addToClear = true;

            for (int x = 0; x < width; x++)
            {
                //If there is a tile that isn't occupied don't clear the line
                if (!tileOccupancy[new Vector2(x, lines[i])])
                {
                    addToClear = false;
                    break;
                }
            }

            //Add lines that have all of their tiles occupied
            if (addToClear)
            {
                linesToClear.Add(lines[i]);
            }
        }

        //Return if there are no lines to clear
        if (linesToClear.Count == 0)
        {
            return;
        }

        //Sort the lines from smallest to biggest
        linesToClear.Sort();

        //Loop through all the lines to clear
        foreach (int line in linesToClear)
        {
            //Set all of the tiles in the line to be unoccupied and have the blank background
            for (int x = 0; x < width; x++)
            {
                Vector2 pos = new Vector2(x, line);
                tileOccupancy[pos] = false;

                string fullSpriteName = tileObjects[pos].GetComponent <Image>().sprite.name;

                string tile     = fullSpriteName.Split('.')[0];
                string color    = fullSpriteName.Split('.')[1];
                int    darkness = int.Parse(fullSpriteName.Split('.')[2]);

                tileObjects[pos].GetComponent <Image>().sprite = SpriteSheetManager.GetSprite(tile, color, darkness - 2);
            }
        }

        clearLineTimer = .1f;
    }
コード例 #17
0
ファイル: HeroBehavior.cs プロジェクト: bdjnk/MP4
    // Use this for initialization
    void Start()
    {
        spriteManager =
            new SpriteSheetManager(renderer.material,
            mRowOfSpriteElements, mColumnOfSpriteElements,
            mBlankPixelsToLeft, mBlankPixelsToRight,
            mBlankPixelsToTop, mBlankPixelsToBottom);
        spriteManager.SetSpriteAnimationAciton(stop);

        worldScript = GameObject.Find("GameManager").GetComponent<GlobalBehavior>();
        eggPrefab = Resources.Load("Prefabs/Egg") as GameObject;
    }
コード例 #18
0
    /// <summary>
    /// Create the next piece area and populate it with tetris pieces
    /// </summary>
    private void CreateNextPieceArea()
    {
        //Empty object to hold the next piece area
        GameObject nextPiecesObj = new GameObject();

        //Base object for the next piece area
        GameObject background = Resources.Load("Temp Background Tile") as GameObject;

        //Set the name, parent, and position of the empty object
        nextPiecesObj.name = "Next Pieces";
        nextPiecesObj.transform.SetParent(transform);
        nextPiecesObj.transform.localPosition = Vector2.zero;

        //Create the correct amount of indicators
        for (int i = 0; i < nextPieceCount; i++)
        {
            //Add a random piece to the queue
            int randPiece = Random.Range(0, 7);
            pieceOrder.Enqueue(randPiece);

            //Determine the position of the next piece
            Vector2 pos = new Vector2(width / 2 * tileSize + (tileSize / nextAreaSize) * 2 + tileSize / 4, height / 2 * tileSize - (tileSize / nextAreaSize) * 2 - (tileSize / nextAreaSize) * blockCount * i);

            //Create a new area for the next piece to be viewed
            GameObject newBackground = Instantiate(background, pos, Quaternion.identity, nextPiecesObj.transform);
            newBackground.GetComponent <RectTransform>().sizeDelta = new Vector2((tileSize / nextAreaSize) * blockCount, (tileSize / nextAreaSize) * blockCount);
            newBackground.transform.localPosition = pos;

            //Split the sprite name up for the background color
            string color    = backgroundSprite.name.Split('.')[1];
            int    darkness = int.Parse(backgroundSprite.name.Split('.')[2].ToString());

            //Create a sprite with the new color info
            newBackground.GetComponent <Image>().sprite = SpriteSheetManager.GetSprite("Color", color, darkness);

            //Create a tetris piece to display in the next area
            GameObject newNextPiece = Instantiate(tetrisPieceObj);
            newNextPiece.transform.SetParent(nextPiecesObj.transform);
            newNextPiece.transform.localPosition = pos;

            //Set information about the next tetris piece
            newNextPiece.GetComponent <TetrisPiece>().fallingTimer = int.MaxValue;
            newNextPiece.GetComponent <TetrisPiece>().tileSize     = tileSize / 2f;
            newNextPiece.GetComponent <TetrisPiece>().field        = this;
            newNextPiece.GetComponent <TetrisPiece>().tileSprite   = tileSprites[randPiece];
            newNextPiece.GetComponent <TetrisPiece>().display      = true;
            newNextPiece.GetComponent <TetrisPiece>().SetFormation(newNextPiece.transform.localPosition, GetFormation(randPiece));

            //Add the tetris piece to a list of next piece
            nextPieces.Add(newNextPiece);
        }
    }
コード例 #19
0
    /// <summary>
    /// Creates/load the sprites that will be used for the play area and pieces
    /// </summary>
    public void SetTileSprites()
    {
        int    darkness = 0;
        string tile     = "RoundedBlock";

        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Tomato", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Cheese", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Spinach", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Water", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Lilac", darkness));

        backgroundSprite = SpriteSheetManager.GetSprite(tile, "Tarmac", darkness);
    }
コード例 #20
0
 protected override void OnUpdate()
 {
     Entities.WithAll <LifeTime>().ForEach((Entity entity, ref LifeTime lifetime) => {
         if (lifetime.Value < 0)
         {
             SpriteSheetManager.DestroyEntity(entity, "emoji");
         }
         else
         {
             lifetime.Value -= Time.DeltaTime;
         }
     });
 }
コード例 #21
0
ファイル: OptionScript.cs プロジェクト: KimRyuan/WhereIsMyCat
    public void OptionSoundSlider()
    {
        int volume = (int)(soundSlider.value * 100);

        soundSliderText.text = volume.ToString();

        if (volume <= 0)
        {
            volumeImage.sprite = SpriteSheetManager.GetSpriteByName("UIAtlas", "SettingImages_3");
        }
        else
        {
            volumeImage.sprite = SpriteSheetManager.GetSpriteByName("UIAtlas", "SettingImages_5");
        }
    }
コード例 #22
0
    /// <summary>
    /// Creates/load the sprites that will be used for the play area and pieces
    /// </summary>
    public void SetTileSprites()
    {
        int    darkness = 1;
        string tile     = "Coin";

        tileSprites.Add(SpriteSheetManager.GetSprite(tile + "1", "Tarmac", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile + "5", "Cheese", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile + "10", "Mint", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile + "50", "Spinach", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile + "100", "Water", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile + "500", "Cheese", darkness));

        backgroundSprite = SpriteSheetManager.GetSprite("Blank", "Lilac", darkness + 3);
        coinMoverSprite  = SpriteSheetManager.GetSprite("Blank", "Tomato", darkness + 4);
    }
コード例 #23
0
    public void NormalCatSpawnSetting_WithCode(int spawnCode)
    {
        normalCatLoveAmount = Random.Range(6, 10) * 10;       // 60하트~90하트. (업그레이드로 돈 획득량 증가?)

        normalCatCode = spawnCode;
        SpriteRenderer normalCatSpriteRenderer = GetComponent <SpriteRenderer>();

        //아틀라스 로드는 CatSpawnManagerScript에서 함.
        normalCatSpriteRenderer.sprite = SpriteSheetManager.GetSpriteByName("SpriteAtlas", "Cat_" + spawnCode);
        //이미지에 맞춰서 콜라이더 리셋!
        ResetCollider_ForCatObject();

        StartCoroutine(CatBecomeAppear());
        //normalCatSpriteRenderer.color = new Color(1, 1, 1, 1);
    }
コード例 #24
0
    IEnumerator IconChangeCheck()
    {
        //고양이가 클릭 범위에 있는지 없는지에 따라서 아이콘을 바꿔줘야함.
        while (isMouseRaycastWorking == true)
        {
            Vector2 mousePoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            mousePoint += new Vector2(-1.36f, 0);   //위치 보정
            Ray2D          ray        = new Ray2D(mousePoint, Vector2.zero);
            RaycastHit2D[] hitObjects = Physics2D.RaycastAll(ray.origin, ray.direction);

            //있으면 이게 true로 바뀜.
            isCatHere = false;

            if (hitObjects == null)
            {
                print("아무것도 감지되지 않음. 오류 아니냐? 콜라이더 빼먹었냐?");
                MouseIconSprite.sprite = SpriteSheetManager.GetSpriteByName("UIAtlas", "MouseIcon_0");
                //오류표시용
            }
            else
            {
                //만약 뭔가 있다면 확인합니다.
                foreach (RaycastHit2D hit in hitObjects)
                {
                    GameObject obj = hit.collider.gameObject;
                    if (obj.name.Contains("CatObject"))           //만약 일반 냥이 오브젝트면
                    {
                        isCatHere = true;
                        break;
                    }
                }

                if (isCatHere)
                {
                    //냥이 있다! 발견 아이콘.
                    MouseIconSprite.sprite = SpriteSheetManager.GetSpriteByName("UIAtlas", "MouseIcon_1");
                }
                else
                {
                    //냥이 없다. 일반 아이콘.
                    MouseIconSprite.sprite = SpriteSheetManager.GetSpriteByName("UIAtlas", "Icon2");
                }
            }

            //0.1초에 한번씩 체크
            yield return(new WaitForSecondsRealtime(0.1f));
        }
    }
コード例 #25
0
    /// <summary>
    /// Creates/load the sprites that will be used for the play area and pieces
    /// </summary>
    public void SetTileSprites()
    {
        int    darkness = 3;
        string tile     = "Blank";

        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Tomato", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Cheese", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Lilac", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Spinach", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Water", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Cherry", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Chocolate", darkness));
        tileSprites.Add(SpriteSheetManager.GetSprite(tile, "Powder", darkness));

        backgroundSprite = SpriteSheetManager.GetSprite(tile, "Tarmac", darkness + 2);
    }
コード例 #26
0
    public void Play(string animationName = "")
    {
        if (animationName == "")
        {
            animationName = animations[currentAnimationIndex].name;
        }
        int i = 0;

        foreach (SpriteSheetAnimationData animation in animations)
        {
            if (animation.animationName == animationName)
            {
                SpriteSheetManager.SetAnimation(managedEntity, animation, animations[currentAnimationIndex].name);
                currentAnimationIndex = i;
            }
            i++;
        }
    }
コード例 #27
0
 public void Convert(Entity entity, EntityManager eManager, GameObjectConversionSystem conversionSystem)
 {
     //Record and bake this spritesheets(only once)
     archetype = eManager.CreateArchetype(
         typeof(Position2D),
         typeof(Rotation2D),
         typeof(Scale),
         typeof(LifeTime),
         //required params
         typeof(SpriteIndex),
         typeof(SpriteSheetAnimation),
         typeof(SpriteSheetMaterial),
         typeof(SpriteSheetColor),
         typeof(SpriteMatrix),
         typeof(BufferHook)
         );
     SpriteSheetManager.RecordSpriteSheet(sprites, spriteSheetName);
 }
コード例 #28
0
 public void Convert(Entity entity, EntityManager eManager, GameObjectConversionSystem conversionSystem)
 {
     archetype = eManager.CreateArchetype(
         typeof(Position2D),
         typeof(Rotation2D),
         typeof(Scale),
         typeof(SpriteSheetColor),
         #region required for spritesheet renderer
         typeof(SpriteIndex),
         typeof(SpriteSheetAnimation),
         typeof(SpriteSheetMaterial),
         typeof(SpriteMatrix),
         typeof(BufferHook)
         #endregion
         );
     SpriteSheetManager.RecordSpriteSheet(sprites, spriteSheetName);
     qt = new QuadTree(new float3(0, 0, 20), Entity.Null);
 }
コード例 #29
0
        public void Convert(Entity entity, EntityManager eManager, GameObjectConversionSystem conversionSystem)
        {
            // 1) Create Archetype
            EntityArchetype archetype = eManager.CreateArchetype(
                typeof(Position2D),
                typeof(Rotation2D),
                typeof(Scale),
                //required params
                typeof(SpriteIndex),
                typeof(SpriteSheetAnimation),
                typeof(SpriteSheetMaterial),
                typeof(SpriteSheetColor),
                typeof(SpriteMatrix),
                typeof(BufferHook)
                );

            // 2) Record and bake this spritesheet(only once)
            SpriteSheetManager.RecordSpriteSheet(sprites, spriteSheetName);

            int maxSprites = SpriteSheetCache.GetLength(spriteSheetName);
            var color      = UnityEngine.Random.ColorHSV(.35f, .85f);

            // 3) Populate components
            List <IComponentData> components = new List <IComponentData> {
                new Position2D {
                    Value = float2.zero
                },
                new Scale {
                    Value = 15
                },
                new SpriteIndex {
                    Value = UnityEngine.Random.Range(0, maxSprites)
                },
                new SpriteSheetAnimation {
                    frameCount = maxSprites, playMode = PlayMode.Loop, framesPerSecond = 10
                },
                new SpriteSheetColor {
                    color = new float4(color.r, color.g, color.b, color.a)
                }
            };

            // 4) Instantiate the entity
            _ = SpriteSheetManager.Instantiate(archetype, components, spriteSheetName);
        }
コード例 #30
0
        static private void InitPlanetTypes()
        {
            planetsSpriteSheet = SpriteSheetManager.GetSpriteSheet("Planets");
            planetTypes        = new PlanetType[256];

            for (int i = 0; i < planetTypes.Length; i++)
            {
                planetTypes[i]    = new PlanetType();
                planetTypes[i].id = (byte)i;
            }

            planetTypes[0].planetSprite  = planetsSpriteSheet.GetSpriteDefinition("planet-grass");
            planetTypes[0].mainTileId    = 1;
            planetTypes[0].backColorFrom = new Color32(60, 179, 113, 255);
            planetTypes[0].backColorTo   = new Color32(60, 179, 113, 0);

            planetTypes[1].planetSprite  = planetsSpriteSheet.GetSpriteDefinition("planet-sand");
            planetTypes[1].mainTileId    = 2;
            planetTypes[1].backColorFrom = new Color32(238, 221, 130, 255);
            planetTypes[1].backColorTo   = new Color32(238, 221, 130, 0);

            planetTypes[2].planetSprite  = planetsSpriteSheet.GetSpriteDefinition("planet-snow");
            planetTypes[2].mainTileId    = 3;
            planetTypes[2].backColorFrom = new Color32(135, 206, 250, 255);
            planetTypes[2].backColorTo   = new Color32(135, 206, 250, 0);

            planetTypes[3].planetSprite  = planetsSpriteSheet.GetSpriteDefinition("planet-stone");
            planetTypes[3].mainTileId    = 4;
            planetTypes[3].backColorFrom = new Color32(153, 50, 204, 255);
            planetTypes[3].backColorTo   = new Color32(153, 50, 204, 0);

            planetTypes[4].planetSprite  = planetsSpriteSheet.GetSpriteDefinition("sun-1");
            planetTypes[4].mainTileId    = 5;
            planetTypes[4].backColorFrom = Color.yellow;
            planetTypes[4].backColorTo   = Color.yellow;
            planetTypes[4].backColorTo.a = 0;

            planetTypes[5].planetSprite  = planetsSpriteSheet.GetSpriteDefinition("sun-2");
            planetTypes[5].mainTileId    = 6;
            planetTypes[5].backColorFrom = Color.red;
            planetTypes[5].backColorTo   = Color.red;
            planetTypes[5].backColorTo.a = 0;
        }
コード例 #31
0
    public static void Play(Entity e, string animationName = "")
    {
        SpriteSheetAnimator animator = SpriteSheetCache.GetAnimator(e);

        if (animationName == "")
        {
            animationName = animator.animations[animator.currentAnimationIndex].name;
        }
        int i = 0;

        foreach (SpriteSheetAnimationData animation in animator.animations)
        {
            if (animation.animationName == animationName)
            {
                SpriteSheetManager.SetAnimation(e, animation, animator.animations[animator.currentAnimationIndex].name);
                animator.currentAnimationIndex = i;
            }
            i++;
        }
    }
コード例 #32
0
 //private SpriteActionDefinition mWalkLeft = new SpriteActionDefinition(0, 9, 3, kWalkPeriod, true);
 //private SpriteActionDefinition mRightStop = new SpriteActionDefinition(1, 0, 0, kWalkPeriod, false); // to stop
 //private SpriteActionDefinition mLeftStop = new SpriteActionDefinition(0, 0, 0, kWalkPeriod, false); // to stop
 void Start()
 {
     mSpriteManager = GetComponent<SpriteSheetManager>();
     if (null != mSpriteManager)
         mSpriteManager.SetSpriteAnimationAciton(mWalkRight);
 }