AddActor() public method

Adds creature as actor.
Officials apparently create copies of the creatures, getting rid of the name (replaced by the actor name), stand styles, etc.
public AddActor ( string name, Creature creature ) : void
name string
creature Aura.Channel.World.Entities.Creature
return void
示例#1
0
        /// <summary>
        /// Creates cutscene and fills actor list as specified in the data.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="creature"></param>
        /// <returns></returns>
        public static Cutscene FromData(string name, Creature creature)
        {
            var result = new Cutscene(name, creature);

            var partyMembers = creature.Party.GetSortedMembers();
            var dummy = new NPC();

            foreach (var actorName in result.Data.Actors)
            {
                Creature actor = null;

                // Retrieve actor
                if (actorName.StartsWith("#"))
                {
                    var actorData = AuraData.ActorDb.Find(actorName);
                    if (actorData == null)
                        Log.Warning("Unknown actor '{0}'.", actorName);
                    else
                        actor = new NPC(actorData);
                }
                else if (actorName == "me")
                {
                    actor = creature;
                }
                else if (actorName == "leader")
                {
                    actor = creature.Party.Leader;
                }
                else if (actorName.StartsWith("player"))
                {
                    int idx;
                    if (!int.TryParse(actorName.Substring("player".Length), out idx))
                        Log.Warning("Cutscene.FromData: Invalid party member actor name '{0}'.", actorName);
                    else if (idx > partyMembers.Length - 1)
                        Log.Warning("Cutscene.FromData: Index out of party member range '{0}/{1}'.", idx, partyMembers.Length);
                    else
                        actor = partyMembers[idx];
                }
                else
                    Log.Warning("Cutscene.FromData: Unknown kind of actor ({0}).", actorName);

                if (actor == null)
                    actor = dummy;

                result.AddActor(actorName, actor);
            }

            return result;
        }
示例#2
0
文件: Cutscene.cs 项目: trueever/aura
        /// <summary>
        /// Creates cutscene and fills actor list as specified in the data.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="creature"></param>
        /// <returns></returns>
        public static Cutscene FromData(string name, Creature creature)
        {
            var result = new Cutscene(name, creature);

            var partyMembers = creature.Party.GetSortedMembers();
            var dummy        = new NPC();

            foreach (var actorName in result.Data.Actors)
            {
                Creature actor = null;

                // Retrieve actor
                if (actorName.StartsWith("#"))
                {
                    var actorData = AuraData.ActorDb.Find(actorName);
                    if (actorData == null)
                    {
                        Log.Warning("Unknown actor '{0}'.", actorName);
                    }
                    else
                    {
                        actor = new NPC(actorData);
                    }
                }
                else if (actorName == "me")
                {
                    actor = creature;
                }
                else if (actorName == "leader")
                {
                    actor = creature.Party.Leader;
                }
                else if (actorName.StartsWith("player"))
                {
                    int idx;
                    if (!int.TryParse(actorName.Substring("player".Length), out idx))
                    {
                        Log.Warning("Cutscene.FromData: Invalid party member actor name '{0}'.", actorName);
                    }
                    else if (idx > partyMembers.Length - 1)
                    {
                        Log.Warning("Cutscene.FromData: Index out of party member range '{0}/{1}'.", idx, partyMembers.Length);
                    }
                    else
                    {
                        actor = partyMembers[idx];
                    }
                }
                else
                {
                    Log.Warning("Cutscene.FromData: Unknown kind of actor ({0}).", actorName);
                }

                if (actor == null)
                {
                    actor = dummy;
                }

                result.AddActor(actorName, actor);
            }

            return(result);
        }