private string GetId(object item)
        {
            string id = null;

            if (item != null)
            {
                SimDescription simD = item as SimDescription;
                if (simD != null)
                {
                    id = simD.FullName;
                }

                if (id == null)
                {
                    Sim sim = item as Sim;
                    if (sim != null)
                    {
                        id = sim.FullName;
                    }
                }

                if (id == null)
                {
                    Role roleItem = item as Role;
                    if (roleItem != null)
                    {
                        id = GetId(roleItem.SimInRole);
                    }
                }

                if (id == null)
                {
                    IRoleGiver roleItem = item as IRoleGiver;
                    if (roleItem != null && roleItem.CurrentRole != null)
                    {
                        id = GetId(roleItem.CurrentRole.mSim);
                    }
                }

                if (id == null)
                {
                    IInteractionInstance roleItem = item as IInteractionInstance;
                    if (roleItem != null)
                    {
                        id = GetId(roleItem.IInstanceActor);
                    }
                }

                if (id == null)
                {
                    id = item.GetHashCode().ToString();
                }
            }
            else
            {
                id = "null";
            }

            return(id);
        }
示例#2
0
 public bool IsNestedInteractionForCurrentPosture(IInteractionInstance instance)
 {
     return mHudModel.IsNestedInteractionForCurrentPosture(instance);
 }