コード例 #1
0
 public void Insert(MobileServiceTable <SpawnFlag> table, SpawnFlag item)
 {     // Inserts new spawn flag into Azure table
     if (Validate(item))
     {
         table.Insert <SpawnFlag>(item, OnInsertCompleted);
     }
 }
コード例 #2
0
    private void OnInsertCompleted(IRestResponse <SpawnFlag> response)
    {
        if (response.StatusCode == HttpStatusCode.Created)
        {
            Debug.Log("OnInsertItemCompleted: " + response.Data);

            // Tree button or music button?
            if (response.Data.name == "Sheild")
            {
                sheild = response.Data;                 // If inserted successfully, azure will return an ID
            }
            else if (response.Data.name == "Shockwave")
            {
                shock = response.Data;
            }
            else if (response.Data.name == "Purge")
            {
                purge = response.Data;
            }

            // Is this the first insert?
            if (!spawnButton)
            {
                // Instantiate button
//				spawnButton = true;
            }
        }
        else
        {
            Debug.Log("Insert Error Status:" + response.StatusCode + " Uri: " + response.ResponseUri);
        }
    }
コード例 #3
0
 public void UpdateFlag(MobileServiceTable <SpawnFlag> table, SpawnFlag item)
 {
     // Updates item in the table
     if (Validate(item))
     {
         table.Update <SpawnFlag>(item, OnUpdateFlagCompleted);
     }
 }
コード例 #4
0
 public void Delete(MobileServiceTable <SpawnFlag> table, SpawnFlag item)
 {
     // Deletes spawn flag from azure table
     if (Validate(item))
     {
         table.Delete <SpawnFlag>(item.id, OnDeleteCompleted);
     }
 }
コード例 #5
0
ファイル: CreatureSpawner.cs プロジェクト: jizzyjim/16Below
 protected void SetFlag(SpawnFlag flag, bool value)
 {
     if (value)
     {
         m_Flags |= flag;
     }
     else
     {
         m_Flags &= ~flag;
     }
 }
コード例 #6
0
 private void OnLookupCompleted(IRestResponse <SpawnFlag> response)
 {
     Debug.Log("OnLookupItemCompleted: " + response.Content);
     if (response.StatusCode == HttpStatusCode.OK)
     {
         SpawnFlag item = response.Data;
     }
     else
     {
         ResponseError err = JsonReader.Deserialize <ResponseError>(response.Content);
         Debug.Log("Lookup Error Status:" + response.StatusCode + " Code:" + err.code.ToString() + " " + err.error);
     }
 }
コード例 #7
0
    // Checks if flag is valid before sending
    private bool Validate(SpawnFlag flag)
    {
        bool isUsernameValid = true;        //, isScoreValid = true;

        // Validate username
        if (String.IsNullOrEmpty(flag.name))
        {
            isUsernameValid = false;
            Debug.Log("Error, player username required");
        }

        return(isUsernameValid);         // && isScoreValid);
    }
コード例 #8
0
 void Actor_Death(object sender, EventArgs e)
 {
     if (((Actor)sender).className == "slime")
     {
         float            x          = ((Actor)sender).hitBox.Center.X / ((Actor)sender).world.tileSize;
         float            y          = ((Actor)sender).hitBox.Center.Y / ((Actor)sender).world.tileSize;
         List <SpawnFlag> spawns     = new List <SpawnFlag>();
         SpawnFlag        enemySpawn = new SpawnFlag("slimejr", new Point((int)x, (int)y), 2);
         //SpawnFlag enemySpawn2 = new SpawnFlag("slimejr", new Point((int)x, (int)y), 2);
         spawns.Add(enemySpawn);
         //spawns.Add(enemySpawn2);
         spawnActors(spawns);
     }
 }
コード例 #9
0
 void Actor_Death(object sender, EventArgs e)
 {
     if (((Actor)sender).className == "slime")
     {
         float x = ((Actor)sender).hitBox.Center.X / ((Actor)sender).world.tileSize;
         float y = ((Actor)sender).hitBox.Center.Y / ((Actor)sender).world.tileSize;
         List<SpawnFlag> spawns = new List<SpawnFlag>();
         SpawnFlag enemySpawn = new SpawnFlag("slimejr", new Point((int)x, (int)y), 2);
         //SpawnFlag enemySpawn2 = new SpawnFlag("slimejr", new Point((int)x, (int)y), 2);
         spawns.Add(enemySpawn);
         //spawns.Add(enemySpawn2);
         spawnActors(spawns);
     }
 }
コード例 #10
0
ファイル: CreatureSpawner.cs プロジェクト: jizzyjim/16Below
        public CreatureSpawner(string spawnName, int count, int minDelay, int maxDelay, int homeRange, int spawnRange)
            : base(0x1F13)
        {
            Name = String.Intern("CreatureSpawner");

            Visible = false;
            Movable = false;

            m_SpawnType  = ValidateType(spawnName);
            m_Active     = m_SpawnType != null;
            m_Count      = count;
            m_MinDelay   = TimeSpan.FromSeconds(minDelay);
            m_MaxDelay   = TimeSpan.FromSeconds(maxDelay);
            m_HomeRange  = homeRange;
            m_SpawnRange = spawnRange;

            m_Flags = SpawnFlag.ScaledDelay | SpawnFlag.Saturable;             // Add here default flags

            m_Instances = new List <SpawnInstance>();

            Timer.DelayCall(TimeSpan.FromSeconds(0.1), TotalRespawn);
        }
コード例 #11
0
ファイル: CreatureSpawner.cs プロジェクト: jizzyjim/16Below
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 6:
            {
                m_Flags = (SpawnFlag)reader.ReadInt();

                if (Group)
                {
                    TimeSpan delay = reader.ReadDateTime() - DateTime.UtcNow;

                    if (delay.TotalMilliseconds < 0)
                    {
                        delay = TimeSpan.Zero;
                    }

                    m_GroupRespawnTimer = Timer.DelayCall(delay, GroupRespawn);
                }

                goto case 5;
            }

            case 5:
            {
                if (version < 6)
                {
                    Murderer = reader.ReadBool();
                }

                goto case 4;
            }

            case 4:
            {
                if (version < 6)
                {
                    Blessed = reader.ReadBool();
                }

                goto case 3;
            }

            case 3:
            {
                if (version < 6)
                {
                    ScaledDelay = reader.ReadBool();
                    reader.ReadBool();                                     // despawned
                    reader.ReadBool();                                     // player range sensitive
                }

                goto case 2;
            }

            case 2:
            {
                if (version < 6)
                {
                    CantWalk = reader.ReadBool();
                }

                goto case 1;
            }

            case 1:
            {
                m_WayPoint = reader.ReadItem() as WayPoint;

                if (version < 6)
                {
                    Group = reader.ReadBool();
                }

                m_MinDelay   = reader.ReadTimeSpan();
                m_MaxDelay   = reader.ReadTimeSpan();
                m_Count      = reader.ReadInt();                            // old count
                m_Team       = reader.ReadInt();
                m_SpawnRange = reader.ReadInt();
                m_HomeRange  = reader.ReadInt();
                m_Active     = reader.ReadBool();

                m_SpawnType = ValidateType(reader.ReadString());

                int instanceCount = 0;

                if (version >= 3)
                {
                    instanceCount = reader.ReadInt();
                }

                m_Instances = new List <SpawnInstance>();

                for (int i = 0; i < instanceCount; ++i)
                {
                    SpawnInstance instance = new SpawnInstance(reader, this);
                    m_Instances.Add(instance);
                }

                break;
            }
            }
        }
コード例 #12
0
ファイル: CreatureSpawner.cs プロジェクト: Ravenwolfe/xrunuo
 protected bool GetFlag( SpawnFlag flag )
 {
     return ( m_Flags & flag ) != 0;
 }
コード例 #13
0
ファイル: CreatureSpawner.cs プロジェクト: jizzyjim/16Below
 protected bool GetFlag(SpawnFlag flag)
 {
     return((m_Flags & flag) != 0);
 }
コード例 #14
0
    // REST FUNCTIONS

    public void Lookup(MobileServiceTable <SpawnFlag> table, SpawnFlag item)
    {
        table.Lookup <SpawnFlag>(item.id, OnLookupCompleted);
    }
コード例 #15
0
ファイル: CreatureSpawner.cs プロジェクト: Ravenwolfe/xrunuo
 protected void SetFlag( SpawnFlag flag, bool value )
 {
     if ( value )
         m_Flags |= flag;
     else
         m_Flags &= ~flag;
 }
コード例 #16
0
ファイル: CreatureSpawner.cs プロジェクト: Ravenwolfe/xrunuo
        public CreatureSpawner( string spawnName, int count, int minDelay, int maxDelay, int homeRange, int spawnRange )
            : base(0x1F13)
        {
            Name = String.Intern( "CreatureSpawner" );

            Visible = false;
            Movable = false;

            m_SpawnType = ValidateType( spawnName );
            m_Active = m_SpawnType != null;
            m_Count = count;
            m_MinDelay = TimeSpan.FromSeconds( minDelay );
            m_MaxDelay = TimeSpan.FromSeconds( maxDelay );
            m_HomeRange = homeRange;
            m_SpawnRange = spawnRange;

            m_Flags = SpawnFlag.ScaledDelay | SpawnFlag.Saturable; // Add here default flags

            m_Instances = new List<SpawnInstance>();

            Timer.DelayCall( TimeSpan.FromSeconds( 0.1 ), TotalRespawn );
        }
コード例 #17
0
ファイル: CreatureSpawner.cs プロジェクト: Ravenwolfe/xrunuo
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();

            switch ( version )
            {
                case 6:
                    {
                        m_Flags = (SpawnFlag) reader.ReadInt();

                        if ( Group )
                        {
                            TimeSpan delay = reader.ReadDateTime() - DateTime.Now;

                            if ( delay.TotalMilliseconds < 0 )
                                delay = TimeSpan.Zero;

                            m_GroupRespawnTimer = Timer.DelayCall( delay, GroupRespawn );
                        }

                        goto case 5;
                    }
                case 5:
                    {
                        if ( version < 6 )
                            Murderer = reader.ReadBool();

                        goto case 4;
                    }
                case 4:
                    {
                        if ( version < 6 )
                            Blessed = reader.ReadBool();

                        goto case 3;
                    }
                case 3:
                    {
                        if ( version < 6 )
                        {
                            ScaledDelay = reader.ReadBool();
                            reader.ReadBool(); // despawned
                            reader.ReadBool(); // player range sensitive
                        }

                        goto case 2;
                    }
                case 2:
                    {
                        if ( version < 6 )
                            CantWalk = reader.ReadBool();

                        goto case 1;
                    }
                case 1:
                    {
                        m_WayPoint = reader.ReadItem() as WayPoint;

                        if ( version < 6 )
                            Group = reader.ReadBool();

                        m_MinDelay = reader.ReadTimeSpan();
                        m_MaxDelay = reader.ReadTimeSpan();
                        m_Count = reader.ReadInt(); // old count
                        m_Team = reader.ReadInt();
                        m_SpawnRange = reader.ReadInt();
                        m_HomeRange = reader.ReadInt();
                        m_Active = reader.ReadBool();

                        m_SpawnType = ValidateType( reader.ReadString() );

                        int instanceCount = 0;

                        if ( version >= 3 )
                            instanceCount = reader.ReadInt();

                        m_Instances = new List<SpawnInstance>();

                        for ( int i = 0; i < instanceCount; ++i )
                        {
                            SpawnInstance instance = new SpawnInstance( reader, this );
                            m_Instances.Add( instance );
                        }

                        break;
                    }
            }
        }