예제 #1
0
    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);
    }
예제 #2
0
    //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);
    }