public void ReLayout() { Vector3 tempTxtPos = orgTextPos; Vector3 tempOptPos = orgOptPos; Vector3 tempRewardPos = orgActionPos; for (int i = 0; i < allWindows.Count; i++) { CmConfig item = allWindows[i]; if (item is TxtConfig) { TxtConfig txtConfig = item as TxtConfig; AddTextWind(ref orgTextPos, txtConfig); } else if (item is OptionConfig) { OptionConfig op = item as OptionConfig; AddOption(ref tempOptPos, op); } else if (item is ActionConfig) { ActionConfig action = item as ActionConfig; AddAction(ref tempRewardPos, action); } else if (item is SpaceConfig) { SpaceConfig space = item as SpaceConfig; orgTextPos.y -= space.LineCount * space.LineHeight; } } }
public LogicController(SpaceConfig spaceConfig) { InitSingleton(this); CurrentConfig = spaceConfig; IPhysicsUpdater physicsUpdater; switch (spaceConfig) { case ParticleLifeConfig c: ParticleController = new ParticleLifeParticleController(spaceConfig); physicsUpdater = new ParticleLifePhysicsUpdater(c); break; case GravityConfig c: ParticleController = new GravityParticleController(spaceConfig); physicsUpdater = new GravityPhysicsUpdater(c); break; default: throw new System.Exception("Unknown config type: " + spaceConfig.GetType().Name); } SpaceController = new SpaceController(spaceConfig); PhysicsController = new PhysicsController(spaceConfig, physicsUpdater); TaskController = new TaskController(spaceConfig.BatchCount); }
internal void AddSpaceLine(int count) { SpaceConfig space = new SpaceConfig(); space.LineCount = count; allWindows.Add(space); }
public Window(SpaceConfig spaceConfig) { this.spaceConfig = spaceConfig; isGravityConfig = spaceConfig is GravityConfig; defaultFont = new Font("arial.ttf"); shapes = new Dictionary <int, CircleShape>(); }
public GravityPhysicsUpdater(SpaceConfig config) { particleDataCache = new Dictionary <int, GravityParticleData>(); }
public Space(SpaceConfig config, List <Particle> particles) { SpaceConfig = config; Particles = particles; }
public GravityParticleController(SpaceConfig spaceConfig) : base(spaceConfig) { this.spaceConfig = spaceConfig; }
public ParticleLifeParticleController(SpaceConfig spaceConfig) : base(spaceConfig) { this.spaceConfig = spaceConfig; }
public SpaceController(SpaceConfig spaceConfig) { this.spaceConfig = spaceConfig; }
public ParticleController(SpaceConfig spaceConfig) { this.spaceConfig = spaceConfig; }
public PhysicsController(SpaceConfig config, IPhysicsUpdater physicsUpdater) { this.physicsUpdater = physicsUpdater; }