2024-10-29 15:22:32 +08:00
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Spine Runtimes License Agreement
2024-11-21 09:35:48 +08:00
* Last updated July 28 , 2023. Replaces all prior versions .
2024-10-29 15:22:32 +08:00
*
2024-11-21 09:35:48 +08:00
* Copyright ( c ) 2013 - 2023 , Esoteric Software LLC
2024-10-29 15:22:32 +08:00
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement :
* http : //esotericsoftware.com/spine-editor-license
*
2024-11-21 09:35:48 +08:00
* Otherwise , it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes ( collectively ,
2024-10-29 15:22:32 +08:00
* "Products" ) , provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice .
*
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED . IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
* DIRECT , INDIRECT , INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES
* ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ,
* BUSINESS INTERRUPTION , OR LOSS OF USE , DATA , OR PROFITS ) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT
2024-11-21 09:35:48 +08:00
* ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
2024-10-29 15:22:32 +08:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
using System.Collections ;
using System.Collections.Generic ;
using UnityEngine ;
namespace Spine.Unity.Examples {
public class SpawnSkeletonGraphicExample : MonoBehaviour {
public SkeletonDataAsset skeletonDataAsset ;
[SpineAnimation(dataField: "skeletonDataAsset")]
public string startingAnimation ;
[SpineSkin(dataField: "skeletonDataAsset")]
public string startingSkin = "base" ;
public Material skeletonGraphicMaterial ;
IEnumerator Start ( ) {
if ( skeletonDataAsset = = null ) yield break ;
skeletonDataAsset . GetSkeletonData ( false ) ; // Preload SkeletonDataAsset.
yield return new WaitForSeconds ( 1f ) ; // Pretend stuff is happening.
2024-11-21 09:35:48 +08:00
SkeletonGraphic sg = SkeletonGraphic . NewSkeletonGraphicGameObject ( skeletonDataAsset , this . transform , skeletonGraphicMaterial ) ; // Spawn a new SkeletonGraphic GameObject.
2024-10-29 15:22:32 +08:00
sg . gameObject . name = "SkeletonGraphic Instance" ;
// Extra Stuff
sg . Initialize ( false ) ;
sg . Skeleton . SetSkin ( startingSkin ) ;
sg . Skeleton . SetSlotsToSetupPose ( ) ;
sg . AnimationState . SetAnimation ( 0 , startingAnimation , true ) ;
}
}
}