void TimeLine_4() { NodeUtil.TakeDamageToPlayer(10f); }
public override void StartAction(Character owner) { base.StartAction(owner); NodeUtil.PlayAnim(Owner, "stun"); }
public override void StartAction(Character owner) { base.StartAction(owner); NodeUtil.PlayAnim(Owner, "idle"); TimelineEvents.Add(new TimeLineEvent(3f, End)); }
public void PopulateNodes() { _nodesWithLinksFrom = new Dictionary <string, HashSet <string> >(); _nodesWithLinksTo = new Dictionary <string, HashSet <string> >(); if (_lines != null && _lines.Any()) { Debug.Log("Deleting lines"); foreach (var line in _lines.Values) { line.Destroy(); Destroy(line.gameObject); } } if (_nodeButtons != null && _nodeButtons.Any()) { Debug.Log("Deleting buttons"); foreach (var button in _nodeButtons.Values) { Destroy(button.gameObject); } } if (_floatingNodeButtons != null && _floatingNodeButtons.Any()) { Debug.Log("Deleting floating buttons"); foreach (var floatingButton in _floatingNodeButtons.Values) { Destroy(floatingButton.gameObject); } } _nodeButtons = new Dictionary <string, Button>(); _lines = new Dictionary <string, LineHolder>(); var files = NodeUtil.GetAvailableNodes(); var nodes = new List <Tuple <string, StoryNode> >(); var nodeNames = new HashSet <string>(); foreach (var file in files) { var nName = NodeUtil.StripFileExtension(file); nodes.Add(new Tuple <string, StoryNode>(nName, NodeUtil.GetNodeData <StoryNode>(file))); if (!nodeNames.Contains(nName)) { nodeNames.Add(nName); } } // Gets the dictionary of nodes with the nodes that link to it foreach (var(key, node) in nodes) { foreach (var nodeLink in node.nodes) { var link = NodeUtil.StripFileExtension(nodeLink.link); if (!nodeNames.Contains(link)) { continue; } if (!_nodesWithLinksFrom.ContainsKey(link)) { _nodesWithLinksFrom.Add(link, new HashSet <string>()); } if (!_nodesWithLinksFrom[link].Contains(key)) { _nodesWithLinksFrom[link].Add(key); } } } // Gets the dictionary of nodes with the nodes that it links to foreach (var(key, node) in nodes) { if (!_nodesWithLinksTo.ContainsKey(key)) { _nodesWithLinksTo.Add(key, new HashSet <string>()); } var linksToDelete = new List <string>(); foreach (var nodeLink in node.nodes) { var link = NodeUtil.StripFileExtension(nodeLink.link); if (!_nodesWithLinksFrom.ContainsKey(link)) { linksToDelete.Add(link); continue; } if (!_nodesWithLinksTo[key].Contains(link)) { _nodesWithLinksTo[key].Add(link); } } // if there are any non-existing links, then update the node data if (linksToDelete.Any()) { var correctedNode = new Node { text = node.text, nodes = node.nodes.Where(n => !linksToDelete.Contains(NodeUtil.StripFileExtension(n.link))).ToArray() }; NodeUtil.WriteNodeData(key, correctedNode); } } _connectedNodes = new HashSet <string>(); _floatingNodeButtons = new Dictionary <string, Button>(); // if there is no entry node then make one if (!_nodesWithLinksTo.ContainsKey("entry")) { _nodesWithLinksTo.Add("entry", new HashSet <string>()); NodeUtil.WriteNodeData("entry", new Node()); } // This part creates all of the buttons for the tree starting from 'entry' AddNode("entry"); // Construct the floating nodes list BuildFloatingNodesList(nodes); // This parts sets up the lines between nodes and the indicators for them BuildGraphButtonLinks(); }
public void Play(string ModID, string Path) { Player.Stream = NodeUtil.NewResource <AudioStream>(ModID, "Music", Path); Player.Play(); }
public void StopRun() { NodeUtil.ChangeAction(Owner, "GoblinDrunkIdleAction"); isFinish = true; }
public void UpdateSelectedLink() { link.text = NodeUtil.ValidateInput(link.text); _selectedInput.link = link.text; }
public void ValidateNodeName() { nodeName.text = NodeUtil.ValidateInput(nodeName.text); }
public void Delete() { NodeUtil.DeleteNode(GetFileName(nodeName.text)); Cancel(); }
private string GetMessageIdFromDocument() { return(NodeUtil.GetLocalOrTagName(this.document.DocumentElement)); }
protected override Models.Team DoSetItem() { var(tpc, tp, t) = GetCollectionProjectAndTeam(); var description = GetParameter <string>(nameof(SetTeam.Description)); var defaultTeam = GetParameter <bool>(nameof(SetTeam.Default)); var defaultAreaPath = GetParameter <string>(nameof(SetTeam.DefaultAreaPath)); var areaPaths = GetParameter <IEnumerable <string> >(nameof(SetTeam.AreaPaths)); var backlogIteration = GetParameter <string>(nameof(SetTeam.BacklogIteration)); var iterationPaths = GetParameter <IEnumerable <string> >(nameof(SetTeam.IterationPaths)); var defaultIteration = GetParameter <string>(nameof(SetTeam.DefaultIterationMacro)); var teamClient = GetClient <TeamHttpClient>(); var projectClient = GetClient <ProjectHttpClient>(); var workClient = GetClient <WorkHttpClient>(); // Set description if (HasParameter("Description") && ShouldProcess(t, $"Set team's description to '{description}'")) { teamClient.UpdateTeamAsync(new WebApiTeam() { Description = description ?? string.Empty }, tp.Id.ToString(), t.Id.ToString()) .GetResult($"Error setting team '{t.Name}''s description to '{description}'"); } // Set default team if (defaultTeam && ShouldProcess(tp, $"Set team '{t.Name} as default'")) { throw new NotImplementedException("Set team as default is currently not supported"); } // Set Team Field / Area Path settings var ctx = new TeamContext(tp.Name, t.Name); var teamFieldPatch = new TeamFieldValuesPatch(); if (!string.IsNullOrEmpty(defaultAreaPath) && ShouldProcess(t, $"Set team's default area path (team field) to '{defaultAreaPath}'")) { if (tpc.IsHosted) { this.Log("Conected to Azure DevOps Services. Treating Team Field Value as Area Path"); defaultAreaPath = NodeUtil.NormalizeNodePath(defaultAreaPath, tp.Name, "Areas", includeTeamProject: true); } if (areaPaths == null) { this.Log("AreaPaths is empty. Adding DefaultAreaPath (TeamFieldValue) to AreaPaths as default value."); areaPaths = new string[] { defaultAreaPath }; } var area = new { Node = defaultAreaPath }; if (!TestItem <Models.ClassificationNode>(area)) { NewItem <Models.ClassificationNode>(area); } this.Log($"Setting default area path (team field) to {defaultAreaPath}"); teamFieldPatch.DefaultValue = defaultAreaPath; } if (areaPaths != null && ShouldProcess(t, $"Set {string.Join(", ", areaPaths)} as team's area paths")) { var values = new List <TeamFieldValue>(); foreach (var a in areaPaths) { values.Add(new TeamFieldValue() { Value = NodeUtil.NormalizeNodePath(a.TrimEnd('\\', '*'), tp.Name, scope: "Areas", includeTeamProject: true), IncludeChildren = a.EndsWith("*") }); } teamFieldPatch.Values = values; workClient.UpdateTeamFieldValuesAsync(teamFieldPatch, ctx) .GetResult("Error applying team field value and/or area path settings"); } // Set backlog and iteration path settings bool isDirty = false; var iterationPatch = new TeamSettingsPatch(); if (backlogIteration != null && ShouldProcess(t, $"Set the team's backlog iteration to '{backlogIteration}'")) { this.Log($"Setting backlog iteration to {backlogIteration}"); var iteration = GetItem <Models.ClassificationNode>(new { Node = backlogIteration, StructureGroup = TreeStructureGroup.Iterations }); iterationPatch.BacklogIteration = iterationPatch.DefaultIteration = iteration.Identifier; isDirty = true; } if (!string.IsNullOrEmpty(defaultIteration) && ShouldProcess(t, $"Set the team's default iteration to '{defaultIteration}'")) { this.Log($"Setting default iteration to '{defaultIteration}'"); if (!defaultIteration.StartsWith("@")) { var iteration = GetItem <Models.ClassificationNode>(new { Node = defaultIteration, StructureGroup = TreeStructureGroup.Iterations }); iterationPatch.DefaultIteration = iteration.Identifier; } else { iterationPatch.DefaultIteration = null; iterationPatch.DefaultIterationMacro = defaultIteration; } isDirty = true; } if (isDirty) { workClient.UpdateTeamSettingsAsync(iterationPatch, ctx) .GetResult("Error applying iteration and/or board settings"); } // TODO: Finish migration // if (BacklogVisibilities && ShouldProcess(Team, $"Set the team"s backlog visibilities to {_DumpObj {BacklogVisibilities}}")) // { // this.Log($"Setting backlog iteration to {BacklogVisibilities}"); // patch.BacklogVisibilities = _NewDictionary @([string], [bool]) BacklogVisibilities // isDirty = true // } // if (DefaultIterationMacro && ShouldProcess(Team, $"Set the team"s default iteration macro to {DefaultIterationMacro}")) // { // this.Log($"Setting default iteration macro to {DefaultIterationMacro}"); // patch.DefaultIterationMacro = DefaultIterationMacro // isDirty = true // } // if (WorkingDays && ShouldProcess(Team, $"Set the team"s working days to {_DumpObj {WorkingDays}}")) // { // this.Log($"Setting working days to {{WorkingDays}|ConvertTo=-Json -Compress}"); // patch.WorkingDays = WorkingDays // isDirty = true // } // if(BugsBehavior && ShouldProcess(Team, $"Set the team"s bugs behavior to {_DumpObj {BugsBehavior}}")) // { // this.Log($"Setting bugs behavior to {_DumpObj {BugsBehavior}}"); // patch.BugsBehavior = BugsBehavior // isDirty = true // } // if(isDirty) // { // task = client.UpdateTeamSettingsAsync(patch, ctx) // result = task.Result; if(task.IsFaulted) { _throw new Exception("Error applying iteration settings" task.Exception.InnerExceptions }) // } // if(Passthru.IsPresent) // { // WriteObject(t); return; // } // } // } return(GetItem <Models.Team>()); }
public virtual Hl7PartSource CreatePartSourceForSpecificType(Relationship relationship, XmlElement currentElement, string type) { string resolvedType = (type == null ? this.context.ResolveType(relationship, NodeUtil.GetLocalOrTagName(currentElement)) : type); return(new Hl7PartSource(this, resolvedType, currentElement, relationship.Type)); }
//test the save file for upgrades public override TestResult OnTest(ConfigNode node, LoadContext loadContext, ref string nodeName) { nodeName = NodeUtil.GetPartNodeName(node, loadContext); return(checkPart(node, loadContext)); }
public override void UpdateAction() { base.UpdateAction(); if (NodeUtil.StateActionMacro(Owner)) { } else { if (check1 == 1) { timer1 = timer1 + 1; if (timer1 == timer2) { timer1 = 0; timer2 = UnityEngine.Random.Range(40, 100); check1 = UnityEngine.Random.Range(1, 3); NodeUtil.StopMovement(Owner); } else { NodeUtil.LookPlayer(Owner); NodeUtil.RotationAnim(Owner, "run"); if (NodeUtil.PlayerInRange(Owner, 1f)) { NodeUtil.ChangeAction(Owner, "CSlimeAttackAction"); } else { NodeUtil.MoveToPlayer(Owner); } } } else if (check1 == 2) { timer1 = timer1 + 1; if (timer1 == timer2) { timer1 = 0; timer2 = UnityEngine.Random.Range(40, 100); check1 = UnityEngine.Random.Range(1, 3); } else { NodeUtil.LookPlayer(Owner); NodeUtil.RotationAnim(Owner, "idle"); NodeUtil.StopMovement(Owner); } } else if (check1 == 3) { timer1 = timer1 + 1; if (timer1 == timer2) { timer1 = 0; timer2 = UnityEngine.Random.Range(40, 100); check1 = UnityEngine.Random.Range(1, 3); } else { Owner.transform.rotation = Quaternion.LookRotation((Owner.transform.position - Player.CurrentPlayer.transform.position).normalized, Vector3.up); NodeUtil.RotationAnim(Owner, "run"); NodeUtil.AvoidFormPlayer(Owner); } } } }
void TimeLine_4() { if (NodeUtil.IsActivateAbility(Owner, 211)) { NodeUtil.ChangeAction(NodeUtil.CreateEntity("GoblinDrunk", NodeUtil.VectorAdd(NodeUtil.GetPosition(Owner), NodeUtil.CreateVector3(0.4808326f, 0f, 0f))), "GoblinDrunkCreateAction"); } else { } }
//Upgrade the part private void upgradePart(ConfigNode part, LoadContext loadContext) { string partName = NodeUtil.GetPartNodeNameValue(part, loadContext).Split('_')[0]; string[] attachementNodes = part.GetValues("attN"); switch (partName) { case "KKAOSS.Storage.g": case "KKAOSS.Storage.mid.g": case "KKAOSS.Storage.size2.m": case "KKAOSS.Storage.size2.s": int left = 1; int right = 1; for (int i = 0; i < attachementNodes.Length; i++) { string[] values = attachementNodes[i].Split(','); if (values[0] == "left") { part.SetValue("attN", "left" + left + "," + values[1], i, false); left++; } else if (values[0] == "right") { part.SetValue("attN", "right" + right + "," + values[1], i, false); right++; } } break; case "KKAOSS.garage.front.g.2": case "KKAOSS.garage.struct.g.2": case "KKAOSS.gangway.2.adapter": int leg = 1; for (int i = 0; i < attachementNodes.Length; i++) { string[] values = attachementNodes[i].Split(','); if (values[0].StartsWith("node_leg")) { part.SetValue("attN", "leg" + leg + "," + values[1], i, false); leg++; } } break; case "KKAOSS.Service.g": int inner = 1; for (int i = 0; i < attachementNodes.Length; i++) { string[] values = attachementNodes[i].Split(','); if (values[0] == "inner") { if (inner == 1) { part.SetValue("attN", "innerbottom" + "," + values[1], i, false); } else { part.SetValue("attN", "innertop" + "," + values[1], i, false); } inner++; } } break; case "KKAOSS.container.SEP": int front = 1; for (int i = 0; i < attachementNodes.Length; i++) { string[] values = attachementNodes[i].Split(','); if (values[0] == "front") { part.SetValue("attN", "front" + front + "," + values[1], i, false); front++; } } break; } }
public override void UpdateAction() { base.UpdateAction(); timer1 += 1; if (NodeUtil.StateActionMacro(Owner)) { } else { if (check1 == 1) { if (timer1 == timer2) { timer1 = 0; timer2 = UnityEngine.Random.Range(80, 120); check1 = UnityEngine.Random.Range(1, 3); RandomMove.Set(UnityEngine.Random.Range(-10, 10), 0, UnityEngine.Random.Range(-10, 10)); RandomMove = RandomMove + Owner.transform.position; NodeUtil.StopMovement(Owner); NodeUtil.RotationAnim(Owner, "idle"); } else { Owner.transform.rotation = Quaternion.LookRotation(RandomMove.normalized, Vector3.up); NodeUtil.RotationAnim(Owner, "run"); Owner.NavAgent.destination = RandomMove.normalized; } } else if (check1 == 2) { timer2 = 200; if (timer1 == timer2) { timer1 = 0; timer2 = UnityEngine.Random.Range(80, 120); check1 = UnityEngine.Random.Range(1, 3); RandomMove.Set(UnityEngine.Random.Range(-10, 10), 0, UnityEngine.Random.Range(-10, 10)); RandomMove = RandomMove + Owner.transform.position; } else { NodeUtil.LookPlayer(Owner); NodeUtil.RotationAnim(Owner, "idle"); NodeUtil.StopMovement(Owner); } } if (IsAttack == false) { if (NodeUtil.PlayerInRange(Owner, 7f)) { NodeUtil.ChangeAction(Owner, "GoblinDrunkMoveAction"); return; } } } }
public override void UpdateAction() { base.UpdateAction(); if (NodeUtil.IsLastFrame(Owner)) { NodeUtil.ChangeAction(NodeUtil.CreateEntity("CSlime", NodeUtil.VectorAdd(NodeUtil.GetPosition(Owner), NodeUtil.CreateVector3(0.04f, 0f, 0.04f))), "CSlimeCreate1Action"); NodeUtil.ChangeAction(NodeUtil.CreateEntity("CSlime", NodeUtil.VectorMinus(NodeUtil.GetPosition(Owner), NodeUtil.CreateVector3(0.04f, 0f, 0.04f))), "CSlimeCreate2Action"); NodeUtil.DestroyEntity(Owner); } else { } }
public override void FinishAction() { base.FinishAction(); NodeUtil.StopMovement(Owner); }
private bool IsSameElementName(XmlElement element, XmlElement nextElement) { return(StringUtils.Equals(element.NamespaceURI, nextElement.NamespaceURI) && StringUtils.Equals(NodeUtil.GetLocalOrTagName (element), NodeUtil.GetLocalOrTagName(nextElement))); }
public override void StartAction(Character owner) { base.StartAction(owner); TimelineEvents.Add(new TimeLineEvent(1f, TimeLine_4)); NodeUtil.PlayAnim(Owner, "attack"); }
void TimeLine_4() { NodeUtil.ShootProjectile(Owner, "Bullet", NodeUtil.VectorMinus(Player.CurrentPlayer.transform.position, Owner.transform.position).normalized, 12f); }
public virtual NullFlavor ParseNullNode() { string attributeValue = GetAttributeValue(node, NULL_FLAVOR_ATTRIBUTE_NAME); NullFlavor nullFlavor = CodeResolverRegistry.Lookup <NullFlavor>(attributeValue); if (ConformanceLevelUtil.IsMandatory(this.conformanceLevel, null)) { xmlToModelResult.AddHl7Error(Hl7Error.CreateMandatoryAttributeIsNullError(NodeUtil.GetLocalOrTagName((XmlElement)node), GetAttributeValue (node, NULL_FLAVOR_ATTRIBUTE_NAME), (XmlElement)node)); } else { // RM #15431 - strictly speaking, nullFlavors are not allowed for REQUIRED fields. However, jurisdictions often ignore this restriction. // FIXME: TM (see RM18424) - once MB has error levels implemented, this can be reinstated as a warning // } else if (this.conformanceLevel != null && this.conformanceLevel == ConformanceLevel.REQUIRED) { // xmlToModelResult.addHl7Error(Hl7Error.createRequiredAttributeIsNullError( // NodeUtil.getLocalOrTagName((Element) node), // getAttributeValue(node, NULL_FLAVOR_ATTRIBUTE_NAME), // (Element) node)); if (this.isAssociation && !StringUtils.Equals(GetAttributeValue(node, NULL_FLAVOR_XSI_NIL_ATTRIBUTE_NAME), "true")) { if (!Ca.Infoway.Messagebuilder.BooleanUtils.ValueOf(Runtime.GetProperty(Ca.Infoway.Messagebuilder.Marshalling.HL7.Parser.NullFlavorHelper .MB_SUPPRESS_XSI_NIL_ON_NULLFLAVOR))) { xmlToModelResult.AddHl7Error(Hl7Error.CreateNullFlavorMissingXsiNilError(NodeUtil.GetLocalOrTagName((XmlElement)node), (XmlElement )node)); } } } return(nullFlavor); }
void TimeLine_4() { NodeUtil.ShootProjectile(Owner, "Bullet", NodeUtil.VectorMinus(des, Owner.transform.position).normalized, 6.5f); }
/// <summary>Obtains the message's interaction id.</summary> /// <remarks>Obtains the message's interaction id.</remarks> /// <returns>the message's interaction id</returns> /// <exception cref="TransportLayerException">if the message's interaction id could not be determined</exception> /// <exception cref="Ca.Infoway.Messagebuilder.Transport.TransportLayerException"></exception> public virtual string GetInteractionId() { return(NodeUtil.GetLocalOrTagName(this.document.DocumentElement)); }
public static Ca.Infoway.Messagebuilder.Error.Hl7Error CreateUnknownChildElementError(XmlElement element) { return(new Ca.Infoway.Messagebuilder.Error.Hl7Error(Hl7ErrorCode.SYNTAX_ERROR, System.String.Format("Unknown child element \"{0}\" will be ignored." , NodeUtil.GetLocalOrTagName(element)), element)); }
public override void StartAction(Character owner) { base.StartAction(owner); NodeUtil.PlayAnimOneSide(Owner, "idle_135"); }
protected override IEnumerable <ClassificationNode> DoGetItems() { var node = GetParameter <object>(nameof(GetClassificationNode.Node)); var structureGroup = GetParameter <TreeStructureGroup>("StructureGroup"); var(_, tp) = this.GetCollectionAndProject(); bool done = false; string path = null; while (!done) { switch (node) { case WorkItemClassificationNode n: { yield return(new ClassificationNode(n, tp.Name, null)); yield break; } case string s when s.Equals("\\") || s.Equals("/"): { path = "\\"; done = true; break; } case string s when !string.IsNullOrEmpty(s) && s.IsWildcard(): { path = NodeUtil.NormalizeNodePath(s, tp.Name, structureGroup.ToString().TrimEnd('s'), true, false, true, false, true); done = true; break; } case string s when !string.IsNullOrEmpty(s): { path = NodeUtil.NormalizeNodePath(s, tp.Name, structureGroup.ToString().TrimEnd('s'), false, false, true, false, false); done = true; break; } default: { throw new ArgumentException($"Invalid or non-existent node {node}"); } } } var client = GetClient <WorkItemTrackingHttpClient>(); int depth = 1; if (path.IsWildcard()) { depth = 2; Logger.Log($"Preparing to recursively search for pattern '{path}'"); var root = new ClassificationNode(client.GetClassificationNodeAsync(tp.Name, structureGroup, "\\", depth) .GetResult($"Error retrieving {structureGroup} from path '{path}'"), tp.Name, client); foreach (var n in root.GetChildren(path, true)) { yield return(n); } yield break; } Logger.Log($"Getting {structureGroup} under path '{path}'"); yield return(new ClassificationNode(client.GetClassificationNodeAsync(tp.Name, structureGroup, path, depth) .GetResult($"Error retrieving {structureGroup} from path '{path}'"), tp.Name, null)); }
public override void StartAction(Character owner) { base.StartAction(owner); NodeUtil.LookPlayer(Owner); NodeUtil.PlayAnim(Owner, "hit"); }
public override void UpdateAction() { base.UpdateAction(); if (NodeUtil.StateActionMacro(Owner)) { } else { // 5M 이내로 진입할때 까지 movetoplayer if (NodeUtil.PlayerInRange(Owner, 5)) { if (pandan == 1 || pandan == 6)//공격 { NodeUtil.LookPlayer(Owner); NodeUtil.ChangeAction(Owner, "GoblinSlingAttackAction"); } else if (pandan == 2)//이동->플레이어 { timer2 += 0.1f; if (timer2 <= timer1) // 2m내에 있으면 판단 변수 재지정 아니면 이동 { NodeUtil.LookPlayer(Owner); NodeUtil.RotationAnim(Owner, "run"); NodeUtil.MoveToPlayer(Owner); } else { pandan = UnityEngine.Random.Range(min, max); timer2 = 0f; timer1 = UnityEngine.Random.Range(6, 10);; } } else if (pandan == 3)//대기 { NodeUtil.StopMovement(Owner); timer2 += 0.1f; if (timer2 <= timer1) { NodeUtil.LookPlayer(Owner); NodeUtil.RotationAnim(Owner, "idle"); } else { pandan = UnityEngine.Random.Range(min, max); timer2 = 0f; timer1 = UnityEngine.Random.Range(6, 10); } } else if (pandan == 4 || pandan == 5)//랜덤 장소로 이동 { timer2 += 0.05f; if (timer2 <= timer1) { NodeUtil.RotationAnim(Owner, "run"); if (chamgo == 0) { chamgo = 1; xx = UnityEngine.Random.Range(-1f, 1f); zz = UnityEngine.Random.Range(-1f, 1f); DesPos = Owner.transform.position + new Vector3(xx, 0, zz); Owner.transform.rotation = Quaternion.LookRotation((DesPos - Owner.transform.position).normalized, Vector3.up); } DesPos = Owner.transform.position + new Vector3(xx, 0, zz); NodeUtil.MoveToPpsition(Owner, DesPos); } else { pandan = UnityEngine.Random.Range(min, max); timer2 = 0f; chamgo = 0; timer1 = UnityEngine.Random.Range(6, 10); } } else //도망 { timer2 += 0.1f; if (timer2 <= timer1) // 7m내에 PC가 없으면 재지저 { Owner.transform.rotation = Quaternion.LookRotation((Owner.transform.position - Player.CurrentPlayer.transform.position).normalized, Vector3.up); NodeUtil.RotationAnim(Owner, "run"); NodeUtil.AvoidFormPlayer(Owner); } else { pandan = UnityEngine.Random.Range(min, max); timer2 = 0f; timer1 = UnityEngine.Random.Range(6, 10); } } } else { NodeUtil.LookPlayer(Owner); NodeUtil.RotationAnim(Owner, "run"); NodeUtil.MoveToPlayer(Owner); } } }