///<summary>キャラクター生成</summary> static public MapCharacter createCharacter(MapFileData.Character aData) { MapCharacter tCharacter = MyBehaviour.createObjectFromResources <MapCharacter>(MyMap.mMapResourcesDirectory + "/character/" + aData.mPath); //名前 tCharacter.mName = aData.mName; tCharacter.name = "character:" + aData.mName; //向き tCharacter.mCharacterRenderBehaviour.mImage.setDirection(aData.mDirection); //ai tCharacter.setAi(createAi(aData.mAi)); //state tCharacter.transitionState(createState(aData.mState)); //movingData tCharacter.mMovingData = new MovingData(); tCharacter.mMovingData.mSpeed = aData.mMoveSpeed; Vector3 tColliderSize = tCharacter.mEntityPhysicsBehaviour.mAttriubteCollider.minimumCircumscribedCube(); tCharacter.mMovingData.mDeltaDistance = Mathf.Min(tColliderSize.x, tColliderSize.z); //speaker if (aData.mIsSpeaker) { MapKeyEventSpeaker tSpeaker = tCharacter.mEntityPhysicsBehaviour.mAttriubteCollider.gameObject.AddComponent <MapKeyEventSpeaker>(); tSpeaker.mBehaviour = tCharacter; tSpeaker.mSpeakDefault = aData.mSpeakDefault; tSpeaker.mSpeakFromUp = aData.mSpeakFromUp; tSpeaker.mSpeakFromDown = aData.mSpeakFromDown; tSpeaker.mSpeakFromLeft = aData.mSpeakFromLeft; tSpeaker.mSpeakFromRight = aData.mSpeakFromRight; } return(tCharacter); }
//<summary>物生成</summary> static public MapOrnament createOrnament(MapFileData.Ornament aData) { MapOrnament tOrnament = MyBehaviour.createObjectFromResources <MapOrnament>(MyMap.mMapResourcesDirectory + "/ornament/" + aData.mPath); tOrnament.mName = aData.mName; tOrnament.name = "ornament:" + aData.mName; //speaker if (aData.mIsSpeaker) { MapKeyEventSpeaker tSpeaker = tOrnament.mEntityPhysicsBehaviour.mAttriubteCollider.gameObject.AddComponent <MapKeyEventSpeaker>(); tSpeaker.mBehaviour = tOrnament; tSpeaker.mSpeakDefault = aData.mSpeakDefault; tSpeaker.mSpeakFromUp = aData.mSpeakFromUp; tSpeaker.mSpeakFromDown = aData.mSpeakFromDown; tSpeaker.mSpeakFromLeft = aData.mSpeakFromLeft; tSpeaker.mSpeakFromRight = aData.mSpeakFromRight; } return(tOrnament); }