///<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);
    }
示例#2
0
    //<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);
    }