Beispiel #1
0
    // Use this for initialization
    void Start()
    {
        mWorld.registerSystem(atkSystem);
        mWorld.registerSystem(iSystem);
        mWorld.registerSystem(mSystem);
        mWorld.registerSystem(dSystem);
        mWorld.registerEntity(characterMain);
        mWorld.registerComponent(typeof(RenderComponent));
        mWorld.registerComponent(typeof(MoveComponent));
        mWorld.registerComponent(typeof(StateComponent));
        mWorld.registerComponent(typeof(BattleComponent));
        mWorld.registerComponent(typeof(DestroyComponent));

        atkSystem.AddRequestComponent(typeof(BattleComponent));
        atkSystem.AddRequestComponent(typeof(RenderComponent));
        atkSystem.AddRequestComponent(typeof(StateComponent));

        mSystem.AddRequestComponent(typeof(MoveComponent));
        mSystem.AddRequestComponent(typeof(RenderComponent));

        iSystem.AddRequestComponent(typeof(MoveComponent));
        iSystem.AddRequestComponent(typeof(StateComponent));

        dSystem.AddRequestComponent(typeof(DestroyComponent));

        rComponent.renderObject = character;
        bComponent.bullet       = buttle; bComponent.Velocity = ButtleVelocity;

        characterMain.AddComponent <RenderComponent> (rComponent);
        characterMain.AddComponent <StateComponent> (sComponent);
        characterMain.AddComponent <MoveComponent> (mComponent);
        characterMain.AddComponent <BattleComponent> (bComponent);

        //characterMain.AddComponent<RenderComponent> ();
    }
Beispiel #2
0
    // Use this for initialization
    void Start()
    {
        UEntity mUEntity = new UEntity();

        ECSWorld.MainWorld.registerEntityAfterInit(mUEntity);
        RiskComponent rComponent = new RiskComponent();

        rComponent.riskrate = risk;
        mUEntity.AddComponent <RiskComponent> (rComponent);
        InfluenceMapTrigger tInfluenceMapTrigger = new InfluenceMapTrigger();

        tInfluenceMapTrigger.mWhere       = "Risk";
        tInfluenceMapTrigger.maxInfluence = maxDistance;
        tInfluenceMapTrigger.mGameObject  = this.gameObject;
        tInfluenceMapTrigger.mIMComputer  = DefaultFunc.RiskComputer;

        tInfluenceMapTrigger.Init();
        mUEntity.AddComponent <InfluenceMapTrigger> (tInfluenceMapTrigger);
    }
Beispiel #3
0
 public override void Update(UEntity uEntity)
 {
     if (uEntity.GetComponent <StateComponent> ().AttackState)
     {
         GameObject g        = uEntity.GetComponent <RenderComponent> ().renderObject;
         UEntity    tUEntity = new UEntity();
         mWorld.registerEntity(tUEntity);
         tUEntity.mAllBitBunch.SetCount((int)mWorld.mComponentCount);
         MoveComponent mc = new MoveComponent();
         mc.dir      = g.transform.forward;
         mc.velocity = uEntity.GetComponent <BattleComponent> ().Velocity;
         tUEntity.AddComponent <MoveComponent> (mc);
         GameObject      g1 = GameObject.Instantiate(uEntity.GetComponent <BattleComponent> ().bullet, g.transform.position, Quaternion.identity);
         RenderComponent rc = new RenderComponent();
         rc.renderObject = g1;
         DestroyComponent dc = new DestroyComponent(); dc.DestroyTime = 5.0f;
         tUEntity.AddComponent <RenderComponent> (rc);
         tUEntity.AddComponent <DestroyComponent> (dc);
         uEntity.GetComponent <StateComponent> ().AttackState = false;
     }
 }
Beispiel #4
0
    void Start()
    {
        mUEntity = new UEntity();
        ECSWorld.MainWorld.registerEntityAfterInit(mUEntity);
        InfluenceMapTrigger tInfluenceMapTrigger = new InfluenceMapTrigger();

        tInfluenceMapTrigger.mWhere       = "friend";
        tInfluenceMapTrigger.maxInfluence = maxDistance;
        tInfluenceMapTrigger.mGameObject  = this.gameObject;
        tInfluenceMapTrigger.mIMComputer  = DefaultFunc.friendComputer;

        mUEntity.AddComponent <InfluenceMapTrigger> (tInfluenceMapTrigger);
        tInfluenceMapTrigger.Init();
        //	ECSWorld.MainWorld.registerEntityAfterInit (mUEntity);
    }
Beispiel #5
0
        /*
         *
         * add the must component to AIEntity
         *
         */

        public override void Init()
        {
            BaseAIComponent tBAIComponent = new BaseAIComponent();

            tBAIComponent.mAITemplate = mAI;
            tBAIComponent.bornPoint   = AIPos;
            tBAIComponent.Init();
            AIMove            mAIMove            = new AIMove();
            AIAnimation       mAIAnimation       = new AIAnimation();
            HPComponent       hpc                = new HPComponent();
            AIState           aiState            = new AIState();
            AIEmotion         mEmotion           = new AIEmotion();
            AIStrategy        mAIStrategy        = new AIStrategy();
            ObstacleComponent mObstacleComponent = new ObstacleComponent();
            AIGroupState      aiGroupState       = new AIGroupState();

            this.AddComponent <BaseAIComponent> (tBAIComponent);
            this.AddComponent <AIMove> (mAIMove);
            this.AddComponent <AIAnimation> (mAIAnimation);
            this.AddComponent <HPComponent> (hpc);
            this.AddComponent <AIState> (aiState);
            this.AddComponent <AIEmotion> (mEmotion);
            this.AddComponent <AIStrategy> (mAIStrategy);
            this.AddComponent <ObstacleComponent> (mObstacleComponent);
            this.AddComponent <AIGroupState> (aiGroupState);
            this.AddComponent <LODComponent> (new LODComponent());

            mAIStrategy.Init();
            aiGroupState.Init();
            aiState.Init();
            mAIAnimation.Init();
            mEmotion.Init();

            InfluenceMapTrigger tInfluenceMapTrigger = new InfluenceMapTrigger();

            tInfluenceMapTrigger.maxInfluence = 4.0f;
            tInfluenceMapTrigger.mWhere       = "friend";
            tInfluenceMapTrigger.mGameObject  = mAI;
            tInfluenceMapTrigger.mIMComputer  = DefaultFunc.friendComputer;
            tInfluenceMapTrigger.Init();

            UEntity tEntity = new UEntity();

            tEntity.AddComponent <InfluenceMapTrigger> (tInfluenceMapTrigger);
            this.mWorld.registerEntityAfterInit(tEntity);
            AIEntity.getList().Add(this);
        }
    void Start()
    {
        AIPoorEntity = new UEntity();

        ECSWorld.MainWorld.registerEntityAfterInit(AIPoorEntity);

        AIPoorComponent tAIPoorComponent = new AIPoorComponent();

        tAIPoorComponent = new AIPoorComponent();

        tAIPoorComponent.mAI_Template = AITemplate;

        tAIPoorComponent.Init();

        AIPoorEntity.AddComponent <AIPoorComponent> (tAIPoorComponent);

        allGameObjects = new GameObject[RowCount * ColumnCount];

        allEntitys = new AIEntity[RowCount * ColumnCount];
    }
Beispiel #7
0
    void Start()
    {
        ECSWorld.MainWorld.registerEntityAfterInit(mAIEntity);
        ECSWorld.MainWorld.registerEntityAfterInit(mPlayer);
        IdleActioner    = FuSMTest.IdleAction;
        RunAwayActioner = FuSMTest.RunAwayAction;
        BattleState     = FuSMTest.Battle;
        Gre2Run         = FuSMTest.Gre2Runaway;
        runAnim         = TestFSM.FSM_Run_Anim;
        walkAnim        = TestFSM.FSM_Walk_Anim;
        idleAnim        = TestFSM.FSM_Idle_Anim;
        shootAnim       = TestFSM.FSM_Shoot_Anim;
        mRecorder       = TestFSM.FSM_Test_Recorder;
        runstate        = TestFSM.FSM_Run;
        roundstate      = TestFSM.FSM_Round;
        runExit         = TestFSM.FSM_Run_Exit;
        firestate       = TestFSM.FSM_Fire;
        fireExit        = TestFSM.FSM_Fire_Exit;
        Grenatestate    = TestFSM.FSM_Grenate;
        GreExit         = TestFSM.FSM_Gre_Exit;
        runawaystate    = TestFSM.FSM_Runaway;
        anytorunaway    = TestFSM.FSM_Any_TransferRunAway;
        firetoGre       = TestFSM.FSM_Fire_Gre;
        Gretofire       = TestFSM.FSM_Gre_Fire;
        firetorun       = TestFSM.FSM_Fire_Run;
        runtofire       = TestFSM.FSM_Run_Fire;
        runtoround      = TestFSM.FSM_Run_Round;
        roundtorun      = TestFSM.FSM_Round_Run;
        runtogre        = TestFSM.FSM_Run_Gre;
        gretorun        = TestFSM.FSM_Gre_Run;
        runIN           = TestFSM.FSM_RunIN;
        runOUT          = TestFSM.FSM_RunOUT;
        hurtup          = TestFSM.FSM_HurtUp;
        fear            = TestFSM.FSM_Fear;
        happy           = TestFSM.FSM_Happy;
        tired           = TestFSM.FSM_Tired;
        //	mAIEntity.forward_Object = forward_Object;
        mAIEntity.mAI          = AI;
        mAIEntity.mPlayer      = player;
        mAIEntity.PlayerEntity = mPlayer;
        mAIEntity.AIPos        = player.transform.position + new Vector3(Random.Range(-10, 10), 0, Random.Range(-10, 10));
        mAIEntity.Init();
        mAIEntity.AddComponent <myAI> (new myAI());
        mAIEntity.GetComponent <BaseAIComponent> ().mAIRT.SetActive(true);
        mAIEntity.PlayerEntity = mPlayer;
        mAIEntity.GetComponent <HPComponent> ().allHP  = 500;
        mAIEntity.GetComponent <HPComponent> ().tempHP = 500;
        animator = mAIEntity.GetComponent <BaseAIComponent> ().mAIRT.GetComponent <Animator> ();
        mAIEntity.GetComponent <AIAnimation> ().mAnimator = animator;
        mAIEntity.GetComponent <AIAnimation> ().Add("Run", runAnim);
        mAIEntity.GetComponent <AIAnimation> ().Add("Walk", walkAnim);
        mAIEntity.GetComponent <AIAnimation> ().Add("Idle", idleAnim);
        mAIEntity.GetComponent <AIAnimation> ().Add("Attack", shootAnim);
        mAIEntity.GetComponent <AIAnimation>().mtempAnim = "Run";
        mAIEntity.GetComponent <AIEmotion> ().InsertEmotion("Happy");
        mAIEntity.GetComponent <AIEmotion> ().InsertEmotion("Fear");
        mAIEntity.GetComponent <AIEmotion> ().InsertEmotion("Tired");
        mAIEntity.GetComponent <AIEmotion> ().InsertEdge("Happy", happy);
        mAIEntity.GetComponent <AIEmotion> ().InsertEdge("Fear", fear);
        mAIEntity.GetComponent <AIEmotion> ().InsertEdge("Tired", tired);



        AIState state_idle = new AIState();

        state_idle.Init();
        int idle_round = state_idle.AddExecuter(roundstate, EmptyExitAndEnter.EmptyExit, EmptyExitAndEnter.EmptyEnter);
        int idle_run   = state_idle.AddExecuter(runstate, runExit, EmptyExitAndEnter.EmptyEnter);
        int idle_fire  = state_idle.AddExecuter(firestate, fireExit, EmptyExitAndEnter.EmptyEnter);

        state_idle.AddDoubleEdge(roundtorun, runtoround, runIN, EmptyFeedbacker.Run, idle_round, idle_run);
        state_idle.AddDoubleEdge(runtofire, firetorun, hurtup, runIN, idle_run, idle_fire);
        state_idle.AddAnimation(roundstate, "Walk");
        state_idle.AddAnimation(runstate, "Run");
        state_idle.AddAnimation(firestate, "Attack");
        state_idle.tempID = idle_round;
        //state_idle.mName = "Idle";
        state_idle.mStateRecorder = mRecorder;
        state_idle.LastEntityData.AddComponent <HPComponent> (new HPComponent());
        state_idle.LastEntityData.PlayerEntity = mPlayerLast;
        int id2 = mAIEntity.GetComponent <AIStrategy> ().AddStrategy(IdleActioner, EmptyStrategyEnter.Run, EmptyStrategyExit.Run, EmptyStrategyFeedbacker.Run, state_idle);

        AIState state_runaway = new AIState();

        state_runaway.Init();
        int idle_runaway = state_runaway.AddExecuter(runawaystate, EmptyExitAndEnter.EmptyExit, EmptyExitAndEnter.EmptyEnter);
        int idle_gre     = state_runaway.AddExecuter(Grenatestate, GreExit, EmptyExitAndEnter.EmptyEnter);

        state_runaway.AddDoubleEdge(anytorunaway, Gre2Run, runOUT, runOUT, idle_gre, idle_runaway);
        state_runaway.AddAnimation(runawaystate, "Run");
        state_runaway.AddAnimation(Grenatestate, "Idle");
        state_runaway.tempID         = idle_runaway;
        state_runaway.mStateRecorder = mRecorder;
        state_runaway.LastEntityData.AddComponent <HPComponent> (new HPComponent());
        state_runaway.LastEntityData.PlayerEntity = mPlayerLast;
        int id1 = mAIEntity.GetComponent <AIStrategy> ().AddStrategy(RunAwayActioner, EmptyStrategyEnter.Run, EmptyStrategyExit.Run, EmptyStrategyFeedbacker.Run, state_runaway);

        //	mAIEntity.GetComponent<AIStrategy> ().InitAvoid (BattleState,EmptyExitAndEnter.EmptyEnter,EmptyExitAndEnter.EmptyExit,mRecorder,state_runaway.LastEntityData);
        mAIEntity.GetComponent <AIStrategy> ().SetEntry(id2);


        mPlayerLast.AddComponent <HPComponent> (playerLast_hp);
        mAIEntity.GetComponent <myAI> ().fireObject    = shootObject;
        mAIEntity.GetComponent <myAI> ().GrenateObject = GrenateObject;
        mAIEntity.GetComponent <myAI>().mRoundCenter   = player.transform.position + new Vector3(Random.Range(-10, 10), 0, Random.Range(-10, 10));
        player_hp.allHP  = 700;
        player_hp.tempHP = 700;
        mPlayer.AddComponent <HPComponent> (player_hp);
    }
Beispiel #8
0
    void Start()
    {
        walkAnim = TestFSM.FSM_Walk_Anim;
        idleAnim = TestFSM.FSM_Idle_Anim;

        mRecorder = TestFSM.FSM_Test_Recorder;

        roundstate = TestFSM.FSM_Round;
        Idlestate  = TestFSM.FSM_Idle;
        roundExit  = TestFSM.FSM_Run_Exit;
        yali       = yaliFSM.yali_Transfer;


        for (int i = 0; i < count; i++)
        {
            HPComponent player_hp     = new HPComponent();
            AIEntity    mAIEntity     = new AIEntity();
            UEntity     mPlayer       = new UEntity();
            UEntity     mPlayerLast   = new UEntity();
            HPComponent playerLast_hp = new HPComponent();

            ECSWorld.MainWorld.registerEntityAfterInit(mAIEntity);

            ECSWorld.MainWorld.registerEntityAfterInit(mPlayer);

            mAIEntity.mAI     = AI;
            mAIEntity.mPlayer = player;
            mAIEntity.AIPos   = initpos [Random.Range(0, initpos.Length)].transform.position;
            mAIEntity.Init();
            mAIEntity.GetComponent <LODComponent> ().isUse = isUseLOD;
            mAIEntity.AddComponent <myAI> (new myAI());
            mAIEntity.GetComponent <myAI> ().mRoundCenter = mAIEntity.AIPos;
            mAIEntity.GetComponent <BaseAIComponent> ().mAIRT.SetActive(true);
            mAIEntity.PlayerEntity = mPlayer;
            mAIEntity.GetComponent <HPComponent> ().allHP  = 500;
            mAIEntity.GetComponent <HPComponent> ().tempHP = 500;
            animator = mAIEntity.GetComponent <BaseAIComponent> ().mAIRT.GetComponent <Animator> ();
            mAIEntity.GetComponent <AIAnimation> ().mAnimator = animator;

            mAIEntity.GetComponent <AIAnimation> ().Add("Walk", walkAnim);
            mAIEntity.GetComponent <AIAnimation> ().Add("Idle", idleAnim);

            int id_round = mAIEntity.GetComponent <AIState> ().AddExecuter(roundstate, roundExit, EmptyExitAndEnter.EmptyEnter);

            int id_idle = mAIEntity.GetComponent <AIState> ().AddExecuter(Idlestate, EmptyExitAndEnter.EmptyExit, EmptyExitAndEnter.EmptyEnter);

            mAIEntity.GetComponent <AIState> ().AddEdge(yali, EmptyFeedbacker.Run, id_round, id_idle);

            mAIEntity.GetComponent <AIState> ().AddEdge(yali, EmptyFeedbacker.Run, id_idle, id_round);


            mAIEntity.GetComponent <AIState> ().AddAnimation(roundstate, "Walk");

            mAIEntity.GetComponent <AIState> ().AddAnimation(Idlestate, "Idle");

            mAIEntity.GetComponent <AIState> ().tempID         = id_round;
            mAIEntity.GetComponent <AIState> ().mStateRecorder = mRecorder;
            mAIEntity.GetComponent <AIState> ().LastEntityData.AddComponent <HPComponent> (new HPComponent());
            mAIEntity.GetComponent <AIState> ().LastEntityData.PlayerEntity = mPlayerLast;
            mPlayerLast.AddComponent <HPComponent> (playerLast_hp);
            player_hp.allHP  = 700;
            player_hp.tempHP = 700;
            mPlayer.AddComponent <HPComponent> (player_hp);
        }
    }