public void Register(ActorObject actor) { ActorsListItem listItem = new ActorsListItem(); listItem.initiativeCount = actor.RollInitiative(); listItem.actor = actor; int actorsCount = InsertListItem(listItem); Debug.Log("Registered actorsCount = " + actorsCount); }
//returns the index of a new listItem at the actors list. protected int InsertListItem(ActorsListItem listItem) { LinkedListNode <ActorsListItem> node = actors.First; while (node != null) { int currentInitCount = node.Value.initiativeCount; if (listItem.initiativeCount > currentInitCount) { actors.AddBefore(node, listItem); return(actors.Count); } node = node.Next; } actors.AddLast(listItem); return(actors.Count); }