Ejemplo n.º 1
0
        private ModelActorWidget GetOrCreateActor(Type type, List <ModelActorWidget> actorList)
        {
            ModelActorWidget actor = actorList.Find(x => x.IsActualType(type));

            if (actor != null)
            {
                return(actor);
            }
            actor = new ModelActorWidget(type, this);
            actorList.Add(actor);
            return(actor);
        }
Ejemplo n.º 2
0
 private void RepositionActors()
 {
     affectors.Sort();
     handlers.Sort();
     for (int i = 0; i < affectors.Count; i++)
     {
         ModelActorWidget actor = affectors[i];
         actor.TargetPosition = TargetPosition + Vector2.right * -WidgetMarginHor + Vector2.up * ((-(affectors.Count - 1) * .5f + i) * WidgetMarginVert);
     }
     for (int i = 0; i < handlers.Count; i++)
     {
         ModelActorWidget actor = handlers[i];
         actor.TargetPosition = TargetPosition + Vector2.right * WidgetMarginHor + Vector2.up * ((-(handlers.Count - 1) * .5f + i) * WidgetMarginVert);
     }
 }
Ejemplo n.º 3
0
 public void RemoveModelActorWidget(ModelActorWidget actor)
 {
     affectors.Remove(actor);
     handlers.Remove(actor);
     RepositionActors();
 }
Ejemplo n.º 4
0
 private Vector2 GetHandlerLineEnd(ModelActorWidget handler)
 {
     return(handler.Position - Vector2.right * (ModelActorWidget.Width * .5f - lineInTake));
 }
Ejemplo n.º 5
0
 private Vector2 GetAffectorLineStart(ModelActorWidget affector)
 {
     return(affector.Position + Vector2.right * (ModelActorWidget.Width * .5f - lineInTake));
 }