Ejemplo n.º 1
0
    public void MergeFrom(pb::CodedInputStream input)
    {
        uint tag;

        while ((tag = input.ReadTag()) != 0)
        {
            switch (tag)
            {
            default:
                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                break;

            case 8: {
                status_ = (global::ClientBlockGetResponse.Types.Status)input.ReadEnum();
                break;
            }

            case 18: {
                if (block_ == null)
                {
                    block_ = new global::Block();
                }
                input.ReadMessage(block_);
                break;
            }
            }
        }
    }
Ejemplo n.º 2
0
    public override string GetActivationText(global::WorldBase _world, global::BlockValue _blockValue, int _clrIdx, global::Vector3i _blockPos, global::EntityAlive _entityFocusing)
    {
        if (!_world.IsMyLandProtectedBlock(_blockPos, _world.GetGameManager().GetPersistentLocalPlayer(), false))
        {
            return(string.Empty);
        }

        global::Block block     = global::Block.list[_blockValue.type];
        string        blockName = block.GetBlockName();

        return(string.Format(global::Localization.Get("pickupPrompt", string.Empty), global::Localization.Get(blockName, string.Empty)));
    }
Ejemplo n.º 3
0
 public void MergeFrom(ClientBlockGetResponse other)
 {
     if (other == null)
     {
         return;
     }
     if (other.Status != 0)
     {
         Status = other.Status;
     }
     if (other.block_ != null)
     {
         if (block_ == null)
         {
             block_ = new global::Block();
         }
         Block.MergeFrom(other.Block);
     }
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }
Ejemplo n.º 4
0
    public virtual Vector3 GetMoveToLocation(float maxDist)
    {
        Vector3 vector = this.seekPos;

        // vector = this.theEntity.world.FindSupportingBlockPos(vector);
        if (maxDist > 0f)
        {
            Vector3 vector2   = new Vector3(this.theEntity.position.x, this.theEntity.position.y, this.theEntity.position.z);
            Vector3 vector3   = vector - vector2;
            float   magnitude = vector3.magnitude;
            if (magnitude < 3f)
            {
                if (magnitude <= maxDist)
                {
                    float num = vector.y - this.theEntity.position.y;
                    if (num > 1.5f)
                    {
                        return(vector);
                    }
                    return(vector2);
                }
                else
                {
                    vector3 *= maxDist / magnitude;
                    Vector3 vector4 = vector - vector3;
                    vector4.y += 0.51f;
                    global::Vector3i pos = global::World.worldToBlockPos(vector4);
                    int           type   = this.theEntity.world.GetBlock(pos).type;
                    global::Block block  = global::Block.list[type];
                    if (!block.IsPathSolid && Physics.Raycast(vector4, Vector3.down, 1.02f, 1082195968))
                    {
                        return(vector4);
                    }
                }
            }
        }
        return(vector);
    }