Advertisement
keysle

Primitive GML Path finding logic

Nov 19th, 2012
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Creature_findNode(nodeToSearchFrom,goal){
  2.     var strand,strandLength,strands,referencedNode,referencedNodes,goalFound,creature;
  3.     strands = 0;
  4.     referencedNodes = 0;
  5.     goalFound = 0;
  6.     creature = id;
  7.     searchNode(argument0,argument1);
  8.     if (goalFound){
  9.         var i;
  10.         //transfer strand to pathPods list
  11.         for(i=0;i<strandLength[ ##### ];i+=1){
  12.             with(strand[i]){Pod_addPodToPath(creature);}
  13.         }
  14.     }
  15. }
  16.  
  17. function Creature_FindNode_searchNode(nodeToSearchFrom,goal){
  18.     var nodeToSearchFrom, goal, i;
  19.     nodeToSearchFrom = argument0;
  20.     goal = argument1;
  21.     for(i=0;i<nodeToSearchFrom.pods;i+=1){
  22.         if ( nodeToSearchFrom.pod[i] == goal ){
  23.             goalFound = 1;
  24.         }else{
  25.             if ( PathFinding_isNodeReferenced(i) == -1 ){
  26.                 referencedNode[referencedNodes];
  27.                 referencedNodes+=1;
  28.             }
  29.         }
  30.         if (goalFound){
  31.             break;
  32.         }
  33.     }
  34. }
  35.  
  36. function Creature_FindNode_isNodeReferenced( nodeToCheck ){
  37.     var referenced,i;
  38.     var nodeToCheck;
  39.     nodeToCheck = argument0;
  40.     referenced = -1;
  41.     for(i=0;i<referencedNodes;i+=1){
  42.         if (referencedNode[i] == nodeToCheck){
  43.             referenced = i;
  44.         }
  45.     }
  46.     return referenced;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement