So you probably use view controllers quite a bit in your iOS development, but there's a special type of view controller called the UI Collection View Controller, and it's basically a collection view that's a little bit easier to use in the confines of a view controller. And in this lesson, we are going to learn how to use the UI Collection View Controller to make a very basic grid user interface. Let's open up Xcode and get started. A lot of user interfaces call for a grid-like structure that a table view cannot accomplish. And the Collection View Controller is perfect for setting up a grid. And in this lesson, we're going to build a grid or a collection view that looks like this. It's pretty basic, which it's just going to list the name of different countries that we load into it. And when we tap on each cell, we'll go ahead and print out the name of the selected country. And this is a great way to get started about learning how to use the Collection View Controller. Get started by creating a new single view application. And go ahead and hit Next. And you can go ahead and create and save your project in your particular location. We're not going to be using SwiftUI for this, so we'll go ahead and make sure that Storyboard is selected for the user interface. Now that your project is created, you'll have just an empty view controller in it. And we're going to go ahead and actually delete this view controller so we can replace it with the Collection View Controller instead. And what we can do is go to our source files here. And we can just go ahead and delete ViewController.swift. And we can then go back into main.storyboard here. And we'll make sure we select our ViewController scene. And with it selected, just hit Delete to get rid of it. And we will have nothing in our Storyboard for the moment. Now to add a Collection View Controller, what we can do is go over to the little plus icon here. I'm on Xcode 11.3. And we'll go ahead and look for UI Collection. And you'll see that Collection View Controller pops up. Go ahead and select it and drag it onto your Storyboard like this. And we need to create the corresponding source code file for this UI Collection View Controller. So what we'll do is go back into our source code. We can just go ahead and right click on our folder, New File. And we'll select Cocoa Touch Class from here. And we'll just call this, what we'll do is we'll make sure it's a subclass of UI Collection View Controller. And that's going to go ahead and just give it a default name of Collection View Controller, which is fine for us. And we can go ahead and hit Next and create the CollectionViewController.swift file. Xcode automatically inserts some templated code for us in the CollectionViewController. You can see here that you'll have some commented out stuff in the CollectionViewDelegate as well as some stuff in the CollectionViewDataSource. What we're going to do is actually clear this out. We're going to start from an empty slate so that we can work and understand what we're doing piece by piece. So all this commented code under the CollectionViewDelegate, we can just go ahead and remove that. All of the code under the CollectionViewDataSource, we can remove that. We can delete the section on navigation. And we can empty out ViewDidLoad so that it is empty here. And we can also go ahead and clear this reuse identifier. And we will come back and implement this piece by piece. One unique property about the CollectionViewController is that if you commands click on it to read the documentation and API, you'll notice a couple of things. For one, the CollectionViewController contains an implicit CollectionView. So we don't have to create a CollectionView or drag one onto our ViewController like we would if we were just doing this in a standard ViewController. The other thing is that the CollectionViewController automatically conforms to the CollectionViewDelegate and CollectionViewDataSource protocols. Now if you were just implementing this in a UIViewController, you'd have to drag the CollectionView onto your storyboard and then you'd have to do something like CollectionView.datasource equals self. Now because the CollectionViewController automatically conforms to that for us, we don't even need to do that. So that's one of the benefits of using the CollectionViewController. And the TableViewController also does the same thing for TableViews. Now in order to display our list of countries, we need to provide our country data source. And what I'm going to do here is just paste in the list of countries you saw at the start. And you can pause this to copy along or just add your own list of countries. And this is going to be the data source that gets displayed in our CollectionView. Now after we have this set up, we need to go ahead and start implementing some of the CollectionViewDataSource methods. In particular, we'll start with the number of items in section. And so that's going to be number of items in section and it looks like this. And all this is going to do is return the amount of basically countries in a section of a CollectionView. And so all I'm going to do for this is return the data source dot count. And we're only going to have one section here. So we're just going to use all of the items in our data source. Now we need to go ahead and continue forward to implement to make sure that we have our data source protocol satisfied. And so what we'll do here is do the cell for item at index path method. And that's going to look like this. And this is going to return a CollectionView cell for each section. And what we can just do to get started here so that this will actually compile for us is just do a return UI CollectionView cell because we're not actually going to use this cell. Subclass this with a custom CollectionView cell in just a moment. So take a look back in the main storyboard and we are going to select our CollectionView controller and select the CollectionView cell in the hierarchy. And you'll see here that there's just an empty CollectionView cell class. And like I said, we're going to subclass this so that we can add our customization to the cell and have that apply for every cell that we load into the CollectionView. And the way to subclass this is we will go back to our source code here and we're going to create another Swift file. And we'll go ahead and right click New File. We'll select Cocoa Touch Class. And we can just call this a subclass of UI CollectionView cell like that. And we'll just give it the name of CollectionView cell for now. Go ahead and hit Next and create the Swift class. Now that we have our CollectionView cell, we need to do a couple of things. We need to tell our storyboard's CollectionView to always use our custom CollectionView cell. And we need to add a label to it so that we can display the name of the country for every cell that gets loaded. And to do that, we're going to start by opening up the Assistant Editor here by clicking the Add Editor on Right button. And we want to get the main storyboard on the other side so that it's side by side with our cell. And when we have that ready, we can make sure that we have the CollectionView cell selected in the View Hierarchy here. We can then go over to the class inspector or the identity inspector here. And you'll see that it has just UI CollectionView cell as the default class. And what we want to do is change that so that it points towards our CollectionView cell like this. And so that associates the link from the cell and every cell that we load on our CollectionView here with our custom subclass over here. And so we're almost done. We want to go ahead and add a label to the cell so that we can display the name of the country. So we'll go to the library, look for a label, which is the first one that loads for me. Drag that right onto the cell's content view. I'm going to zoom in a little bit here so you can see it better. And what we want to do is create an outlet or a connection for this label back to the cell here. To do that, we can hold down the Control key. Once we have the label selected, we can click and drag over to CollectionView cell. And we can create that link because we've gone ahead and set that subclass to the cell. I'll go ahead and just call this country name label like this. I'm going to go ahead and just make it private. And finally, I'm going to create a method in here called funk configure with country name of type string. And inside of this method here, all I'm going to do is country name label dot text equals country name. Now let's go back to our CollectionView controller. And we're going to finish implementing cell for item at index path to use our custom CollectionView cell. To do that, what we'll do is instead of returning the cell here, we're just going to do var cell equals CollectionView cell here. Give it some space and we'll actually return the cell from here. And what we're going to do next is use the CollectionView parameter that's passed in here and say collectionView dot dq reusable cell with reuse identifier for index path. And what I'm going to do here is I'm going to hard code the value of cell for the reuse identifier and pass in the index path. And what we're going to do is try to cast this as an instance of our custom CollectionView cell like this. So if let custom cell or actually if let country cell equals CollectionView dot dq reusable cell as a CollectionView cell, go ahead and provide the cell, the country title. And we'll do that like this. Country cell dot configure with the country name. And the name of the country is just going to match up with the index for each country passed in. So to quickly access that I can do data source at index path dot row. So each row will correspond to one country name that gets passed into our configure method here. Now we have to make sure that we return this cell back. So what we can do is take our generic CollectionView cell and say this cell is going to be assigned to the country cell which is also a CollectionView cell subclass. So this works out just fine and we can return it that way. Go back into main storyboard and we need to do a couple of things. Similarly to how we subclassed our CollectionView cell, we need to make sure that our CollectionView controller is being properly subclassed in the storyboard in a similar fashion. So we can select our actual CollectionView controller scene here and we'll start off by first going to the attribute inspector. And you'll remember since we deleted the other view controller, we need to make sure that this one is the initial view controller in the storyboard. So you want to make sure initial view controller is selected. Once you've done that, we can go back to the identity inspector here and you'll see that the class is just the generic CollectionView controller and we can tell it to point to the custom CollectionView controller that we created and we can go ahead and set the storyboard ID to CollectionView controller here and the same for restoration ID as well. If you try to run the app right now, your app will crash and the reason it will crash is because we have to make sure that we set a cell reuse identifier on our cell inside of InterfaceBuilder.  And I'm just going to give it the name cell as a general name here and you'll see that this identifier maps up with the string cell that I used here. Alternatively, you could set this to a constant but all that matters is the value here should match what is an InterfaceBuilder over here. And so another thing is that you don't have to explicitly register your cell from a class or from a nib like you would have had to if you were loading from a nib or loading programmatically. If you're using your cell on a storyboard like we're using here, then Xcode can automatically find your cell and reuse identifier and load it for you automatically. So having to manually load it like was done in Vuted Load at the templated code from the beginning is not necessary if you're using a storyboard. If we run the app now, you'll see that it doesn't look too good visually. You can see that the country names are getting cut off, the cells are small and really indistinguishable from the collection view controller's view. And we can go ahead and make a couple of adjustments to give the cell a color so that it stands out as well as increase the size of the cell itself. So we can go back into the storyboard and we can start off with the collection view cell itself. And with that selected, we can go over to the ruler icon here and you'll see that there is a size dropdown set to automatic. Now, there is a custom size you can change it to as well. I'm just gonna change this to 130 by 130 and you'll see here that our cell starts to take shape over here. Now, I don't want anything fancy. I want really every cell to be the same size, roughly speaking.  I can go ahead and give it center alignment and I'm just gonna pin our label to leading, trailing, top and bottom. And what I'm gonna also do is change the content views color. That's pretty easy. We can go and select the content view of the cell. We can go to the attribute inspector and there's the background dropdown here and I can just go ahead and pick a custom color to make it stand out in some way. Now, there's also the collection view flow layout here. And if we go and select it under the attribute inspector, you'll see the scroll direction is set to vertical. I can change this to horizontal if I want the list to scroll horizontally but I wanted to scroll up and down vertically. So I'm gonna leave that selected. Now over here on the ruler icon, there is the size inspector for the flow layout. Now again, these are custom attributes for the collection view such as the spacing between them, the header size, the footer size, the amount for the insets and the cell size. And I'm also going to update this to be 130 by 130 here. And let's go ahead and go back to our collection view and take a look at something here. Now under the attribute inspector, you'll see that the items are set to one. I can go ahead and increase that to see what this layout is gonna look like as well. And also if I go back to one and we run it from here, we'll take a look at what this looks like. You'll see that it's trying to use the automatic size of the content in the collection view to determine the width of the cell. And that's fine if you want your cell to be somewhat self sizing based on the intrinsic content size. If you want something basic, like a fixed size, we can make an adjustment for that so that all the cells are the same size. To make all of our cells a fixed size, we need to go back to our collection view flow layout here. We need to go back to the size inspector and we need to take a look at estimate size. Now by default, it's set to automatic. So it's gonna attempt to use the intrinsic content size as we saw where the cell was stretched to fit the contents of the label. Now, if we wanna fix this to just 130 by 130 as in the example above, I can just set this to none. And if I go back into the collection view and I start to go to the attribute inspector and start loading cells in like this, you can visually see what it's gonna start to look like. And so that's just a rough idea of what it's gonna look like on this selected simulator here. Now let's go back into collection view controller and just make sure we implement cell selection. To do that, we'll implement the did select item and index path, which is part of the collection view delegate protocol. And so what we can do here is anytime a cell is tapped, we can print out what was selected. So we can print selected country data source at the index path dot row for this selected row that we tapped. So now we have everything ready. Let's go ahead and run this in the simulator one final time to verify how everything is operating. So I can select countries, Brazil, China, Japan. You can see that it's being printed out here below. So our selection is working correctly and we have implemented a very basic collection view controller. So I hope you found this lesson helpful. Obviously it's not that much work to get a collection view controller up and running. If you found this lesson helpful, go ahead and smash that like button and consider subscribing to Code Pro to stay updated for all the latest tutorials and lessons. Make sure to follow Code Pro and social media and make sure to check out my courses on Skillshare and Udemy. I have a full length iOS development course for beginners as well as an intro to core data course as well. Thanks for stopping by, catch you in the next one.


Felly, dweud o gwaith ymlaen nhw'n meddwl i'w ddaf yn gweithio, a ddaf yn mynd i chi'n gwneud y rhai newydd a'r prsydd. Felly, rydyn i'n meddwl i'n meddwl i'r newydd yma, ac rydyn ni'n teimlo'n gwneud yma o'r brifau'r bobl yn cael ei gwybod, ac rydyn ni'n meddwl i'r partyniau. Felly, fy logo, sy'n gweithio ar gyfer ysgrifennu cyfnodd, a'r mwyfyd i'r mwyfyd yma yng nghyrchu. roedd rhan o'r tyn agosu, oedd ym 5. Roeddwn ni'n gweithio'r ond 5 a oeddwn yn yn fan 6. Roeddwn ni'n ddiddordeb am y byddwyr rhaid, rhaid am rhaid am rhaid. Mae gweithio'r pethau ar y pethau i gynnyddio ar gyfer fynd. A wrth gwrs, yna'n gwybod i'r ffordd. Roeddwn ni'n rhoi'r gweithio'r dylai, roeddwn ni'n rhoi'r tyn agosu. Roeddwn ni'n rhoi'r ddysgu a'r Ffuntiaf yna'r ddysgu anodol. I'n dda i'w oed i'w oed i'w amddangos cyfacili ac cymunitio. Ieithio'n ddweud. Mae'r diagnostig wedi bod yn gweithio'r ddechrau o'r ddweud. Rwy'n dweud i'n ddweud i ddweud i'w ddweud i'w ddweud. Ieithio'n ddweud i'w ddweud i'w ddweud i'w ddweud i'w ddweud i eddych. Yn ysgolion o'r ddweud i'w ddweud i'w ddweud i'w ddweud, yng 과faint ein boddyn ni weithio daith i dda i fod yn rhoi'r cwestiy Bartέ. Cyfrлас y problemau cynveil maen nhw arweithio pet intensiwn o'r d thi. Felly mae wedi meddwl sixcu darstyle. Pan bydd운 ni yn фawr mud dweud os y persones a'r dda. Mae anodd. Mae'n dda figures mewn ei ddweud. Nid o ceisio lad trafficking a newydd. Rwyf ei ddweud hi maen nhw arle semi, er m Texas o'i wahanol ein dyma. Mae dus iawn,fall hyn dy tu am blaen o'r dod, … ac mae'r ddiagnoseb yn gwybod… … sy'n symud y gallwch i gyfotsio gyda'i ddechrau… … ac rhan o'r rhan o'r Fathysgol Llyfrgellau… … ac o'r ddiogelu'r Gweithleol. Rwy'n enw i ei ddim yn dweud hyn… … ac mae'n dweud hynny, ac yn gweithio'n gweithio'n gweithio'n gweithio'n gweithio'n gweithio. Ac mae'n ddod o'r rhan o'r rhan o'r ddysgol am ddechrau… Llywodraeth, a mae wedi gwneud y dyfodol i gyferwyd, a mae gennymser yn ymweld yn ysgrifennu gyda'r ysgrifennu. Mae wirio sy'n dweud ar y dyfodol o'r ysgrifennu cymryd ymweld i'r hynny'n gyfaint. So mae'n gydag, mae'n gweithio ar y dwyllgrwyng hwnnw. Mae'r ddechrau'r siarad. Yn ymdweud hyn, mae'n gweithio'r ddechrau yn y ffordd yn y gweithio'r ei ddweithio'r dymell. Fy o ddim yn dweud. across the three institutions, UL being the larger institution with around 13,000 students, for example, versus Mary I and UL. We got a good indication then in terms of the diagnostic need and skills that could be shared. What's really interesting is the variation it showed up. Yn ymwneud yma'r top 5. Felly, mae'n ddiwedd yn ffynol yma'r yma, ydy ni'n ddweud y ddweud o'r ddweud. Yn ymwneud yma, yw'r blog? Yn 2, 1, 1. A'r ddweud o'r ddweud o'r ddweud? 5, 4, 5. Yn ymwneud, mae'n ddweud. Mae'n ddweud o'r ddweud o'r ddweud o'r ddweud o'r ddweud. Mae chefnodd y ffr�io sy'n ddweud o'r ddweud o'r ddweud. Mae'n astu ffordd o ddweud o'r ffredeg yma. Mae'n ddweud o'r ddweud o'r ddweud o'r ddweud. Dyna'r rhai yn meddwl yn argyrchogol ymlaenddol. Fe yna'n ddweud iddo fel hynny bod yn swyddi ddechrau wrth gwrs. Ond weithio, Two of the campuses, U, L, L, L, I, T, if you look at two, three and four have commonality. Those three are not here. In MerriMechlo College we're really concerned about our digital identity but we're not really worried about creating programs online and so on. And maybe because we've been putting a huge amount of effort over the last number of years into say, the VLE training, et cetera. So it's just interesting that it brought to the fore a relief i fi'n cael ei wneud yn dweud o'r dynnu. Fe, wrth gwrs, mae'n ddod o ddwych nhw'n gynnig o'r campus. Dyma yn ymgolol ydw i'r ddwych gyntaf o'r mhreithio a'r ddod o'r ddweud o'r ddod o'r ddod. parties and student road shows, and in some cases, combined. Then we had the third list campus there as well. Within those road shows, what was on offer would match the top skills that were required. Equally, people identified the skills that they could share. Felly,'r ffordd yw'r cwmwyaf yw'r cyfrifwyr yn ymdill, yn ysgrifoedd, ysgrifawr, ysgrifawr, ysgrifawr, y staf ar gyfer ddeutydd. Felly, dwi'n gwneud yn ymdill o'r adroddau, ystaf, ac yn ysgrifawr. Mae Ffond ymdill yn ei wneud, yn gyfer bod y dyfodol'r bwysig effeithio, ac mae'n ddysgu'n ysgrifawr yn gyntaf am ysgrifawr. Roedd ymdill yn cael ei gweithio? We had General calls in MaryEye. We had a part, make a general call. You can try and pitch for all of it. You can try and pitch for a small amount. It also brought out people who wanted to do things that didn't require money but they took the opportunity to ask for help and that created a nice connection for our one-to-one CPD sessions. UL took a grant approach where they had only 1,000 Euro grants and they got 15 projects out of it. Mae'n golygu, a'i aelwyr i gymryd y Gymryd Lleif Simon i ni i ddweud occupation ein llefyn i fynd i ddweud. I alwod yn eich colli'r llefyn nawr. Be gydag y gallai gweld ar gyfer yng Nghymru ac ymddech chi'n dweud, yn gyfnod ei ddechrau'r hunain. Ni'n ddweud chi'n gweithio gyda 1000 yma o'r rhaginiadau? Mae gynhyrch yn gyfnod eich hunain. Onh sy'n gyda'r hunain sy'n gyfnod ei ddechrau'r hunain o golffon o'r 1200 eurol hwnnw, sy'n digwydd. gweld. Mae cyfrifio'r ffordd. Felly dwi'n mynd i, yn gwelio'r gweithio'r ffordd. Mae'r gweithio i Alistair Davies y Cynllun y gallan o'r unigol. Mae'n cyfrifio'r gweithio'r unigol ac yn fawr i'r gwirio i'r ddweud o'n ein holl ar y gweithio'r unigol. Mae'n cyfrifio'r gweithio'r gweithio, mae'n gyfrifio'r gweithio, I think five OERs created by the students and we had a 10 day showcasing window on Facebook and YouTube. In that 10 day window we had nearly four and a half thousand engagements on social media via the student union platform. So we just were so happy with that response and the whole design branding was also central to the t-shirts. The take one step sign, which is down there somewhere, we go nowhere without the take one step, see connection with all the board, keep there our baby and our pull-ups and later on you'll see our cake, take one step, cake. Social media again was a core part of the campaign and we have 300 followers now on Twitter, take one step, it's easy to find. We had 105,000 impressions on Twitter in a 90 day period, Michelle. And we also have stats on our engagement factor, which Michelle made, come back to later. So we were really happy with that. Twitter seemed to be our most successful one actually. Again, the students were core to us. We had a student ambassador structure we could build on through, say, the library ambassadors and also our work with all the board. But they were crucial also to say adjudicating the innovation fund. So say student union from one institution would go to the other institution to adjudicate etc. So and also they were very central to I guess having peer to peer promotion and engagement. There's a little still of one of the road shows, one of the UL road shows there. You can see how to flip a classroom is there, how to do blended online courses, how to measure impact factor in research. Now interestingly, that's not on the all board. So we pointed that back, pointed that out to all board. You know, measuring impact is something you need to get up there because institutionally that's important for us. So we were able to build in the webinar and that was shared out nationally etc. So that's just a little taster of what it looked like and we had 15 skills presented over the road shows in terms of attendance across the two in UL, the one in Mary I and the two campuses in LIT. Got a little view of the cake there and the sign. We've created coming out of the road shows then we have 30 OERs which are up on the website. I'll hopefully get a chance to show you those later and then out of the innovation funds we'll have case studies and OERs there ongoing still and nine OERs from from the students, you know, and they're really nice. One of them will be using student student orientation around student identity, local and national impact. Then when I say at a practical level, we've got really useful standard operating procedures for how to do this. That will sustain. We have a knowledge bank and we have a clear plan for CPD, but it will change. That's the nice thing that when you look at this and use it in five years time, you can you will you should see a change because if they're still looking for the same CPD, it's telling you something. We've got nice case studies of innovation, which everyone knows like the most inspiring things to see what your colleagues have done and how it's worked. We think we've established a strong and sustainable brand through the T1 step. We have our OERs created, curated and disseminated. We have a direct mailing mailing out to those who signed up all the time. You know how you get an entry skill, here's a new OER, et cetera. And of course, the building of our community of practice. Now we're almost done with evaluation. We're using a Stuttlebeam's model and Deirdre.  A few slides just tasters in terms of feedback. So I suppose for those of you who are here in November, you will know that we were using Stuttlebeam as a framework, I suppose, really, or backbone to the project design. So in terms of evaluation right from the beginning, we knew that we were going to be looking at, I suppose, the CIPP model in terms of content, input, process and product. Now Ann has already talked about our baseline analysis in terms of how many signed up, how many OERs we've created, what we did on our roadshow days. One of the really strong things that came out of it is in the input in terms of our standard operating procedures. We really focused on trying to write those up, to really document what we did in each of the institutions. We really feel that we have created a sustainable branch. We're ready to go again. I think T1Step has kind of hit that level really within our own consortium, but also it's trickling out there into the world as well. Then in terms of process, that idea that Ann said about our differentiated approach, we could do that with our roadshows. We had our innovation. Communication is an animal of itself that we are learning so much about. And I think you spoke to that back in November in terms of how do you engage people. And then in terms of product, our OERs. So we have our OERs up on the website. We haven't got a chance to show you those, but we let our staff know across the consortium that they're out there. And so those who couldn't attend actually are engaging with those now. Impact on teaching and learning, I have to say, that is a picture that's just emerging. We can't say that we know exactly, but we do know from conversations we're having from stuff that were being asked to CPD were being asked for that it has caused a ripple and an impact out there. So really I'm not going to focus on the quantitative data, because quantitative data, at this point, it's really qualitative that we want. So we did run a survey, but we also ran about five or six focus groups with staff, with students, with those who contributed, those who didn't attend anything, so that we got a kind of a feeling on that. So we did get very, from the survey, yes, very satisfied with it. But really I'm interested in the focus groups, which tells us that they were very positive, keep going. They would like to see it rolled out every year. And one of the things I particularly like is that it was nice to have staff and students together. I got to sit beside a student, I got to hear what they had to say about something, or think about something. So that was really important about our Rochial days. So very quickly on to the team. This is the team. We had 16 meetings in that space of time. And we come from different backgrounds as well. We have a library, we have ed tech, we have TNL, so we have ICT. We have got this large group of people together. So it was quite a good group, a vibrant group, and we would hope that the steps will continue. There is the cake. There is Ann, who loves that sign. I think she takes it home with her of an evening. So that's basically where we're at. Thank you.


Ethology. Ethology is the scientific and objective study of animal behavior, usually with a focus on behavior under natural conditions, and viewing behavior as an evolutionarily adaptive trait. Behaviorism is a term that also describes the scientific and objective study of animal behavior, usually referring to measured responses to stimuli or trained behavioral responses in a laboratory context, without a particular emphasis on evolutionary adaptivity. Many naturalists have studied aspects of animal behavior throughout history. Ethology has its scientific roots in the work of Charles Darwin and of American and German ornithologists of the late 19th and early 20th century, including Charles O. Whitman, Oscar Heinrichs, and Willis Craig. The modern discipline of ethology is generally considered to have begun during the 1930s with the work of Dutch biologist Nicolaud Timbergen and by Austrian biologists Conrad Lorenz and Carl von Frisch, joint awardees of the 1973 Nobel Prize in Physiology or Medicine. Ethology is a combination of laboratory and field science, with a strong relation to some other disciplines such as neuroanatomy, ecology, and evolutionary biology. Ethologists are typically interested in a behavioral process rather than in a particular animal group for, and often study one type of behavior, such as aggression, in a number of unrelated animals. Ethology is a rapidly growing field. Since the dawn of the 21st century, many aspects of animal communication, emotions, culture, learning and sexuality that the scientific community long thought it understood have been reexamined, and new conclusions reached. New fields, such as neurophology, have developed. Understanding ethology or animal behavior can be important in animal training. Considering the natural behaviors of different species or breeds enables the trainer to select the individual's best suited to perform the required task. It also enables the trainer to encourage the performance of naturally occurring behaviors and also the discontinuance of undesirable behaviors.


What's up everybody on the mangoos, you were awesome and today we're going to go over some good to know information about predecessor. Buffs, spawn timers, movement penalties, crests and items, just basic game mechanics that you should probably be aware of before you play. I'll link the outline of information for this video in the description below if you want a quick reference guide. Autobuy is automatically turned on when you first play and follows the recommended build order which isn't that bad. If you don't want autobuy on, you just uncheck the box in the lower left corner of your shop. Everyone starts with a ward. The ward cooldown is indicated above your crest. The ward does not take up an item slot and the standard ward can be replaced with a century ward that can see other wards. Wards cover a comparatively small area in predecessor, so place them wisely. Unless you pick jungle, you start out with an Omnipot, a potion that regens both health and mana. You cannot buy a different starter potion. Your potion and its cooldown are to the left of your crest and the potion refills when you enter the fountain. The jungle smite item called Hunt will automatically appear in your loadout instead of a potion if you have chosen the jungle roll. You cannot get Hunt any other way. Pretty much everyone can swap rolls after they have locked in, except for the jungler.  You can pick whatever crest you want at the start of the game no matter what lane you've chosen. You can also view the crest's possible evolutions. The crests evolve by satisfying a variety of conditions based on what crest you have chosen and the evolved crest has an extra active ability. For example, the warrior crest gives you health regen when you damage a hero, minion, or monster. After you have regened 400 health, the crest evolves into a better version of itself, then evolves a third time at which point you pick one of three active crests associated with that starter crest. These actives vary depending on what crest you have chosen. For example, evolving the mage crest gives you the option to take stasis, while evolving the guardian crest gives you the option to dash forward and pull enemies towards you. All heroes and predecessor have a passive ability and the cooldown and or stacks for your passive are indicated to the left of your ability bar. All heroes and predecessor have a flash and the cooldown for that is located to the right of your ability bar. The red and blue jungle buffs spawn at 1 minute and 25 seconds. The red buff gives you damage over time and a slow one hit with basic attacks. This also applies to basic attack cleave damage. The blue buff gives you mana regen, ability haste, and extra ability dmage to minions and monsters. Lane minions also crash at a minute 25, so assisting your jungle with their buffs that's commonly known as leashing is discouraged in predecessor, you don't want to do that. The jungle isn't that hard and you'll lose out on a ton of gold and experience if you leash for your jungler. Just let them do it themselves. River buffs spawn at 3 minutes. This includes both the mid lane bug buffs and the side lane chunker buffs. Gold buff spawns through the side of duo lane and awards just a chunk of gold. You don't get increased gold gain or anything, it's just a bunch of gold you get from killing the buff one time. Green buff spawns through the side of solo lane and gives a little bit of gold, experience, and health regen. The mid lane little bug buffs spawn in 4 different colors randomly. All of the mid lane river buffs give mana regen.  Fang tooth spawns at 5 minutes into the game and is indicated on the map by an orange dot. The Fang tooth buff changes for the first 3 that you take and all Fang tooth buffs stack. Stacks are team dependent and not tied to Fang tooth, so if the enemy team takes Fang tooth twice and then you take it the third time it spawns, you'll get the first iteration of the buff instead of the third. Stack 1 gives you increased river buff duration, stack 2 gives out of combat movement speed, stack 3 gives 6% increased stats, stack 4 gives 12% increased stats, and it keeps going up by 6% each time you take it after that. Getting the fourth stack of the Fang tooth buff provides more benefit to your team than taking the prime guardian, so if you have to make the choice between the two, take that fourth Fang tooth. Mini prime spawns at 7 minutes into the game and is indicated by a purple dot on your map. The power of the mini prime is only given to whoever last hits it, not your entire team. Mini prime gives increased armor and damage. This is usually just given to the offlaner to assist them with pushing down their tower.  If you time it well, you can actually have one person that has both the major and mini prime buffs at the same time. Inhibitors do respawn in predecessor.  It only inhibits the spawn of enemy super minions in that lane. There currently is no indicator for when the inhib will respawn, which is un-fucking-fortunate. Now here's some miscellaneous info you might want to know. There are no diminishing returns on stuns. If you get hit by a stasis bomb and rampage hits you with a rock, as soon as the stasis bomb stun is over, you will still suffer the full duration of the rampage stun. I know this probably just confused a lot of people, but if you've ever played a rogue in World of Warcraft, you know all about diminishing returns. There is no backpedal penalty in the game. You can s-key away from an enemy team while looking at them, just as fast as if you just turned and ran with the W key. There is a movement penalty, of course, for strafing, and of course, there is a movement penalty when attacking. You can adjust your cast settings from normal to instant, however this is a global setting that will apply to every hero. If you want the cast settings to differ between heroes, you need to reset them at the start of the match every time. It's a bit of a pain in the butt, but that's the way it was for overprime. That's the way it is for Pred. I think Fault was about the only one I know of that had individual hero cast settings. Fault and Heroes of the Storm, oddly enough. You can adjust the position of your health bar and you can apply that position to either melee or ranged. For example, I don't like having my health bar over my head when playing melee, so I have it offset to the side for all melee heroes. You can also just get rid of it completely if you don't want your health bar on your screen whatsoever, you know, other than as part of your lower UI. You can just get rid of that thing if you really want to. You can also change the names so that it displays either the hero names. Like I would say, like if Viking Jedi is on the enemy team on Drongo, I can have it say Drongo or I can have it say Viking Jedi. You can you can change that around. UI is a little more customizable than I thought it was going to be. Anyway, I hope this video gives you guys a little bit of insight and helps you guys out. Unfortunately, I don't have like hero stats scaling or anything like that. I don't know what your max haste is going to be. I don't know any of that stuff. I'm very sorry that I can't explain any of that to you. I'm sure we'll find out together as the game goes along. But that's that's all I got for you guys for now. Like the video if you enjoyed it sub for more third person Mova content. But for now, this is the man who's signing off you guys. Have a good one. Man goes shout out to channel members. Joshua Vandacht is J. Man jelly knees, passion guard, Malco Hassan, a Nico F six, actual Des Dapper Dice, Lionheart official, Blastoise King, Meowmix for men, Serge Ben, Covetous Lemon, bearded Wolverine, pizza face, Pusey, Eldreco King, Oda, Soul Reaper, Levy, version two, Clorox TV, I Bloodhunter and Raven.