protected override void OnNewSessionConnected(SyncSession session)
        {
            Debug.Log("SyncService OnNewSessionConnected " + session.SessionID);

            base.OnNewSessionConnected(session);

            ConnectionComponent conn = new ConnectionComponent();

            conn.m_session = session;

            m_world.CreateEntity(conn);

            session.m_connect = conn;
        }
    public static void TokenUseSkill(WorldBase world, int createrID, string skillID, Vector3 pos, Vector3 dir)
    {
        //Debug.Log("TokenUseSkill pos" + pos + " frame " + world.FrameCount + " skillID" + skillID);

        if (skillID != null &&
            skillID != "null" &&
            skillID != "Null")
        {
            SkillStatusComponent ssc = new SkillStatusComponent();
            ssc.m_skillTime      = 0;
            ssc.m_skillStstus    = SkillStatusEnum.Before;
            ssc.m_isTriggerSkill = false;
            ssc.m_isHit          = false;
            ssc.m_skillList.Add(new SkillData(skillID));
            ssc.m_currentSkillData = ssc.GetSkillData(skillID);
            ssc.m_currentSkillData.UpdateInfo();
            ssc.skillDir.FromVector(dir);

            if (ssc.m_currentSkillData.LaterTime == 0)
            {
                Debug.LogError("技能代 " + skillID + "的持续时间不能为 0 !");
                return;
            }

            TransfromComponent tc = new TransfromComponent();
            tc.pos.FromVector(pos);
            tc.dir.FromVector(dir);

            //打印
            Debug.DrawRay(tc.pos.ToVector(), -tc.dir.ToVector(), Color.green, 10);

            CampComponent cc = new CampComponent();
            cc.creater = createrID;

            LifeSpanComponent lsc = new LifeSpanComponent();
            lsc.lifeTime = (int)(ssc.m_currentSkillData.LaterTime * 1000);

            world.CreateEntity(createrID + "SkillToken", tc, ssc, cc, lsc);
        }
    }
示例#3
0
        protected override void OnNewSessionConnected(SyncSession session)
        {
            Debug.Log("SyncService OnNewSessionConnected " + session.SessionID);

            base.OnNewSessionConnected(session);

            WaitSyncComponent   wsc  = new WaitSyncComponent();
            ConnectionComponent conn = new ConnectionComponent();

            conn.m_session = session;

            PlayerComponent  pc  = new PlayerComponent();
            CommandComponent cc  = new CommandComponent();
            SyncComponent    syc = new SyncComponent();

            syc.m_waitSyncList.Add(conn);

            ViewComponent  vc = new ViewComponent();
            AssetComponent ac = new AssetComponent();
            MoveComponent  mc = new MoveComponent();

            ac.m_assetName = "Cube";

            EntityBase entity = m_world.CreateEntity(id++);

            entity.AddComp(conn);
            entity.AddComp(pc);
            entity.AddComp(syc);
            entity.AddComp(vc);
            entity.AddComp(ac);
            entity.AddComp(cc);
            entity.AddComp(mc);
            entity.AddComp(wsc);

            session.m_entity  = entity;
            session.m_connect = conn;

            Debug.Log("new entity " + id);
        }