private ClientResolutionAction MakeResolutionAction( MovementNode node, Barrier barrier, GameObject sequenceToPlay, Dictionary <ActorData, ClientActorHitResults> actorToHitResults) { SequenceSource seqSource = new SequenceSource(null, null, ArtemisServerResolutionManager.Get().NextSeqSourceRootID, true); ServerClientUtils.SequenceStartData seqStart = new ServerClientUtils.SequenceStartData( sequenceToPlay, node.pathInfo.square, new ActorData[] { node.actor }, barrier.Caster, seqSource); ClientBarrierResults barrierResults = new ClientBarrierResults( barrier.m_guid, barrier.Caster, actorToHitResults, new Dictionary <Vector3, ClientPositionHitResults>()); ClientMovementResults movementResults = new ClientMovementResults( node.actor, node.pathInfo, new List <ServerClientUtils.SequenceStartData> { seqStart }, null, barrierResults, null, null); return(new ClientResolutionAction(ResolutionActionType.BarrierOnMove, null, null, movementResults)); }
protected override ServerClientUtils.SequenceStartData MakeSequenceStart(SequenceSource seqSource) { ServerClientUtils.SequenceStartData result = new ServerClientUtils.SequenceStartData( m_ability.m_sequencePrefab, m_targetPos, new ActorData[] { }, m_caster, seqSource, MakeExtraParams()); Log.Info($"SequenceStartData: prefab: {result.GetSequencePrefabId()}, pos: {result.GetTargetPos()}, actors: {result.GetTargetActorsString()}"); return(result); }