}                                                          // The function used to get the closest node to the player.

        public void Init()
        {
            bool assignExtended = false;

            // Assign workshop variables.
            DoGetCurrent     = DeltinScript.VarCollection.Assign("pathfinderDoGetCurrent", false, assignExtended);
            Current          = DeltinScript.VarCollection.Assign("pathfinderCurrent", false, assignExtended);
            PathmapReference = DeltinScript.VarCollection.Assign("pathmapReference", false, assignExtended);
            ParentArray      = DeltinScript.VarCollection.Assign("parentArray", false, assignExtended);
            Destination      = DeltinScript.VarCollection.Assign("destination", false, assignExtended);
            CurrentAttribute = DeltinScript.VarCollection.Assign("lastAttribute", false, assignExtended);

            if (TrackTimeSinceLastNode)
            {
                DistanceToNextNode = DeltinScript.VarCollection.Assign("distanceToNextNode", false, assignExtended);
                TimeSinceLastNode  = DeltinScript.VarCollection.Assign("timeSinceLastNode", false, assignExtended);
            }

            // Get the PathResolve instance and the Pathmap instance.
            PathResolveInstance = DeltinScript.Types.GetInstance <PathResolveClass>();
            PathmapInstance     = DeltinScript.Types.GetInstance <PathmapClass>();

            // Get the resolve subroutine.
            GetResolveRoutine();
        }
Esempio n. 2
0
        public void Init(DeltinScript deltinScript)
        {
            Pathmap     = new PathmapClass(deltinScript);
            PathResolve = new PathResolveClass(deltinScript);
            Bakemap     = new BakemapClass(deltinScript);

            deltinScript.Types.AddType(Pathmap.Provider);
            deltinScript.Types.AddType(PathResolve.Provider);
            deltinScript.Types.AddType(Bakemap.Provider);
        }
Esempio n. 3
0
        protected override void Assign()
        {
            // Get the PathResolveClass instance.
            PathResolveClass = actionSet.Translate.DeltinScript.Types.GetInstance <PathResolveClass>();
            PathResolveClass.WorkshopInit(actionSet.Translate.DeltinScript);

            // Create a new PathResolve class instance.
            ClassReference = PathResolveClass.Create(actionSet, actionSet.Translate.DeltinScript.GetComponent <ClassData>());

            // Save the pathmap.
            PathResolveClass.Pathmap.Set(actionSet, ClassReference.Get(), (Element)actionSet.CurrentObject);

            // Save the destination.
            PathResolveClass.Destination.Set(actionSet, ClassReference.Get(), Source);

            // Assign FinalNode
            if (Destination != null)
            {
                finalNode = actionSet.VarCollection.Assign("Final Node", actionSet.IsGlobal, assignExtended);
                finalNode.SetVariable(GetClosestNode(actionSet, Nodes, Destination));
            }
        }
        public ResolvePathfind(Element position, SharedPathfinderInfoValues pathfinderInfo) : base(position, pathfinderInfo)
        {
            var pathfinderTypes = ActionSet.DeltinScript.GetComponent <PathfinderTypesComponent>();

            _pathResolveClass = pathfinderTypes.PathResolve;
        }