- Home /
Question by
WhiteKnight · Jan 01, 2012 at 04:33 PM ·
c#instantiateitweenpathexception
How do I "instantiate" a path with iTween?
I'm building a towerdefence where I instantiate lots of npc that follow a same path, but then I get the following error when I instantiate the second npc:
ArgumentException: An element with the same key already exists in the dictionary.
System.Collections.Generic.Dictionary`2[System.String,iTweenPath].Add (System.String key, .iTweenPath value)
iTweenPath.OnEnable () (at Assets/Pixelplacement/iTweenPath/iTweenPath.cs:39)
UnityEngine.Object:Instantiate(Object)
script_01_BeachTutorial:AddEnemy(GameObject, Vector3, String, Single) (at Assets/Scripts/Controls/Levels/script_01_BeachTutorial.cs:70)
script_01_BeachTutorial:Update() (at Assets/Scripts/Controls/Levels/script_01_BeachTutorial.cs:36)
And this is what I'm using to instantiate a new enemy:
void AddEnemy(GameObject EnemyType, Vector3 EnemyPosition, string PathToFollow, float PathTime)
{
GameObject Enemy = (GameObject)Instantiate(EnemyType);
script_EnemyWaypointer Script = Enemy.GetComponent<script_EnemyWaypointer>();
Enemy.transform.position = EnemyPosition;
Script.PathToFollow = PathToFollow;
Script.PathTime = PathTime;
Script.UseTimeAndIgnoreSpeed = true;
Script.WayPointTween();
}
ps: Sorry about the bold, it's just highlight text from code :)
Thanks in advance ^^
Comment
Answer by WhiteKnight · Jan 03, 2012 at 12:16 AM
SOLVED
It is caused by a bug in the iTweenPath.cs code (Thanks to NCarter)
LOCATION:
line 37: CORRECT VERSION
void OnEnable()
{
string lowerPathName = pathName.ToLower();
if (!paths.ContainsKey(lowerPathName))
{
paths.Add(lowerPathName, this);
}
}
But do be careful. If you have two or more paths with the same name active the OnComplete will only be called once.
Your answer
![](https://koobas.hobune.stream/wayback/20220613062551im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Distribute terrain in zones 3 Answers
iTween Path swap 2 Answers
Instantiate prefab at specific path 1 Answer
Multiple Cars not working 1 Answer