몬스터 에셋 추가
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8dc86779dda76f44da72cc44f592c402
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,115 @@
|
||||
using System;
|
||||
using Assets.PixelFantasy.Common.Scripts;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.PixelFantasy.PixelMonsters.Common.Scripts.ExampleScripts
|
||||
{
|
||||
[RequireComponent(typeof(Monster))]
|
||||
public class MonsterAnimation : MonoBehaviour
|
||||
{
|
||||
private Monster _monster;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
_monster = GetComponent<Monster>();
|
||||
}
|
||||
|
||||
public void SetState(MonsterState state)
|
||||
{
|
||||
foreach (var variable in new[] { "Idle", "Ready", "Walk", "Run", "Jump", "Die" })
|
||||
{
|
||||
_monster.Animator.SetBool(variable, false);
|
||||
}
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case MonsterState.Idle: _monster.Animator.SetBool("Idle", true); break;
|
||||
case MonsterState.Ready: _monster.Animator.SetBool("Ready", true); break;
|
||||
case MonsterState.Walk: _monster.Animator.SetBool("Walk", true); break;
|
||||
case MonsterState.Run: _monster.Animator.SetBool("Run", true); break;
|
||||
case MonsterState.Jump: _monster.Animator.SetBool("Jump", true); break;
|
||||
case MonsterState.Die: _monster.Animator.SetBool("Die", true); break;
|
||||
default: throw new NotSupportedException();
|
||||
}
|
||||
|
||||
//Debug.Log("SetState: " + state);
|
||||
}
|
||||
|
||||
public MonsterState GetState()
|
||||
{
|
||||
if (_monster.Animator.GetBool("Idle")) return MonsterState.Idle;
|
||||
if (_monster.Animator.GetBool("Ready")) return MonsterState.Ready;
|
||||
if (_monster.Animator.GetBool("Walk")) return MonsterState.Walk;
|
||||
if (_monster.Animator.GetBool("Run")) return MonsterState.Run;
|
||||
if (_monster.Animator.GetBool("Jump")) return MonsterState.Jump;
|
||||
if (_monster.Animator.GetBool("Die")) return MonsterState.Die;
|
||||
|
||||
return MonsterState.Ready;
|
||||
}
|
||||
|
||||
public void Idle()
|
||||
{
|
||||
SetState(MonsterState.Idle);
|
||||
}
|
||||
|
||||
public void Ready()
|
||||
{
|
||||
if (GetState() == MonsterState.Walk)
|
||||
{
|
||||
EffectManager.Instance.CreateSpriteEffect(_monster, "Brake");
|
||||
}
|
||||
else if (GetState() == MonsterState.Idle)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
SetState(MonsterState.Ready);
|
||||
}
|
||||
|
||||
public void Run()
|
||||
{
|
||||
if (GetState() != MonsterState.Walk)
|
||||
{
|
||||
EffectManager.Instance.CreateSpriteEffect(_monster, "Run");
|
||||
}
|
||||
|
||||
SetState(MonsterState.Walk);
|
||||
}
|
||||
|
||||
public void Jump()
|
||||
{
|
||||
EffectManager.Instance.CreateSpriteEffect(_monster, "Jump");
|
||||
SetState(MonsterState.Run);
|
||||
}
|
||||
|
||||
public void Fall()
|
||||
{
|
||||
SetState(MonsterState.Run);
|
||||
}
|
||||
|
||||
public void Land()
|
||||
{
|
||||
EffectManager.Instance.CreateSpriteEffect(_monster, "Fall");
|
||||
}
|
||||
|
||||
public void Die()
|
||||
{
|
||||
SetState(MonsterState.Die);
|
||||
}
|
||||
|
||||
public void Attack()
|
||||
{
|
||||
_monster.Animator.SetTrigger("Attack");
|
||||
}
|
||||
|
||||
public void Fire()
|
||||
{
|
||||
_monster.Animator.SetTrigger("Fire");
|
||||
}
|
||||
|
||||
public void Hit()
|
||||
{
|
||||
_monster.Animator.SetTrigger("Hit");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7e5bf41b75130d841bf3666dc0e7fa00
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 269333
|
||||
packageName: Pixel Monsters Animated Boss Pack #1
|
||||
packageVersion: 2.7
|
||||
assetPath: Assets/PixelFantasy/PixelMonsters/Common/Scripts/ExampleScripts/MonsterAnimation.cs
|
||||
uploadId: 656019
|
||||
@@ -0,0 +1,130 @@
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.PixelFantasy.PixelMonsters.Common.Scripts.ExampleScripts
|
||||
{
|
||||
[RequireComponent(typeof(Collider2D))]
|
||||
[RequireComponent(typeof(Rigidbody2D))]
|
||||
[RequireComponent(typeof(MonsterAnimation))]
|
||||
public class MonsterController2D : MonoBehaviour
|
||||
{
|
||||
public Vector2 Input;
|
||||
public bool IsGrounded;
|
||||
|
||||
public float Acceleration = 40;
|
||||
public float MaxSpeed = 8;
|
||||
public float JumpForce = 1000;
|
||||
public float Gravity = 70;
|
||||
|
||||
private Collider2D _collider;
|
||||
private Rigidbody2D _rigidbody;
|
||||
private MonsterAnimation _animation;
|
||||
|
||||
private bool _jump;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
_collider = GetComponent<Collider2D>();
|
||||
_rigidbody = GetComponent<Rigidbody2D>();
|
||||
_animation = GetComponent<MonsterAnimation>();
|
||||
}
|
||||
|
||||
public void FixedUpdate()
|
||||
{
|
||||
var state = _animation.GetState();
|
||||
|
||||
if (state == MonsterState.Die) return;
|
||||
|
||||
var velocity = _rigidbody.velocity;
|
||||
|
||||
if (Input.x == 0)
|
||||
{
|
||||
if (IsGrounded)
|
||||
{
|
||||
velocity.x = Mathf.MoveTowards(velocity.x, 0, Acceleration * 3 * Time.fixedDeltaTime);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var maxSpeed = MaxSpeed;
|
||||
var acceleration = Acceleration;
|
||||
|
||||
if (_jump)
|
||||
{
|
||||
acceleration /= 2;
|
||||
}
|
||||
|
||||
velocity.x = Mathf.MoveTowards(velocity.x, Input.x * maxSpeed, acceleration * Time.fixedDeltaTime);
|
||||
Turn(velocity.x);
|
||||
}
|
||||
|
||||
if (IsGrounded)
|
||||
{
|
||||
if (!_jump)
|
||||
{
|
||||
if (Input.x == 0)
|
||||
{
|
||||
_animation.Ready();
|
||||
}
|
||||
else
|
||||
{
|
||||
_animation.Run();
|
||||
}
|
||||
}
|
||||
|
||||
if (Input.y > 0 && !_jump)
|
||||
{
|
||||
_jump = true;
|
||||
_rigidbody.AddForce(Vector2.up * JumpForce);
|
||||
_animation.Jump();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
velocity.y -= Gravity * Time.fixedDeltaTime;
|
||||
|
||||
if (velocity.y < 0)
|
||||
{
|
||||
_jump = true;
|
||||
_animation.Fall();
|
||||
}
|
||||
}
|
||||
|
||||
_rigidbody.velocity = velocity;
|
||||
}
|
||||
|
||||
private void Turn(float direction)
|
||||
{
|
||||
var scale = transform.localScale;
|
||||
|
||||
scale.x = Mathf.Sign(direction) * Mathf.Abs(scale.x);
|
||||
|
||||
transform.localScale = scale;
|
||||
}
|
||||
|
||||
private Collider2D _ground;
|
||||
|
||||
public void OnCollisionEnter2D(Collision2D collision)
|
||||
{
|
||||
if (collision.contacts.All(i => i.point.y <= _collider.bounds.min.y + 0.1f))
|
||||
{
|
||||
IsGrounded = true;
|
||||
_ground = collision.collider;
|
||||
|
||||
if (_jump)
|
||||
{
|
||||
_jump = false;
|
||||
_animation.Land();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void OnCollisionExit2D(Collision2D collision)
|
||||
{
|
||||
if (IsGrounded && collision.collider == _ground)
|
||||
{
|
||||
IsGrounded = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ef32fbd63a65f054b90112e91c4a0f69
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 269333
|
||||
packageName: Pixel Monsters Animated Boss Pack #1
|
||||
packageVersion: 2.7
|
||||
assetPath: Assets/PixelFantasy/PixelMonsters/Common/Scripts/ExampleScripts/MonsterController2D.cs
|
||||
uploadId: 656019
|
||||
@@ -0,0 +1,64 @@
|
||||
using Assets.PixelFantasy.Common.Scripts;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.PixelFantasy.PixelMonsters.Common.Scripts.ExampleScripts
|
||||
{
|
||||
[RequireComponent(typeof(Monster))]
|
||||
[RequireComponent(typeof(MonsterController2D))]
|
||||
[RequireComponent(typeof(MonsterAnimation))]
|
||||
public class MonsterControls : MonoBehaviour
|
||||
{
|
||||
private Monster _monster;
|
||||
private MonsterController2D _controller;
|
||||
private MonsterAnimation _animation;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
_monster = GetComponent<Monster>();
|
||||
_controller = GetComponent<MonsterController2D>();
|
||||
_animation = GetComponent<MonsterAnimation>();
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
Move();
|
||||
Attack();
|
||||
|
||||
// Play other animations, just for example.
|
||||
if (Input.GetKeyDown(KeyCode.I)) { _animation.SetState(MonsterState.Idle); }
|
||||
if (Input.GetKeyDown(KeyCode.R)) { _animation.SetState(MonsterState.Ready); }
|
||||
if (Input.GetKeyDown(KeyCode.D)) _animation.SetState(MonsterState.Die);
|
||||
if (Input.GetKeyUp(KeyCode.H)) _animation.Hit();
|
||||
if (Input.GetKeyUp(KeyCode.L)) EffectManager.Instance.Blink(_monster);
|
||||
}
|
||||
|
||||
private void Move()
|
||||
{
|
||||
_controller.Input = Vector2.zero;
|
||||
|
||||
if (Input.GetKey(KeyCode.LeftArrow))
|
||||
{
|
||||
_controller.Input.x = -1;
|
||||
}
|
||||
else if (Input.GetKey(KeyCode.RightArrow))
|
||||
{
|
||||
_controller.Input.x = 1;
|
||||
}
|
||||
|
||||
if (Input.GetKey(KeyCode.UpArrow))
|
||||
{
|
||||
_controller.Input.y = 1;
|
||||
}
|
||||
else if (Input.GetKey(KeyCode.DownArrow))
|
||||
{
|
||||
_controller.Input.y = -1;
|
||||
}
|
||||
}
|
||||
|
||||
private void Attack()
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.A)) _animation.Attack();
|
||||
if (Input.GetKeyDown(KeyCode.F)) _animation.Fire();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ec7989c5e9d15f849b9baed57d5feb65
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 269333
|
||||
packageName: Pixel Monsters Animated Boss Pack #1
|
||||
packageVersion: 2.7
|
||||
assetPath: Assets/PixelFantasy/PixelMonsters/Common/Scripts/ExampleScripts/MonsterControls.cs
|
||||
uploadId: 656019
|
||||
@@ -0,0 +1,49 @@
|
||||
using Assets.PixelFantasy.Common.Scripts;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.PixelFantasy.PixelMonsters.Common.Scripts
|
||||
{
|
||||
[RequireComponent(typeof(Creature))]
|
||||
[RequireComponent(typeof(Animator))]
|
||||
public class InanimateControls : MonoBehaviour
|
||||
{
|
||||
private Creature _creature;
|
||||
private Animator _animator;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
_creature = GetComponent<Creature>();
|
||||
_animator = GetComponent<Animator>();
|
||||
_animator.SetBool("Idle", true);
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.I))
|
||||
{
|
||||
SetState(idle: true);
|
||||
}
|
||||
else if (Input.GetKeyDown(KeyCode.D) && _animator.HasState(0, Animator.StringToHash("Destroy")))
|
||||
{
|
||||
SetState(destroy: true);
|
||||
EffectManager.Instance.CreateSpriteEffect(_creature, "Fall");
|
||||
}
|
||||
else if (Input.GetKeyDown(KeyCode.O) && _animator.HasState(0, Animator.StringToHash("Open")))
|
||||
{
|
||||
SetState(open: true);
|
||||
EffectManager.Instance.CreateSpriteEffect(_creature, "Fall");
|
||||
}
|
||||
else if (Input.GetKeyDown(KeyCode.L))
|
||||
{
|
||||
EffectManager.Instance.Blink(_creature);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetState(bool idle = false, bool destroy = false, bool open = false)
|
||||
{
|
||||
_animator.SetBool("Idle", idle);
|
||||
_animator.SetBool("Destroy", destroy);
|
||||
_animator.SetBool("Open", open);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7a8b9d2939d13d84597b8ac2487b4bf9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 269333
|
||||
packageName: Pixel Monsters Animated Boss Pack #1
|
||||
packageVersion: 2.7
|
||||
assetPath: Assets/PixelFantasy/PixelMonsters/Common/Scripts/InanimateControls.cs
|
||||
uploadId: 656019
|
||||
@@ -0,0 +1,11 @@
|
||||
using Assets.PixelFantasy.Common.Scripts;
|
||||
|
||||
namespace Assets.PixelFantasy.PixelMonsters.Common.Scripts
|
||||
{
|
||||
/// <summary>
|
||||
/// The main monster script.
|
||||
/// </summary>
|
||||
public class Monster : Creature
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2e21cafac84143729db30efa3b827aa1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 269333
|
||||
packageName: Pixel Monsters Animated Boss Pack #1
|
||||
packageVersion: 2.7
|
||||
assetPath: Assets/PixelFantasy/PixelMonsters/Common/Scripts/Monster.cs
|
||||
uploadId: 656019
|
||||
@@ -0,0 +1,17 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.PixelFantasy.PixelMonsters.Common.Scripts
|
||||
{
|
||||
public class MonsterGrid : MonoBehaviour
|
||||
{
|
||||
public float CellSize;
|
||||
|
||||
public void OnValidate()
|
||||
{
|
||||
for (var i = 0; i < transform.childCount; i++)
|
||||
{
|
||||
transform.GetChild(i).transform.localPosition = new Vector3(i * CellSize - (transform.childCount - 1) / 2f * CellSize, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: faa0149be7704b55a5fc3373af7c690c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 269333
|
||||
packageName: Pixel Monsters Animated Boss Pack #1
|
||||
packageVersion: 2.7
|
||||
assetPath: Assets/PixelFantasy/PixelMonsters/Common/Scripts/MonsterGrid.cs
|
||||
uploadId: 656019
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace Assets.PixelFantasy.PixelMonsters.Common.Scripts
|
||||
{
|
||||
/// <summary>
|
||||
/// Animation state. The same parameter controls animation transitions.
|
||||
/// </summary>
|
||||
public enum MonsterState
|
||||
{
|
||||
Idle,
|
||||
Ready,
|
||||
Walk,
|
||||
Run,
|
||||
Jump,
|
||||
Die
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: abe1d4a6bbae4d738eb6e47ad56a2791
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 269333
|
||||
packageName: Pixel Monsters Animated Boss Pack #1
|
||||
packageVersion: 2.7
|
||||
assetPath: Assets/PixelFantasy/PixelMonsters/Common/Scripts/MonsterState.cs
|
||||
uploadId: 656019
|
||||
@@ -0,0 +1,20 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Assets.PixelFantasy.PixelMonsters.Common.Scripts
|
||||
{
|
||||
public class NavigateButton : MonoBehaviour
|
||||
{
|
||||
public string Url;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
GetComponent<Button>().onClick.AddListener(Navigate);
|
||||
}
|
||||
|
||||
public void Navigate()
|
||||
{
|
||||
Application.OpenURL(Url);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7d88c8f000c84c54962255d14f5953ae
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 269333
|
||||
packageName: Pixel Monsters Animated Boss Pack #1
|
||||
packageVersion: 2.7
|
||||
assetPath: Assets/PixelFantasy/PixelMonsters/Common/Scripts/NavigateButton.cs
|
||||
uploadId: 656019
|
||||
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Assets.PixelFantasy.PixelMonsters.Common.Scripts
|
||||
{
|
||||
/// <summary>
|
||||
/// Used to block animation transitions.
|
||||
/// </summary>
|
||||
public class SoloState : StateMachineBehaviour
|
||||
{
|
||||
public bool Continuous;
|
||||
public bool Active;
|
||||
public Func<bool> Continue;
|
||||
|
||||
private float _enterTime;
|
||||
|
||||
public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
_enterTime = Time.time;
|
||||
animator.SetBool("Action", true);
|
||||
Active = true;
|
||||
}
|
||||
|
||||
public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
if (stateInfo.normalizedTime >= 1 && !Continuous)
|
||||
{
|
||||
Exit(animator, stateInfo);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
Exit(animator, stateInfo);
|
||||
}
|
||||
|
||||
private void Exit(Animator animator, AnimatorStateInfo stateInfo)
|
||||
{
|
||||
if (!Active || Time.time - _enterTime < stateInfo.length) return;
|
||||
|
||||
Active = false;
|
||||
|
||||
if (Continue == null)
|
||||
{
|
||||
animator.SetBool("Action", false);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!Continue())
|
||||
{
|
||||
animator.SetBool("Action", false);
|
||||
}
|
||||
|
||||
Continue = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ffae597111fe8db4687d8843876fc556
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 269333
|
||||
packageName: Pixel Monsters Animated Boss Pack #1
|
||||
packageVersion: 2.7
|
||||
assetPath: Assets/PixelFantasy/PixelMonsters/Common/Scripts/SoloState.cs
|
||||
uploadId: 656019
|
||||
Reference in New Issue
Block a user