public static GraphObjectType GetFSMGType(this UnityEngine.Object unityObject) { if (unityObject is AI_ActionBase) { return(GraphObjectType.AIActionBase); } else if (unityObject is AI_DecisionBase) { return(GraphObjectType.AIDecisionBase); } else if (unityObject is GameObject) { FSMTargetLocal clocal = ((GameObject)unityObject).GetComponent <FSMTargetLocal>(); FSMTargetGlobal cglobal = ((GameObject)unityObject).GetComponent <FSMTargetGlobal>(); if (clocal != null) { return(GraphObjectType.FSMTargetLocal); } else if (cglobal != null) { return(GraphObjectType.FSMTargetGlobal); } else { return(GraphObjectType.None); } } else { return(GraphObjectType.None); } }
private void CreateGetTargetLocalNode(UnityEngine.Object go) { GameObject gameObject = (GameObject)go; FSMTargetLocal fsmt_local = gameObject.GetComponent <FSMTargetLocal>(); float randomPosx = UnityEngine.Random.Range(-50.0f, 50.0f); float randomPosy = UnityEngine.Random.Range(-50.0f, 50.0f); Vector2 gridPos = window.WindowToGridPosition(Event.current.mousePosition); gridPos.x += randomPosx; gridPos.y += randomPosy; Node node = CreateNode(typeof(Node_TargetsGet), gridPos); Node_TargetsGet getTarget = (Node_TargetsGet)node; getTarget.SetTarget(fsmt_local.targetName, TargetLocalType.local); }