예제 #1
0
 public override void _Ready()
 {
     SetupStructure();
     testholder = new StatHolder();
     testholder.AddStat(StatLoader.GetStatType("Health"));
     testholder.AddStat(StatLoader.GetStatType("Energy"));
     Test();
 }
예제 #2
0
 private void InitializeStats(StatsDictionary stats)
 {
     foreach (var statSet in stats)
     {
         var  statType = statSet.Key;
         var  statDef  = statSet.Value;
         Stat stat;
         stat = statDef.Regenerative ? new RegenerativeStat(statDef.Amount, statDef.RegenerativeForce) : new Stat(statDef.Amount);
         StatHolder.AddStat(statType, stat);
     }
 }
예제 #3
0
        public Ship(IMove moveImplementation, IRotation rotationImplementation, IShoot shootImplementation,
                    Transform transform, ITransformRegistry transformRegistry, Stat health,
                    ShipMarkUp shipGameObjectMarkUp)
        {
            _moveImplementation     = moveImplementation;
            _rotationImplementation = rotationImplementation;
            shooter = shootImplementation;

            GameTransform         = transform;
            TransformRegistryBind = transformRegistry;
            TransformRegistryBind.RegisterTransform(this, GameTransform);

            StatHolder = new StatHolder();
            healthStat = health;
            healthStat.CurrentChanged += ProcessHealthChange;
            StatHolder.AddStat(StatType.Health, healthStat);

            colliderListener = shipGameObjectMarkUp.ColliderListener;
            colliderListener.EnterCollider += ProcessCollisions;
        }