private ObjectFacade CreateObject(object[] extraArgs, PlanetoidState initState = PlanetoidState.DefaultState) { var t = new ObjectTunables { InitState = (int)initState, ExtraArgs = extraArgs }; //var obj = ObjectFactory.Create(t); var obj = _pool.Spawn(t); return(obj); }
public PlanetoidModel( ObjectTunables settings, ObjectStateManager stateManager, PlanetoidInstaller.PlanetoidTunables tunables, Rigidbody2D rigidbody, PointEffector2D effector, [Inject(Id = "EffectorCollider")] CircleCollider2D effectorCollider, [Inject(Id = "SpriteCollider")] CircleCollider2D spriteCollider, [Inject(Id = "EffectorSprite")] Transform effectorTransform, PlanetoidFacade facade) : base(settings, stateManager) { Rigidbody = rigidbody; GameObject = rigidbody.gameObject; PointEffector = effector; EffectorCollider = effectorCollider; _tunables = tunables; SpriteCollider = spriteCollider; EffectorSpriteTransform = effectorTransform; Facade = facade; var exp = new CurveTestScript { direction = RandomFromDistribution.Direction_e.Left, skew = 100f }; var scale = exp.GetRandomNumber(1, tunables.RadiusMax); SpriteCollider.transform.localScale = Vector3.one * scale; Rigidbody.mass = Mathf.PI * scale * scale; PointEffector.forceMagnitude = -1 * _tunables.EffectorForceScale * Rigidbody.mass * Rigidbody.mass; EffectorCollider.radius = scale * scale * scale * _tunables.EffectorRadiusScale; EffectorSpriteTransform.localScale = Vector2.one * EffectorCollider.radius * 2; Rigidbody.velocity = Vector2.zero; }
public DerivedObjectTemplateModel(ObjectTunables settings, ObjectStateManager stateManager) : base(settings, stateManager) { }
private void Reset(ObjectTunables settings) { Model.StateManager.Reinitialize(settings); }
protected ObjectModel(ObjectTunables settings, ObjectStateManager stateManager) { Settings = settings; StateManager = stateManager; }
public SystemCenterModel(ObjectTunables settings, ObjectStateManager stateManager, Transform transform) : base(settings, stateManager) { Transform = transform; }