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); } }
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); }