public void OnSyncedTriggerEnter(TSCollision other)
    {
        int otherLayerMask = (int)Math.Pow(2, other.gameObject.layer);

        Debug.LogErrorFormat("houyiBullet====>Trigger  Enter==>{0},{1},{2}", otherLayerMask, other.gameObject.name, LayerMask.GetMask("Role"));
        if (otherLayerMask == LayerMask.GetMask("Role"))
        {
            Actor mActor = other.gameObject.GetComponent <Actor>();
            Debug.LogErrorFormat("houyiBullet====>TriggerEnter==>自己阵营:{0},对方阵营={1}", OwnerCamp, mActor.OwnerCamp);
            if (OwnerCamp != mActor.OwnerCamp)
            {
                mActor.mActorAttr.Hp -= 10;
                TrueSyncManager.SyncedDestroy(gameObject);
            }
        }
        else if (otherLayerMask == LayerMask.GetMask("Monsters"))
        {
            YeGuaiAI mYeGuaiAI = other.gameObject.GetComponent <YeGuaiAI>();
            mYeGuaiAI.AddHp(-10, OwnerID);
        }
        else if (otherLayerMask == LayerMask.GetMask("GroundWall"))
        {
            TrueSyncManager.SyncedDestroy(gameObject);
        }
    }
예제 #2
0
    public void OnSyncedTriggerStay(TSCollision other)
    {
        if (SelfTick % 10 != 0)
        {
            return;
        }
        int otherLayerMask = (int)Math.Pow(2, other.gameObject.layer);

        //Debug.LogErrorFormat("houyiDarkArea====>Trigger  Stay==>{0},{1}", otherLayerMask, other.gameObject.name);
        if (otherLayerMask == LayerMask.GetMask("Role"))
        {
            Actor mActor = other.gameObject.GetComponent <Actor>();
            //Debug.LogErrorFormat("houyiDarkArea====>TriggerEnter==>自己阵营:{0},对方阵营={1}", OwnerCamp, mActor.OwnerCamp);
            if (OwnerCamp != mActor.OwnerCamp)
            {
                mActor.mActorAttr.Hp -= 5;
            }
        }
        else if (otherLayerMask == LayerMask.GetMask("Monsters"))
        {
            YeGuaiAI mYeGuaiAI = other.gameObject.GetComponent <YeGuaiAI>();
            mYeGuaiAI.AddHp(-5, OwnerID);
        }
    }
    private void StartGenerateYeGuai()
    {
        WillUsedPrefabs[0].SetActive(true);        //如果带了刚体等组件的,需要先激活再实例化,不然这些组件无法注册到系统中(子弹这种只有trigger的,可以不先激活)
        YeGuaiAI mYeGuaiAI = WillUsedPrefabs[0].gameObject.GetComponent <YeGuaiAI>();

        Debug.LogErrorFormat("StartGenerateYeGuai====>{0}", TrueSyncManager.Ticks);
        mYeGuaiAI.mBackPosition = new TSVector(3, 0, 3);
        GameObject yeguai_prefab1 = TrueSyncManager.SyncedInstantiate(WillUsedPrefabs[0], new TSVector(3, 0, 3), TSQuaternion.identity);
        YeGuaiAI   mYeGuaiAI1     = yeguai_prefab1.GetComponent <YeGuaiAI>();

        mYeGuaiAI1.OwnerID = NewMonsterID();
        AddMonsterActor(mYeGuaiAI1.OwnerID, (Actor)mYeGuaiAI1);

        mYeGuaiAI.mBackPosition = new TSVector(-3, 0, -3);
        GameObject yeguai_prefab2 = TrueSyncManager.SyncedInstantiate(WillUsedPrefabs[0], new TSVector(-3, 0, -3), TSQuaternion.identity);
        YeGuaiAI   mYeGuaiAI2     = yeguai_prefab2.GetComponent <YeGuaiAI>();

        mYeGuaiAI2.OwnerID = NewMonsterID();
        AddMonsterActor(mYeGuaiAI2.OwnerID, (Actor)mYeGuaiAI2);

        mYeGuaiAI.mBackPosition = new TSVector(-3, 0, 3);
        GameObject yeguai_prefab3 = TrueSyncManager.SyncedInstantiate(WillUsedPrefabs[0], new TSVector(-3, 0, 3), TSQuaternion.identity);
        YeGuaiAI   mYeGuaiAI3     = yeguai_prefab3.GetComponent <YeGuaiAI>();

        mYeGuaiAI3.OwnerID = NewMonsterID();
        AddMonsterActor(mYeGuaiAI3.OwnerID, (Actor)mYeGuaiAI3);

        mYeGuaiAI.mBackPosition = new TSVector(3, 0, -3);
        GameObject yeguai_prefab4 = TrueSyncManager.SyncedInstantiate(WillUsedPrefabs[0], new TSVector(3, 0, -3), TSQuaternion.identity);
        YeGuaiAI   mYeGuaiAI4     = yeguai_prefab4.GetComponent <YeGuaiAI>();

        mYeGuaiAI4.OwnerID = NewMonsterID();
        AddMonsterActor(mYeGuaiAI4.OwnerID, (Actor)mYeGuaiAI4);

        WillUsedPrefabs[0].SetActive(false);
    }
        public override bool Load()
        {
            AgentMeta.TotalSignature = 3127239922;

            AgentMeta meta;

            // behaviac.Agent
            meta = new AgentMeta(24743406);
            AgentMeta._AgentMetas_[2436498804] = meta;
            meta.RegisterMethod(1045109914, new CAgentStaticMethodVoid <string>(delegate(string param0) { behaviac.Agent.LogMessage(param0); }));
            meta.RegisterMethod(2521019022, new CMethod_behaviac_Agent_VectorAdd());
            meta.RegisterMethod(2306090221, new CMethod_behaviac_Agent_VectorClear());
            meta.RegisterMethod(3483755530, new CMethod_behaviac_Agent_VectorContains());
            meta.RegisterMethod(505785840, new CMethod_behaviac_Agent_VectorLength());
            meta.RegisterMethod(502968959, new CMethod_behaviac_Agent_VectorRemove());

            // YeGuaiAI
            meta = new AgentMeta(2087531885);
            AgentMeta._AgentMetas_[957028571] = meta;
            meta.RegisterMethod(3127879122, new CAgentMethodVoid(delegate(Agent self) { ((YeGuaiAI)self).Attack(); }));
            meta.RegisterMethod(1881567850, new CAgentMethod <behaviac.EBTStatus>(delegate(Agent self) { return(((YeGuaiAI)self).BackHome()); }));
            meta.RegisterMethod(3161391891, new CAgentMethod <behaviac.EBTStatus>(delegate(Agent self) { return(((YeGuaiAI)self).FindEnmey()); }));
            meta.RegisterMethod(3117059018, new CAgentMethod <behaviac.EBTStatus>(delegate(Agent self) { return(((YeGuaiAI)self).IsOutRang()); }));
            meta.RegisterMethod(1045109914, new CAgentStaticMethodVoid <string>(delegate(string param0) { YeGuaiAI.LogMessage(param0); }));
            meta.RegisterMethod(3293930300, new CAgentMethod <bool>(delegate(Agent self) { return(((YeGuaiAI)self).PursuitOrAttack()); }));
            meta.RegisterMethod(1206096729, new CAgentMethodVoid(delegate(Agent self) { ((YeGuaiAI)self).Pursuit(); }));
            meta.RegisterMethod(2521019022, new CMethod_behaviac_Agent_VectorAdd());
            meta.RegisterMethod(2306090221, new CMethod_behaviac_Agent_VectorClear());
            meta.RegisterMethod(3483755530, new CMethod_behaviac_Agent_VectorContains());
            meta.RegisterMethod(505785840, new CMethod_behaviac_Agent_VectorLength());
            meta.RegisterMethod(502968959, new CMethod_behaviac_Agent_VectorRemove());

            AgentMeta.Register <behaviac.Agent>("behaviac.Agent");
            AgentMeta.Register <YeGuaiAI>("YeGuaiAI");

            Agent.RegisterInstanceName <YeGuaiAI>("YeGuaiAI");

            behaviac.Workspace.Instance.UseIntValue = true;
            return(true);
        }