Exemplo n.º 1
0
 protected override void ProcessTriggerExitWithTrashObject(TrashObject trashObject)
 {
     if (trashObject is TrashItem)
     {
         RemovePickupItem(trashObject as TrashItem);
     }
 }
Exemplo n.º 2
0
        private static TrashObject add(TrashObject one, TrashObject two)
        {
            var oneVal = one.Access();
            var twoVal = two.Access();

            return(new TrashObject((int)oneVal + (int)twoVal));
        }
Exemplo n.º 3
0
        /*
         * returns 1  if one is greater than two (greater meaning earlier in the alphabet, so a > b)
         * returns 0  if equal
         * returns -1 if one is lesser than two
         */
        private static int Compare(TrashObject on, TrashObject tw)
        {
            var one = (string)on.Access();
            var two = (string)tw.Access();

            if (one.Length < two.Length)
            {
                return(-1);
            }
            else if (one.Length > two.Length)
            {
                return(1);
            }

            for (var i = 0; i < one.Length; ++i)
            {
                if (one[i] < two[i])
                {
                    return(1);
                }

                if (one[i] > two[i])
                {
                    return(-1);
                }
            }

            return(0);
        }
Exemplo n.º 4
0
    public TrashEnemy[] CanSwingTyreIron()
    {
        //Check in front of you

        Vector2 vDirection = GetDirectionVector();

        Vector2 root = (Vector2)CachedTransform.position + Vector2.up;

        f = root - vDirection * enemyCheckDistance;;
        t = root + vDirection * enemyCheckDistance;

        RaycastHit2D[] rayCast = Physics2D.CircleCastAll(bind_TyreIronArmLookAt.position, enemyCheckDistance, Vector2.zero);

        //RaycastHit2D[] rayCast = Physics2D.RaycastAll (root, vDirection,enemyCheckDistance * 2f,enemyLayer.value);

        List <TrashEnemy> allEnemies = new List <TrashEnemy> ();

        for (int i = 0; i < rayCast.Length; i++)
        {
            TrashObject o = GetTrashObjectFromCollider(rayCast[i].collider);

            if (o is TrashEnemy)
            {
                allEnemies.Add(o as TrashEnemy);
            }
        }

        if (allEnemies.Count == 0)
        {
            return(null);
        }

        return(allEnemies.ToArray());
    }
Exemplo n.º 5
0
 public static void NewTrash_Postfix(int __result, TrashObject trashObj, TrashData trashData)
 {
     //Notify other that trash was created
     if (SimulatedWorld.Initialized && !TrashManager.NewTrashFromOtherPlayers)
     {
         LocalPlayer.SendPacket(new TrashSystemNewTrashCreatedPacket(__result, trashObj, trashData, LocalPlayer.PlayerId, GameMain.mainPlayer.planetId));
     }
 }
Exemplo n.º 6
0
 public void AddTrashObject(TrashObject trashObject)
 {
     if (!IsFull() && !isStun)
     {
         trashObject.pickedUpAlready = true;
         trashInfoList.Add(new TrashInfo(trashObject.trashInfo));
         trashObject.CustomDestroy();
     }
 }
Exemplo n.º 7
0
 public static void NewTrash_Postfix(int __result, TrashObject trashObj, TrashData trashData)
 {
     //Notify other that trash was created
     if (Multiplayer.IsActive && !Multiplayer.Session.Trashes.NewTrashFromOtherPlayers)
     {
         //Refresh trash to assign local planet Id and local position
         GameMain.data.trashSystem.Gravity(ref trashData, GameMain.data.galaxy.astroPoses, 0, 0, 0, (GameMain.data.localPlanet != null) ? GameMain.data.localPlanet.id : 0, (GameMain.data.localPlanet != null) ? GameMain.data.localPlanet.data : null);
         Multiplayer.Session.Network.SendPacket(new TrashSystemNewTrashCreatedPacket(__result, trashObj, trashData, Multiplayer.Session.LocalPlayer.Id, GameMain.mainPlayer.planetId));
     }
 }
 public TrashObject GetTrashObject()
 {
     using (BinaryUtils.Reader reader = new BinaryUtils.Reader(TrashObjectByte))
     {
         TrashObject result = new TrashObject();
         result.Import(reader.BinaryReader);
         result.count = Count;
         return(result);
     }
 }
Exemplo n.º 9
0
 public static void NewTrash_Postfix(int __result, TrashObject trashObj, TrashData trashData)
 {
     //Notify other that trash was created
     if (SimulatedWorld.Initialized && !TrashManager.NewTrashFromOtherPlayers)
     {
         //Refresh trash to assign local planet Id and local position
         GameMain.data.trashSystem.Gravity(ref trashData, GameMain.data.galaxy.astroPoses, 0, 0, 0, (GameMain.data.localPlanet != null) ? GameMain.data.localPlanet.id : 0, (GameMain.data.localPlanet != null) ? GameMain.data.localPlanet.data : null);
         LocalPlayer.SendPacket(new TrashSystemNewTrashCreatedPacket(__result, trashObj, trashData, LocalPlayer.PlayerId, GameMain.mainPlayer.planetId));
     }
 }
    public void UnlockZoom(TrashObject trashItem)
    {
        if (lockingID == trashItem.GetInstanceID())
        {
            lockingID      = NONE;
            lockZoomTarget = null;
        }

        FocusOnPlayer();
    }
    void OnTriggerEnter2D(Collider2D collider)
    {
        HandleTriggerEnter2D(collider);

        TrashObject trashObject = GetTrashObjectFromCollider(collider);

        if (trashObject != null)
        {
            HandleTriggerEnterWithTrashObject(trashObject);
        }
    }
Exemplo n.º 12
0
 public void Define(Lexer.Token name, TrashObject value)
 {
     if (!_values.ContainsKey(name.Literal))
     {
         _values.Add(name.Literal, value);
     }
     else
     {
         _values[name.Literal] = value;
     }
 }
        public TrashObject GetTrashObject()
        {
            TrashObject result = new TrashObject();

            result.rPos   = RPos.ToVector3();
            result.rRot   = RRot.ToQuaternion();
            result.item   = Item;
            result.count  = Count;
            result.expire = Expire;
            return(result);
        }
Exemplo n.º 14
0
        public static void SwitchTrashWithIds(int itemId1, int itemId2)
        {
            TrashContainer container = GameMain.data.trashSystem.container;
            TrashObject    to        = container.trashObjPool[itemId1];
            TrashData      td        = container.trashDataPool[itemId1];

            container.trashObjPool[itemId1]  = container.trashObjPool[itemId2];
            container.trashDataPool[itemId1] = container.trashDataPool[itemId2];
            container.trashObjPool[itemId2]  = to;
            container.trashDataPool[itemId2] = td;
        }
Exemplo n.º 15
0
        public TrashObject GetTrashObject()
        {
            TrashObject result = new TrashObject();

            result.rPos   = RPos.ToUnity();
            result.rRot   = RRot.ToUnity();
            result.item   = Item;
            result.count  = Count;
            result.expire = Expire;
            return(result);
        }
Exemplo n.º 16
0
    public override void HandleCollisionEnterWithTrashObject(TrashObject trashObject)
    {
        if (trashObject is TrashEnemy)
        {
            TrashEnemy enemy = trashObject as TrashEnemy;

            enemy.HandleHitByItem(this);

            CachedRigidbody2D.velocity *= -0.5f;
        }
    }
    void OnCollisionEnter2D(Collision2D collision)
    {
        HandleCollisionEnter(collision);

        TrashObject trashObject = GetTrashObjectFromCollider(collision.collider);

        if (trashObject != null)
        {
            HandleCollisionEnterWithTrashObject(trashObject);
        }
    }
    public void SetCameraTargetZoom(float n, TrashObject requestor)
    {
        if (lockingID != NONE)
        {
            if (lockingID != requestor.GetInstanceID())
            {
                return;
            }
        }

        targetZoom = n;
    }
Exemplo n.º 19
0
    public override void HandleTriggerEnterWithTrashObject(TrashObject trashObject)
    {
        if (!isBoundToHuman)
        {
            if (trashObject is TrashPlayer)
            {
                TrashPlayer player = trashObject as TrashPlayer;

                player.SetPickupItem(this);
            }
        }
    }
Exemplo n.º 20
0
    public override void HandleCollisionEnterWithTrashObject(TrashObject trashObject)
    {
        if (trashObject.CachedTransform.position.y <= CachedTransform.position.y + 1f)
        {
            if (GetState() == HumanState.Jumping)
            {
                EndJump();
            }
        }

        ProcessCollisionEnterWithTrashObject(trashObject);
    }
Exemplo n.º 21
0
    protected override void ProcessTriggerEnterWithTrashObject(TrashObject trashObject)
    {
        if (trashObject is TrashItem)
        {
            TrashItem item = trashObject as TrashItem;

            if (!item.isBoundToHuman)
            {
                SetPickupItem(item);
            }
        }
    }
    void OnTriggerExit2D(Collider2D collider)
    {
        if (CachedCollider2D.bounds.Contains(collider.transform.position))
        {
            return;
        }

        HandleTriggerExit2D(collider);

        TrashObject trashObject = GetTrashObjectFromCollider(collider);

        if (trashObject != null)
        {
            HandleTriggerExitWithTrashObject(trashObject);
        }
    }
 public TrashSystemNewTrashCreatedPacket(int trashId, TrashObject trashObj, TrashData trashData, ushort playerId, int localPlanetId)
 {
     TrashId = trashId;
     using (BinaryUtils.Writer writer = new BinaryUtils.Writer())
     {
         trashObj.Export(writer.BinaryWriter);
         TrashObjectByte = writer.CloseAndGetBytes();
     }
     using (BinaryUtils.Writer writer = new BinaryUtils.Writer())
     {
         trashData.Export(writer.BinaryWriter);
         TrashDataByte = writer.CloseAndGetBytes();
     }
     // Fix overflow in TrashObj.Export() for item.count
     Count         = trashObj.count;
     LocalPlanetId = localPlanetId;
     PlayerId      = playerId;
 }
    protected TrashObject GetTrashObjectFromCollider(Collider2D collider)
    {
        Rigidbody2D rb = collider.attachedRigidbody;

        TrashObject trashObject = null;

        if (rb != null)
        {
            trashObject = rb.GetComponentInChildren <TrashObject> ();
        }

        if (trashObject == null)
        {
            trashObject = collider.gameObject.GetComponentInChildren <TrashObject> ();
        }

        return(trashObject);
    }
Exemplo n.º 25
0
    public override void HandleTriggerEnterWithTrashObject(TrashObject trashObject)
    {
        if (trashObject is TrashItem)
        {
            if (_onTyreIronHitItem != null)
            {
                _onTyreIronHitItem(trashObject as TrashItem);
            }
        }
        else if (trashObject is TrashEnemy)
        {
            TrashEnemy enemy = trashObject as TrashEnemy;

            if (_onTyreIronHitEnemy != null)
            {
                _onTyreIronHitEnemy(enemy);
            }
        }
    }
Exemplo n.º 26
0
    public bool CanMoveInDirection(MovementDirection direction)
    {
        if (!IsGrounded)
        {
            return(false);
        }

        wouldFall = false;

        Vector2 vDirection = GetDirectionVectorFor(direction);

        Vector2 root = (Vector2)CachedTransform.position + Vector2.up + vDirection * 0.5f;

        RaycastHit2D rayCast = Physics2D.Raycast(root, vDirection, checkDistance, canMoveLayer);

        if (rayCast.collider != null)
        {
            TrashObject o = GetTrashObjectFromCollider(rayCast.collider);

            if (o != null)
            {
                return(false);
            }
        }


        Vector2 position = root + vDirection * 0.5f;

        rayCast = Physics2D.Raycast(position, Vector2.up * -1f, checkDistance * 2f);

        if (rayCast.collider == null)
        {
            wouldFall = true;

            return(false);
        }

        return(true);

        //
    }
Exemplo n.º 27
0
 public TrashSystemNewTrashCreatedPacket(int trashId, TrashObject trashObj, TrashData trashData, ushort playerId, int localPlanetId)
 {
     TrashId         = trashId;
     RPos            = new Float3(trashObj.rPos);
     LPos            = new Float3(trashData.lPos);
     LocalPlanetId   = localPlanetId;
     PlayerId        = playerId;
     UPos            = new Double3(trashData.uPos.x, trashData.uPos.y, trashData.uPos.z);
     RRot            = new Float4(trashObj.rRot);
     LRot            = new Float4(trashData.lRot);
     URot            = new Float4(trashData.uRot);
     UVel            = new Double3(trashData.uVel.x, trashData.uVel.y, trashData.uVel.z);
     UAgl            = new Float3(trashData.uAgl);
     Item            = (short)trashObj.item;
     Count           = (byte)trashObj.count;
     Expire          = trashObj.expire;
     LandPlanetId    = trashData.landPlanetId;
     NearPlanetId    = trashData.nearPlanetId;
     NearStarId      = trashData.nearStarId;
     NearStarGravity = trashData.nearStarGravity;
 }
Exemplo n.º 28
0
 public void OnTrashedObject(TrashObject trashObject)
 {
     allTrashObjects.Remove(trashObject);
 }
Exemplo n.º 29
0
 public void AddTrashObject(TrashObject trashObject)
 {
     allTrashObjects.Add(trashObject);
 }
Exemplo n.º 30
0
 private static TrashObject add(TrashObject one, TrashObject two)
 {
     return(new TrashObject((string)one.Access() + (string)two.Access()));
 }