public CharacterBase(GameObject This)
	{
		characterObj = This;
		UpBody = This.transform.Find("UpBody").gameObject;
		DownCollider = This.transform.Find("DownCollider").gameObject;
		UpperAnim = This.transform.Find("UpBody/Upper").GetComponent<Animation>();
		FeetAnim = This.transform.Find("UpBody/Upper/Feet").GetComponent<Animation>();
		HeadSprite = This.transform.Find("UpBody/Upper/Head").GetComponent<SpriteRenderer>();
		BodySprite = This.transform.Find("UpBody/Upper/Body").GetComponent<SpriteRenderer>();
		characterAttributes = This.GetComponent<CharacterAttributes>();
		localEventManager = This.GetComponent<CharacterManager>().localEventManager;
		equipmentStatus = new EquipmentStatus("EmptyHand","Small"){Range=new Vector2(1,1)};
		characterStatus = new InAir(this,"Normal");
		characterStatus.Enter();
		EventManager.eventManager.DamageCheckEvent+=DamageCheck;
		localEventManager.ChangeToAirEvent+=ChangeToAir;
		localEventManager.ChangeToGroundEvent+=ChangeToGround;
		localEventManager.JumpEvent += Jump;
		localEventManager.MoveEvent += Move;
		localEventManager.AttackEvent += Attack;
		localEventManager.JumpLeftwardEvent += JumpLeftward;
		localEventManager.JumpRightwardEvent += JumpRightward;
		localEventManager.DodgeLeftwardEvent += DodgeLeftward;
		localEventManager.DodgeRightwardEvent += DodgeRightward;
		localEventManager.ThrowLeftwardEvent += ThrowLeftward;
		localEventManager.ThrowRightwardEvent += ThrowRightward;
		localEventManager.SpecialLeftwardEvent += SpecialLeftward;
		localEventManager.SpecialRightwardEvent += SpecialRightward;
	}
    public void ChangeToAir()
    {
        string status = characterStatus.Exit();

        characterStatus = new InAir(this, status);
        characterStatus.Enter();
    }
    public void ChangeToGround()
    {
        string status = characterStatus.Exit();

        characterStatus = new OnGround(this, status);
        characterStatus.Enter();
    }
 public CharacterBase(GameObject This)
 {
     characterObj        = This;
     UpBody              = This.transform.Find("UpBody").gameObject;
     DownCollider        = This.transform.Find("DownCollider").gameObject;
     UpperAnim           = This.transform.Find("UpBody/Upper").GetComponent <Animation>();
     FeetAnim            = This.transform.Find("UpBody/Upper/Feet").GetComponent <Animation>();
     HeadSprite          = This.transform.Find("UpBody/Upper/Head").GetComponent <SpriteRenderer>();
     BodySprite          = This.transform.Find("UpBody/Upper/Body").GetComponent <SpriteRenderer>();
     characterAttributes = This.GetComponent <CharacterAttributes>();
     localEventManager   = This.GetComponent <CharacterManager>().localEventManager;
     equipmentStatus     = new EquipmentStatus("EmptyHand", "Small")
     {
         Range = new Vector2(1, 1)
     };
     characterStatus = new InAir(this, "Normal");
     characterStatus.Enter();
     EventManager.eventManager.DamageCheckEvent += DamageCheck;
     localEventManager.ChangeToAirEvent         += ChangeToAir;
     localEventManager.ChangeToGroundEvent      += ChangeToGround;
     localEventManager.JumpEvent             += Jump;
     localEventManager.MoveEvent             += Move;
     localEventManager.AttackEvent           += Attack;
     localEventManager.JumpLeftwardEvent     += JumpLeftward;
     localEventManager.JumpRightwardEvent    += JumpRightward;
     localEventManager.DodgeLeftwardEvent    += DodgeLeftward;
     localEventManager.DodgeRightwardEvent   += DodgeRightward;
     localEventManager.ThrowLeftwardEvent    += ThrowLeftward;
     localEventManager.ThrowRightwardEvent   += ThrowRightward;
     localEventManager.SpecialLeftwardEvent  += SpecialLeftward;
     localEventManager.SpecialRightwardEvent += SpecialRightward;
 }
	public void ChangeToAir()
	{
		string status = characterStatus.Exit();
		characterStatus = new InAir(this,status);
		characterStatus.Enter();
	}
	public void ChangeToGround()
	{
		string status = characterStatus.Exit();
		characterStatus = new OnGround(this,status);
		characterStatus.Enter();
	}