[SerializeField] private Text nameLabel; //아이템 이름을 표시할 텍스트 //셀의 내용을 갱신 public override void UpdateContent(ShopItemData itemData) { nameLabel.text = itemData.name; //스프라이트 시트 이름과 스프라이트 이름을 지정해 아이콘 스프라이트를 변경한다. iconImage.sprite = SpriteSheetManager.GetSpriteByName("IconAtlas", itemData.iconName); }
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); } }
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(); } }
/// <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()); }
//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); } } }
void Start() { //기본 아이콘 설정 MouseIconSprite.sprite = SpriteSheetManager.GetSpriteByName("UIAtlas", "Icon2"); //아이콘 체크 시작. StartCoroutine(IconChangeCheck()); }
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"); } }
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); }
// 인스턴스를 로드할 때 호출된다 protected override void Awake() { // 기반 클래스에 포함된 Awake 메서드를 호출한다 base.Awake(); // 아이콘의 스프라이트 시트에 포함된 스프라이트를 캐시해둔다 SpriteSheetManager.Load("IconAtlas"); }
private void UpdateEntityMatrix() { SpriteSheetManager.UpdateEntity(entity, new Position2D { Value = bounds.xy }); SpriteSheetManager.UpdateEntity(entity, new Scale { Value = bounds.z }); }
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); } }
[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 }
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; }
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); } }
// 아이템 상세 화면의 내용을 갱신하는 메서드 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; }
/// <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; }
// 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; }
/// <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); } }
/// <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); }
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; } }); }
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"); } }
/// <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); }
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); }
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)); } }
/// <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); }
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++; } }
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); }
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); }
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); }
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; }
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++; } }
//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); }