Esempio n. 1
0
    private void InitProjectile(int id, IPlayerPawn source, IMapProjectileLogic logic, MapProjectileCallback cb)
    {
        Class = ProjectileClassLoader.GetProjectileClassById(id);
        if (Class == null)
        {
            Debug.LogFormat("Invalid projectile created (id={0})", id);
            return;
        }

        Source = source;
        Logic  = logic;
        if (Logic != null)
        {
            Logic.SetProjectile(this);
        }
        Callback = cb;

        Width        = 1;
        Height       = 1;
        Alpha        = 1f;
        Color        = new Color(1, 1, 1, 1);
        ZOffset      = 128;
        Scale        = 1;
        DoUpdateView = true;
    }
Esempio n. 2
0
    private void InitProjectile(int id, IPlayerPawn source, IMapProjectileLogic logic, MapProjectileCallback cb)
    {
        ClassID = (AllodsProjectile)id;
        Class   = ProjectileClassLoader.GetProjectileClassById(id);
        if (Class == null)
        {
            // make sure that at least ID is valid
            if (!Enum.IsDefined(typeof(AllodsProjectile), id))
            {
                // otherwise spam log
                Debug.LogFormat("Invalid projectile created (id={0})", id);
                return;
            }
        }

        Source = source;
        Logic  = logic;
        if (Logic != null)
        {
            Logic.SetProjectile(this);
        }
        Callback = cb;

        Width        = 1;
        Height       = 1;
        Alpha        = 1f;
        Color        = new Color(1, 1, 1, 1);
        ZOffset      = 128;
        Scale        = 1;
        DoUpdateView = true;
    }
Esempio n. 3
0
 public override void Update()
 {
     if (Logic != null)
     {
         if (!Logic.Update())
         {
             if (Callback != null)
             {
                 Callback(this);
             }
             else
             {
                 Dispose();
                 return;
             }
             Logic = null; // logic done
         }
     }
 }
Esempio n. 4
0
 public MapProjectile(int id, IPlayerPawn source = null, IMapProjectileLogic logic = null, MapProjectileCallback cb = null)
 {
     InitProjectile(id, source, logic, cb);
 }
Esempio n. 5
0
 public MapProjectile(AllodsProjectile proj, IPlayerPawn source = null, IMapProjectileLogic logic = null, MapProjectileCallback cb = null)
 {
     InitProjectile((int)proj, source, logic, cb);
 }