Example #1
0
        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)
 {
 }
Example #4
0
 private void Reset(ObjectTunables settings)
 {
     Model.StateManager.Reinitialize(settings);
 }
 protected ObjectModel(ObjectTunables settings, ObjectStateManager stateManager)
 {
     Settings     = settings;
     StateManager = stateManager;
 }
Example #6
0
 public SystemCenterModel(ObjectTunables settings, ObjectStateManager stateManager, Transform transform)
     : base(settings, stateManager)
 {
     Transform = transform;
 }