public static AceApian Create(string apianGroupType, IAceGameNet aceGameNet, AceAppCore appCore) { AceApian result; switch (apianGroupType) { case SinglePeerGroupManager.kGroupType: result = new AceApianSinglePeer(aceGameNet, appCore); break; case CreatorSezGroupManager.kGroupType: result = new AceApianCreatorSez(aceGameNet, appCore); break; default: UniLogger.GetLogger("Apian").Warn($"AceApianFactory.Create() Unknown GroupType: {apianGroupType}"); result = null; break; } return(result); }
public AceApianSinglePeer(IAceGameNet _gn, AceAppCore _client) : base(_gn, _client) { ApianClock = new CoopApianClock(this); // FIXME: Ace needs a virtual timer-based clock GroupMgr = new SinglePeerGroupManager(this); }
public AceApianCreatorSez(IAceGameNet _gn, IAceAppCore _client) : base(_gn, _client) { // TODO: LeaderClock needs a way to set the leader. Currently uses group creator. ApianClock = new LeaderApianClock(this); // For Ace this should be a virtual-timer-based clock rather than realtime GroupMgr = new CreatorSezGroupManager(this); }