Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 14 Next capture
2021 2022 2023
2 captures
13 Jun 22 - 14 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by DRRosen3 · Dec 20, 2014 at 08:48 AM · listcontainsystem.collections.generic

Problem Checking A List

Well...it seems I'm re-approaching this problem. What I'm experiencing is...uhm...I guess you could say when I "despawn" a monster (the player has killed it), and "respawn" it...it adds all the moves to the list all over again. For example:

Monster A has 2 moves in his list: Scratch & Growl... Monster A dies... Monster A respawns... Monster A now has 4 moves in his list: Scratch & Growl...AND...Scratch & Growl...

Here's my code:

 using UnityEngine;
 using System.Collections;
 using System.Collections.Generic;
  
 public class MonsterMoves : MonoBehaviour {
  
     public List<BaseMove> moves;
     public int level;
     public Scratch scratch = new Scratch();
     public Growl growl = new Growl();
     public FireBall fireball = new FireBall();
     public PowerUp powerup = new PowerUp();
  
     void Start(){
         moves = gameObject.GetComponent<Monster>().monstersMoves;
         level = gameObject.GetComponent<Monster>().level;
     }
  
     void Update(){
         level = gameObject.GetComponent<Monster>().level;
         SetupMoves(level);
     }
  
     private void SetupMoves(int level){
         if(level >= 1 && !moves.Contains(scratch)){
             moves.Add(scratch);
         }
         if(level >= 1 && !moves.Contains(growl)){
             moves.Add(growl);
         }
         if(level >= 7 && !moves.Contains(fireball)){
             moves.Add(fireball);
         }
         if(level >= 10 && !moves.Contains(powerup)){
             moves.Add(powerup);
         }


Any ideas on what I'm over-looking?

SO I'VE MADE SOME CHANGES. Now I call the function whenever the monster is first created, and if/when it levels up. Here's the new script for the MonsterMoves...

 using UnityEngine;
 using System.Collections;
 using System.Collections.Generic;
 
 [System.Serializable]
 public class Moves : MonoBehaviour {
 
 public List<Move> moves;
 public List<Move> movesToLearn = new List<Move>();
 
 void Start(){
     moves = gameObject.GetComponent<Monster>().monstersMoves;
 }
 
 public void AddMoves(int level, List<Move> moves){
     foreach(Move move in movesToLearn){
         if(level >= move.levelLearned){
             if(!moves.Contains(move)){
                 moves.Add(move);
             }
         }
     }
 }
 }

I call this function in the script that handles all of the properties of the monster. If the list of Moves already has the move in it, I don't want to add it again. However, it's still not working properly. It's STILL adding the move to the list, even if it's already in there.

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

2 People are following this question.

avatar image avatar image

Related Questions

A node in a childnode? 1 Answer

NullReference when updating a List 4 Answers

bool[] to bool list 1 Answer

List<> Other elements problems 1 Answer

Removing Missing Objects From A List 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges