Example #1
0
        protected sealed override bool GetTime(ITempNode source, ITileNode target, MovementType movementType, out float time)
        {
            switch (movementType)
            {
            case MovementType.Linear:
                time = GetLinearTime(source.Position, target.Position);
                return(true);

            case MovementType.Teleport:
                time = GetTeleportTime(source, target);
                return(true);

            default:
                time = -1;
                return(false);
            }
        }
Example #2
0
 void INodeVisitor.Visit(ITempNode source, ITempNode target, MovementType movementType)
 {
     canPass = GetTime(source, target, movementType, out resTime);
 }
Example #3
0
 /// <summary>
 /// Gets if it is possible to get from <paramref name="source"/> TEMP node to <paramref name="target"/> TEMP node,
 ///  if true, then returns the time needed in <paramref name="time"/>
 /// </summary>
 /// <param name="source">Source node</param>
 /// <param name="target">Target node</param>
 /// <param name="time">Result time it will take to get from <paramref name="source"/> to <paramref name="target"/></param>
 /// <returns>If it is possible to get to the</returns>
 protected virtual bool GetTime(ITempNode source, ITempNode target, MovementType movementType, out float time)
 {
     time = -1;
     return(false);
 }
Example #4
0
 public void Accept(INodeVisitor visitor, ITempNode source, MovementType movementType)
 {
     visitor.Visit(source, this, movementType);
 }
Example #5
0
File: Node.cs Project: MK4H/MHUrho
 public abstract void Accept(INodeVisitor visitor, ITempNode source, MovementType movementType);